@companion-module/base 0.3.0 → 0.4.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.4.1](https://github.com/bitfocus/companion-module-base/compare/v0.4.0...v0.4.1) (2022-10-01)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * manifest validation failing once webpacked ([afa2970](https://github.com/bitfocus/companion-module-base/commit/afa2970ca99047c7b1648005a70c82f6d3401867))
9
+
10
+ ## [0.4.0](https://github.com/bitfocus/companion-module-base/compare/v0.3.0...v0.4.0) (2022-10-01)
11
+
12
+
13
+ ### Features
14
+
15
+ * encode ipc payloads with ejson, to make transfer less lossey ([fe1d388](https://github.com/bitfocus/companion-module-base/commit/fe1d3884769801fd1dadf5e62960cba0b98a753b))
16
+ * switch to using child-process ipc instead of socket.io for modules ([c38026f](https://github.com/bitfocus/companion-module-base/commit/c38026f40dbd551d90059ce24260e353df359756))
17
+ * switch to using child-process ipc instead of socket.io for modules ([0256d09](https://github.com/bitfocus/companion-module-base/commit/0256d09e1b0870bb1e825442a1be8e31c2a53eb5))
18
+
3
19
  ## [0.3.0](https://github.com/bitfocus/companion-module-base/compare/v0.2.0...v0.3.0) (2022-09-29)
4
20
 
5
21
 
@@ -74,7 +74,7 @@
74
74
  },
75
75
  "api": {
76
76
  "type": "string",
77
- "description": "Which host-api does it use. Must be socket.io"
77
+ "description": "Which host-api does it use. Must be nodejs-ipc"
78
78
  },
79
79
  "apiVersion": {
80
80
  "type": "string",
@@ -1 +1 @@
1
- {"version":3,"file":"entrypoint.d.ts","sourceRoot":"","sources":["../src/entrypoint.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAA;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAInD,OAAO,iBAAiB,CAAA;AAIxB,oBAAY,mBAAmB,CAAC,OAAO,IAAI,KAAK,QAAQ,EAAE,OAAO,KAAK,YAAY,CAAC,OAAO,CAAC,CAAA;AAe3F;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EACpC,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC,EACrC,cAAc,EAAE,4BAA4B,CAAC,OAAO,CAAC,EAAE,GACrD,IAAI,CAmHN"}
1
+ {"version":3,"file":"entrypoint.d.ts","sourceRoot":"","sources":["../src/entrypoint.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAA;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAInD,OAAO,iBAAiB,CAAA;AAKxB,oBAAY,mBAAmB,CAAC,OAAO,IAAI,KAAK,QAAQ,EAAE,OAAO,KAAK,YAAY,CAAC,OAAO,CAAC,CAAA;AAe3F;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EACpC,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC,EACrC,cAAc,EAAE,4BAA4B,CAAC,OAAO,CAAC,EAAE,GACrD,IAAI,CA6HN"}
@@ -2,13 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.runEntrypoint = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const SocketIOClient = tslib_1.__importStar(require("socket.io-client"));
6
- const p_timeout_1 = tslib_1.__importDefault(require("p-timeout"));
7
5
  const versions_js_1 = require("./host-api/versions.js");
8
6
  const promises_1 = tslib_1.__importDefault(require("fs/promises"));
9
7
  const util_js_1 = require("./util.js");
10
8
  const node_1 = require("@sentry/node");
11
9
  require("@sentry/tracing");
10
+ const ipc_wrapper_js_1 = require("./host-api/ipc-wrapper.js");
12
11
  let hasEntrypoint = false;
13
12
  // async function readFileUrl(url: URL): Promise<string> {
14
13
  // // Hack to make json files be loadable after being inlined by webpack
@@ -45,21 +44,20 @@ function runEntrypoint(factory, upgradeScripts) {
45
44
  // check manifest api field against apiVersion
46
45
  const manifestBlob = await promises_1.default.readFile(manifestPath);
47
46
  const manifestJson = JSON.parse(manifestBlob.toString());
48
- if (manifestJson.runtime?.api !== versions_js_1.HostApiSocketIo)
47
+ if (manifestJson.runtime?.api !== versions_js_1.HostApiNodeJsIpc)
49
48
  throw new Error(`Module manifest 'api' mismatch`);
50
49
  if (!manifestJson.runtime.apiVersion)
51
50
  throw new Error(`Module manifest 'apiVersion' missing`);
52
51
  const apiVersion = manifestJson.runtime.apiVersion;
52
+ if (!process.send)
53
+ throw new Error('Module is not being run with ipc');
53
54
  console.log(`Starting up module class: ${factory.name}`);
54
55
  const connectionId = process.env.CONNECTION_ID;
55
56
  if (typeof connectionId !== 'string' || !connectionId)
56
57
  throw new Error('Module initialise is missing CONNECTION_ID');
57
- const socketIoUrl = process.env.SOCKETIO_URL;
58
- if (typeof socketIoUrl !== 'string' || !socketIoUrl)
59
- throw new Error('Module initialise is missing SOCKETIO_URL');
60
- const socketIoToken = process.env.SOCKETIO_TOKEN;
61
- if (typeof socketIoToken !== 'string' || !socketIoToken)
62
- throw new Error('Module initialise is missing SOCKETIO_TOKEN');
58
+ const verificationToken = process.env.VERIFICATION_TOKEN;
59
+ if (typeof verificationToken !== 'string' || !verificationToken)
60
+ throw new Error('Module initialise is missing VERIFICATION_TOKEN');
63
61
  // Allow the DSN to be provided as an env variable
64
62
  const sentryDsn = process.env.SENTRY_DSN;
65
63
  const sentryUserId = process.env.SENTRY_USERID;
@@ -85,42 +83,45 @@ function runEntrypoint(factory, upgradeScripts) {
85
83
  console.log('Sentry disabled');
86
84
  }
87
85
  let module;
88
- const socket = SocketIOClient.io(socketIoUrl, {
89
- reconnection: false,
90
- timeout: 5000,
91
- transports: ['websocket'],
92
- });
93
- socket.on('connect', () => {
94
- console.log(`Connected to module-host: ${socket.id}`);
95
- socket.emit('register', apiVersion, connectionId, socketIoToken, () => {
96
- console.log(`Module-host accepted registration`);
97
- module = new factory((0, util_js_1.literal)({
98
- id: connectionId,
99
- socket,
100
- upgradeScripts,
101
- }));
102
- });
103
- });
104
- socket.on('connect_error', (e) => {
105
- console.log(`connection failed to module-host: ${socket.id}`, e.toString());
106
- process.exit(12);
107
- });
108
- socket.on('disconnect', async () => {
109
- console.log(`Disconnected from module-host: ${socket.id}`);
110
- if (module) {
111
- // Try and de-init the module before killing it
112
- try {
113
- const p = module.destroy();
114
- if (p)
115
- await (0, p_timeout_1.default)(p, 5000);
116
- }
117
- catch (e) {
118
- // Ignore
119
- }
120
- }
86
+ const ipcWrapper = new ipc_wrapper_js_1.IpcWrapper({}, (msg) => {
87
+ process.send(msg);
88
+ }, 5000);
89
+ const receiveCallback = (msg) => {
90
+ ipcWrapper.receivedMessage(msg);
91
+ };
92
+ process.on('message', receiveCallback);
93
+ ipcWrapper
94
+ .sendWithCb('register', { apiVersion, connectionId, verificationToken })
95
+ .then(() => {
96
+ process.off('message', receiveCallback);
97
+ console.log(`Module-host accepted registration`);
98
+ module = new factory((0, util_js_1.literal)({
99
+ id: connectionId,
100
+ upgradeScripts,
101
+ _isInstanceBaseProps: true,
102
+ }));
103
+ }, (err) => {
104
+ console.error('Module registration failed');
121
105
  // Kill the process
122
106
  process.exit(11);
107
+ })
108
+ .finally(() => {
109
+ process.off('message', receiveCallback);
123
110
  });
111
+ // socket.on('disconnect', async () => {
112
+ // console.log(`Disconnected from module-host: ${socket.id}`)
113
+ // if (module) {
114
+ // // Try and de-init the module before killing it
115
+ // try {
116
+ // const p = module.destroy()
117
+ // if (p) await PTimeout(p, 5000)
118
+ // } catch (e) {
119
+ // // Ignore
120
+ // }
121
+ // }
122
+ // // Kill the process
123
+ // process.exit(11)
124
+ // })
124
125
  }
125
126
  catch (e) {
126
127
  console.error(`Failed to startup module:`);
@@ -1 +1 @@
1
- {"version":3,"file":"entrypoint.js","sourceRoot":"","sources":["../src/entrypoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entrypoint.js","sourceRoot":"","sources":["../src/entrypoint.ts"],"names":[],"mappings":";;;;AACA,wDAAyG;AACzG,mEAA4B;AAI5B,uCAAmC;AAEnC,uCAAmD;AACnD,2BAAwB;AACxB,8DAAsD;AAEtD,IAAI,aAAa,GAAG,KAAK,CAAA;AAIzB,0DAA0D;AAC1D,yEAAyE;AACzE,6CAA6C;AAC7C,0CAA0C;AAC1C,yDAAyD;AACzD,oDAAoD;AACpD,KAAK;AAEL,oCAAoC;AACpC,sCAAsC;AACtC,yBAAyB;AACzB,IAAI;AAEJ;;;;;GAKG;AACH,SAAgB,aAAa,CAC5B,OAAqC,EACrC,cAAuD;IAEvD,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;QACjC,IAAI;YACH,6FAA6F;YAC7F,yCAAyC;YACzC,6DAA6D;YAC7D,iFAAiF;YACjF,gHAAgH;YAEhH,qCAAqC;YACrC,IAAI,aAAa;gBAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;YAC3E,aAAa,GAAG,IAAI,CAAA;YAEpB,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAA;YAChD,IAAI,CAAC,YAAY;gBAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;YAElF,8CAA8C;YAC9C,MAAM,YAAY,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;YACpD,MAAM,YAAY,GAA4B,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAA;YAEjF,IAAI,YAAY,CAAC,OAAO,EAAE,GAAG,KAAK,8BAAgB;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;YACrG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU;gBAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;YAC7F,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAA;YAElD,IAAI,CAAC,OAAO,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;YAEtE,OAAO,CAAC,GAAG,CAAC,6BAA6B,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;YAExD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAA;YAC9C,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,CAAC,YAAY;gBACpD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;YAE9D,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAA;YACxD,IAAI,OAAO,iBAAiB,KAAK,QAAQ,IAAI,CAAC,iBAAiB;gBAC9D,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;YAEnE,kDAAkD;YAClD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAA;YACxC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAA;YAC9C,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAA;YACnE,IAAI,SAAS,IAAI,YAAY,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,UAAU,EAAE;gBACzE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;gBAE7B,IAAA,WAAI,EAAC;oBACJ,GAAG,EAAE,SAAS;oBACd,OAAO,EAAE,GAAG,YAAY,CAAC,IAAI,IAAI,YAAY,CAAC,OAAO,EAAE;oBACvD,UAAU,CAAC,KAAK;wBACf,IAAI,KAAK,CAAC,SAAS,EAAE;4BACpB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;yBAC/C;wBACD,OAAO,KAAK,CAAA;oBACb,CAAC;iBACD,CAAC,CAAA;gBAEF,IAAA,qBAAc,EAAC,CAAC,KAAK,EAAE,EAAE;oBACxB,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAA;oBACnC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAA;gBAClD,CAAC,CAAC,CAAA;aACF;iBAAM;gBACN,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;aAC9B;YAED,IAAI,MAAqC,CAAA;YAEzC,MAAM,UAAU,GAAG,IAAI,2BAAU,CAChC,EAAE,EACF,CAAC,GAAG,EAAE,EAAE;gBACP,OAAO,CAAC,IAAK,CAAC,GAAG,CAAC,CAAA;YACnB,CAAC,EACD,IAAI,CACJ,CAAA;YACD,MAAM,eAAe,GAAG,CAAC,GAAQ,EAAE,EAAE;gBACpC,UAAU,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;YAChC,CAAC,CAAA;YACD,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;YAEtC,UAAU;iBACR,UAAU,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC;iBACvE,IAAI,CACJ,GAAG,EAAE;gBACJ,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;gBAEvC,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;gBAEhD,MAAM,GAAG,IAAI,OAAO,CACnB,IAAA,iBAAO,EAA6B;oBACnC,EAAE,EAAE,YAAY;oBAChB,cAAc;oBACd,oBAAoB,EAAE,IAAI;iBAC1B,CAAC,CACF,CAAA;YACF,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;gBACP,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAA;gBAE3C,mBAAmB;gBACnB,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACjB,CAAC,CACD;iBACA,OAAO,CAAC,GAAG,EAAE;gBACb,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;YACxC,CAAC,CAAC,CAAA;YAEH,wCAAwC;YACxC,8DAA8D;YAE9D,iBAAiB;YACjB,oDAAoD;YACpD,UAAU;YACV,gCAAgC;YAChC,oCAAoC;YACpC,kBAAkB;YAClB,eAAe;YACf,MAAM;YACN,KAAK;YAEL,uBAAuB;YACvB,oBAAoB;YACpB,KAAK;SACL;QAAC,OAAO,CAAM,EAAE;YAChB,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAA;YAC1C,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,CAAA;YACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;SACf;IACF,CAAC,CAAC,CAAA;AACH,CAAC;AAhID,sCAgIC"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Signature for the handler functions
3
+ */
4
+ declare type HandlerFunction<T extends (...args: any) => any> = (data: Parameters<T>[0]) => Promise<ReturnType<T>>;
5
+ declare type HandlerFunctionOrNever<T> = T extends (...args: any) => any ? HandlerFunction<T> : never;
6
+ /** Map of handler functions */
7
+ declare type EventHandlers<T extends object> = {
8
+ [K in keyof T]: HandlerFunctionOrNever<T[K]>;
9
+ };
10
+ declare type ParamsIfReturnIsNever<T extends (...args: any[]) => any> = ReturnType<T> extends never ? Parameters<T> : never;
11
+ declare type ParamsIfReturnIsValid<T extends (...args: any[]) => any> = ReturnType<T> extends never ? never : Parameters<T>;
12
+ interface IpcCallMessagePacket {
13
+ direction: 'call';
14
+ name: string;
15
+ payload: string;
16
+ callbackId: string | undefined;
17
+ }
18
+ interface IpcResponseMessagePacket {
19
+ direction: 'response';
20
+ callbackId: string;
21
+ success: boolean;
22
+ payload: string;
23
+ }
24
+ export declare class IpcWrapper<TOutbound extends {
25
+ [key: string]: any;
26
+ }, TInbound extends {
27
+ [key: string]: any;
28
+ }> {
29
+ #private;
30
+ constructor(handlers: EventHandlers<TInbound>, sendMessage: (message: IpcCallMessagePacket | IpcResponseMessagePacket) => void, defaultTimeout: number);
31
+ sendWithCb<T extends keyof TOutbound>(name: T, msg: ParamsIfReturnIsValid<TOutbound[T]>[0], defaultResponse?: () => Error, timeout?: number): Promise<ReturnType<TOutbound[T]>>;
32
+ sendWithNoCb<T extends keyof TOutbound>(name: T, msg: ParamsIfReturnIsNever<TOutbound[T]>[0]): void;
33
+ receivedMessage(msg: IpcCallMessagePacket | IpcResponseMessagePacket): void;
34
+ }
35
+ export {};
36
+ //# sourceMappingURL=ipc-wrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ipc-wrapper.d.ts","sourceRoot":"","sources":["../../src/host-api/ipc-wrapper.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,aAAK,eAAe,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;AAE1G,aAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;AAE7F,+BAA+B;AAC/B,aAAK,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI;KACrC,CAAC,IAAI,MAAM,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC5C,CAAA;AAED,aAAK,qBAAqB,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;AACnH,aAAK,qBAAqB,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;AAEnH,UAAU,oBAAoB;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;CAC9B;AACD,UAAU,wBAAwB;IACjC,SAAS,EAAE,UAAU,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CACf;AAQD,qBAAa,UAAU,CAAC,SAAS,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAAE,QAAQ,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE;;gBAQvG,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC,EACjC,WAAW,EAAE,CAAC,OAAO,EAAE,oBAAoB,GAAG,wBAAwB,KAAK,IAAI,EAC/E,cAAc,EAAE,MAAM;IAOjB,UAAU,CAAC,CAAC,SAAS,MAAM,SAAS,EACzC,IAAI,EAAE,CAAC,EACP,GAAG,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC3C,eAAe,CAAC,EAAE,MAAM,KAAK,EAC7B,OAAO,GAAE,MAAU,GACjB,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IA4BpC,YAAY,CAAC,CAAC,SAAS,MAAM,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IASnG,eAAe,CAAC,GAAG,EAAE,oBAAoB,GAAG,wBAAwB,GAAG,IAAI;CAuE3E"}
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ var _IpcWrapper_handlers, _IpcWrapper_sendMessage, _IpcWrapper_defaultTimeout, _IpcWrapper_pendingCallbacks;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.IpcWrapper = void 0;
5
+ const tslib_1 = require("tslib");
6
+ const nanoid_1 = require("nanoid");
7
+ const util_1 = require("../util");
8
+ const ejson_1 = tslib_1.__importDefault(require("ejson"));
9
+ class IpcWrapper {
10
+ constructor(handlers, sendMessage, defaultTimeout) {
11
+ _IpcWrapper_handlers.set(this, void 0);
12
+ _IpcWrapper_sendMessage.set(this, void 0);
13
+ _IpcWrapper_defaultTimeout.set(this, void 0);
14
+ _IpcWrapper_pendingCallbacks.set(this, {});
15
+ tslib_1.__classPrivateFieldSet(this, _IpcWrapper_handlers, handlers, "f");
16
+ tslib_1.__classPrivateFieldSet(this, _IpcWrapper_sendMessage, sendMessage, "f");
17
+ tslib_1.__classPrivateFieldSet(this, _IpcWrapper_defaultTimeout, defaultTimeout, "f");
18
+ }
19
+ async sendWithCb(name, msg, defaultResponse, timeout = 0) {
20
+ if (timeout <= 0)
21
+ timeout = tslib_1.__classPrivateFieldGet(this, _IpcWrapper_defaultTimeout, "f");
22
+ const callbacks = { timeout: undefined, resolve: () => null, reject: () => null };
23
+ const promise = new Promise((resolve, reject) => {
24
+ callbacks.resolve = resolve;
25
+ callbacks.reject = reject;
26
+ });
27
+ const id = (0, nanoid_1.nanoid)();
28
+ tslib_1.__classPrivateFieldGet(this, _IpcWrapper_pendingCallbacks, "f")[id] = callbacks;
29
+ tslib_1.__classPrivateFieldGet(this, _IpcWrapper_sendMessage, "f").call(this, {
30
+ direction: 'call',
31
+ name: String(name),
32
+ payload: ejson_1.default.stringify(msg),
33
+ callbackId: id,
34
+ });
35
+ // Setup a timeout, creating the error in the call, so that the stack trace is useful
36
+ const timeoutError = new Error('Call timed out');
37
+ callbacks.timeout = setTimeout(() => {
38
+ callbacks.reject(defaultResponse ? defaultResponse() : timeoutError);
39
+ }, timeout);
40
+ return promise;
41
+ }
42
+ sendWithNoCb(name, msg) {
43
+ tslib_1.__classPrivateFieldGet(this, _IpcWrapper_sendMessage, "f").call(this, {
44
+ direction: 'call',
45
+ name: String(name),
46
+ payload: ejson_1.default.stringify(msg),
47
+ callbackId: undefined,
48
+ });
49
+ }
50
+ receivedMessage(msg) {
51
+ const rawMsg = msg;
52
+ switch (msg.direction) {
53
+ case 'call': {
54
+ const handler = tslib_1.__classPrivateFieldGet(this, _IpcWrapper_handlers, "f")[msg.name];
55
+ if (!handler) {
56
+ if (msg.callbackId) {
57
+ tslib_1.__classPrivateFieldGet(this, _IpcWrapper_sendMessage, "f").call(this, {
58
+ direction: 'response',
59
+ callbackId: msg.callbackId,
60
+ success: false,
61
+ payload: ejson_1.default.stringify(new Error(`Unknown command "${msg.name}"`)),
62
+ });
63
+ }
64
+ return;
65
+ }
66
+ // TODO - should anything be logged here?
67
+ const data = ejson_1.default.parse(msg.payload);
68
+ handler(data).then((res) => {
69
+ if (msg.callbackId) {
70
+ tslib_1.__classPrivateFieldGet(this, _IpcWrapper_sendMessage, "f").call(this, {
71
+ direction: 'response',
72
+ callbackId: msg.callbackId,
73
+ success: true,
74
+ payload: ejson_1.default.stringify(res),
75
+ });
76
+ }
77
+ }, (err) => {
78
+ if (msg.callbackId) {
79
+ tslib_1.__classPrivateFieldGet(this, _IpcWrapper_sendMessage, "f").call(this, {
80
+ direction: 'response',
81
+ callbackId: msg.callbackId,
82
+ success: false,
83
+ payload: err,
84
+ });
85
+ }
86
+ });
87
+ break;
88
+ }
89
+ case 'response': {
90
+ if (!msg.callbackId) {
91
+ console.error(`Ipc: Response message has no callbackId`);
92
+ return;
93
+ }
94
+ const callbacks = tslib_1.__classPrivateFieldGet(this, _IpcWrapper_pendingCallbacks, "f")[msg.callbackId];
95
+ if (!callbacks) {
96
+ // Likely timed out, we should ignore
97
+ return;
98
+ }
99
+ clearTimeout(callbacks.timeout);
100
+ if (msg.success) {
101
+ callbacks.resolve(msg.payload);
102
+ }
103
+ else {
104
+ callbacks.reject(msg.payload);
105
+ }
106
+ break;
107
+ }
108
+ default:
109
+ (0, util_1.assertNever)(msg);
110
+ console.error(`Ipc: Message of unknown direction "${rawMsg.direction}"`);
111
+ break;
112
+ }
113
+ }
114
+ }
115
+ exports.IpcWrapper = IpcWrapper;
116
+ _IpcWrapper_handlers = new WeakMap(), _IpcWrapper_sendMessage = new WeakMap(), _IpcWrapper_defaultTimeout = new WeakMap(), _IpcWrapper_pendingCallbacks = new WeakMap();
117
+ //# sourceMappingURL=ipc-wrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ipc-wrapper.js","sourceRoot":"","sources":["../../src/host-api/ipc-wrapper.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,12 @@
1
- export declare const HostApiSocketIo = "socket.io";
1
+ export declare const HostApiNodeJsIpc = "nodejs-ipc";
2
2
  export declare type ResultCallback<T> = (err: any, res: T) => void;
3
3
  export interface ModuleToHostEventsInit {
4
- register: (apiVersion: string, connectionId: string, socketIoToken: string, cb: () => void) => void;
4
+ register: (msg: ModuleRegisterMessage) => void;
5
5
  }
6
6
  export declare type HostToModuleEventsInit = Record<never, never>;
7
+ export interface ModuleRegisterMessage {
8
+ apiVersion: string;
9
+ connectionId: string;
10
+ verificationToken: string;
11
+ }
7
12
  //# sourceMappingURL=versions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../src/host-api/versions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,cAAc,CAAA;AAE1C,oBAAY,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,CAAA;AAE1D,MAAM,WAAW,sBAAsB;IACtC,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,KAAK,IAAI,CAAA;CACnG;AACD,oBAAY,sBAAsB,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA"}
1
+ {"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../src/host-api/versions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,eAAe,CAAA;AAE5C,oBAAY,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,CAAA;AAE1D,MAAM,WAAW,sBAAsB;IACtC,QAAQ,EAAE,CAAC,GAAG,EAAE,qBAAqB,KAAK,IAAI,CAAA;CAC9C;AACD,oBAAY,sBAAsB,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAEzD,MAAM,WAAW,qBAAqB;IACrC,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,iBAAiB,EAAE,MAAM,CAAA;CACzB"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HostApiSocketIo = void 0;
4
- exports.HostApiSocketIo = 'socket.io';
3
+ exports.HostApiNodeJsIpc = void 0;
4
+ exports.HostApiNodeJsIpc = 'nodejs-ipc';
5
5
  //# sourceMappingURL=versions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../src/host-api/versions.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG,WAAW,CAAA"}
1
+ {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../src/host-api/versions.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG,YAAY,CAAA"}
@@ -1,24 +1,11 @@
1
- import * as SocketIOClient from 'socket.io-client';
2
1
  import { CompanionStaticUpgradeScript } from '../module-api/upgrade';
3
2
  import { EncodeIsVisible } from '../host-api/api.js';
4
3
  import { CompanionInputFieldBase } from '../module-api/input';
5
- /**
6
- * Signature for the handler functions
7
- */
8
- declare type HandlerFunction<T extends (...args: any) => any> = (data: Parameters<T>[0]) => Promise<ReturnType<T>>;
9
- declare type HandlerFunctionOrNever<T> = T extends (...args: any) => any ? HandlerFunction<T> : never;
10
- /** Map of handler functions */
11
- export declare type EventHandlers<T extends object> = {
12
- [K in keyof T]: HandlerFunctionOrNever<T[K]>;
13
- };
14
- /** Subscribe to all the events defined in the handlers, and wrap with safety and logging */
15
- export declare function listenToEvents<T extends object>(socket: SocketIOClient.Socket<T>, handlers: EventHandlers<T>): void;
16
4
  export declare function serializeIsVisibleFn<T extends CompanionInputFieldBase>(options: T[]): EncodeIsVisible<T>[];
17
5
  export interface InstanceBaseProps<TConfig> {
18
6
  id: string;
19
- socket: SocketIOClient.Socket;
20
7
  upgradeScripts: CompanionStaticUpgradeScript<TConfig>[];
8
+ _isInstanceBaseProps: boolean;
21
9
  }
22
10
  export declare function isInstanceBaseProps<TConfig>(obj: unknown): obj is InstanceBaseProps<TConfig>;
23
- export {};
24
11
  //# sourceMappingURL=base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/internal/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAE7D;;GAEG;AACH,aAAK,eAAe,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;AAE1G,aAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;AAE7F,+BAA+B;AAC/B,oBAAY,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI;KAC5C,CAAC,IAAI,MAAM,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC5C,CAAA;AAED,4FAA4F;AAC5F,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CA0BnH;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,uBAAuB,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,CAkB1G;AAED,MAAM,WAAW,iBAAiB,CAAC,OAAO;IACzC,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,cAAc,CAAC,MAAM,CAAA;IAC7B,cAAc,EAAE,4BAA4B,CAAC,OAAO,CAAC,EAAE,CAAA;CACvD;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAG5F"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/internal/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAE7D,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,uBAAuB,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,CAkB1G;AAED,MAAM,WAAW,iBAAiB,CAAC,OAAO;IACzC,EAAE,EAAE,MAAM,CAAA;IACV,cAAc,EAAE,4BAA4B,CAAC,OAAO,CAAC,EAAE,CAAA;IACvD,oBAAoB,EAAE,OAAO,CAAA;CAC7B;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAG5F"}
@@ -1,35 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isInstanceBaseProps = exports.serializeIsVisibleFn = exports.listenToEvents = void 0;
4
- /** Subscribe to all the events defined in the handlers, and wrap with safety and logging */
5
- function listenToEvents(socket, handlers) {
6
- // const logger = createChildLogger(`module/${connectionId}`);
7
- for (const [event, handler] of Object.entries(handlers)) {
8
- socket.on(event, async (msg, cb) => {
9
- if (!msg || typeof msg !== 'object') {
10
- console.warn(`Received malformed message object "${event}"`);
11
- return; // Ignore messages without correct structure
12
- }
13
- if (cb && typeof cb !== 'function') {
14
- console.warn(`Received malformed callback "${event}"`);
15
- return; // Ignore messages without correct structure
16
- }
17
- try {
18
- // Run it
19
- const handler2 = handler;
20
- const result = await handler2(msg);
21
- if (cb)
22
- cb(null, result);
23
- }
24
- catch (e) {
25
- console.error(`Command failed: ${e}`, e.stack);
26
- if (cb)
27
- cb(e?.toString() ?? JSON.stringify(e), undefined);
28
- }
29
- });
30
- }
31
- }
32
- exports.listenToEvents = listenToEvents;
3
+ exports.isInstanceBaseProps = exports.serializeIsVisibleFn = void 0;
33
4
  function serializeIsVisibleFn(options) {
34
5
  return options.map((option) => {
35
6
  if ('isVisible' in option) {
@@ -51,7 +22,7 @@ function serializeIsVisibleFn(options) {
51
22
  exports.serializeIsVisibleFn = serializeIsVisibleFn;
52
23
  function isInstanceBaseProps(obj) {
53
24
  const obj2 = obj;
54
- return typeof obj2 === 'object' && typeof obj2.id === 'string' && typeof obj2.socket === 'object';
25
+ return typeof obj2 === 'object' && typeof obj2.id === 'string' && obj2._isInstanceBaseProps === true;
55
26
  }
56
27
  exports.isInstanceBaseProps = isInstanceBaseProps;
57
28
  //# sourceMappingURL=base.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/internal/base.ts"],"names":[],"mappings":";;;AAkBA,4FAA4F;AAC5F,SAAgB,cAAc,CAAmB,MAAgC,EAAE,QAA0B;IAC5G,8DAA8D;IAE9D,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QACxD,MAAM,CAAC,EAAE,CAAC,KAAY,EAAE,KAAK,EAAE,GAAQ,EAAE,EAAuB,EAAE,EAAE;YACnE,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;gBACpC,OAAO,CAAC,IAAI,CAAC,sCAAsC,KAAK,GAAG,CAAC,CAAA;gBAC5D,OAAM,CAAC,4CAA4C;aACnD;YACD,IAAI,EAAE,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE;gBACnC,OAAO,CAAC,IAAI,CAAC,gCAAgC,KAAK,GAAG,CAAC,CAAA;gBACtD,OAAM,CAAC,4CAA4C;aACnD;YAED,IAAI;gBACH,SAAS;gBACT,MAAM,QAAQ,GAAG,OAA6C,CAAA;gBAC9D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAA;gBAElC,IAAI,EAAE;oBAAE,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;aACxB;YAAC,OAAO,CAAM,EAAE;gBAChB,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAA;gBAC9C,IAAI,EAAE;oBAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;aACzD;QACF,CAAC,CAAC,CAAA;KACF;AACF,CAAC;AA1BD,wCA0BC;AAED,SAAgB,oBAAoB,CAAoC,OAAY;IACnF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC7B,IAAI,WAAW,IAAI,MAAM,EAAE;YAC1B,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,UAAU,EAAE;gBAC3C,OAAO;oBACN,GAAG,MAAM;oBACT,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE;oBACxC,SAAS,EAAE,SAAS;iBACpB,CAAA;aACD;SACD;QAED,4DAA4D;QAC5D,OAAO;YACN,GAAG,MAAM;YACT,WAAW,EAAE,SAAS;SACtB,CAAA;IACF,CAAC,CAAC,CAAA;AACH,CAAC;AAlBD,oDAkBC;AAQD,SAAgB,mBAAmB,CAAU,GAAY;IACxD,MAAM,IAAI,GAAG,GAAiC,CAAA;IAC9C,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAA;AAClG,CAAC;AAHD,kDAGC"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/internal/base.ts"],"names":[],"mappings":";;;AAIA,SAAgB,oBAAoB,CAAoC,OAAY;IACnF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC7B,IAAI,WAAW,IAAI,MAAM,EAAE;YAC1B,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,UAAU,EAAE;gBAC3C,OAAO;oBACN,GAAG,MAAM;oBACT,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE;oBACxC,SAAS,EAAE,SAAS;iBACpB,CAAA;aACD;SACD;QAED,4DAA4D;QAC5D,OAAO;YACN,GAAG,MAAM;YACT,WAAW,EAAE,SAAS;SACtB,CAAA;IACF,CAAC,CAAC,CAAA;AACH,CAAC;AAlBD,oDAkBC;AAQD,SAAgB,mBAAmB,CAAU,GAAY;IACxD,MAAM,IAAI,GAAG,GAAiC,CAAA;IAC9C,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,oBAAoB,KAAK,IAAI,CAAA;AACrG,CAAC;AAHD,kDAGC"}
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAItD,OAAO,EAAE,cAAc,EAAE,CAAA;AAKzB,yDAAyD;AACzD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAW/D"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAItD,OAAO,EAAE,cAAc,EAAE,CAAA;AAEzB,yDAAyD;AACzD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAO/D"}
package/dist/manifest.js CHANGED
@@ -2,17 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validateManifest = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const manifest_json_1 = tslib_1.__importDefault(require("../generated/manifest-json"));
6
- const ajv_1 = tslib_1.__importDefault(require("ajv"));
7
- const ajv = new ajv_1.default();
8
- let validator;
5
+ // @ts-expect-error no typings
6
+ const validate_manifest_1 = tslib_1.__importDefault(require("../generated/validate_manifest"));
9
7
  /** Validate that a manifest looks correctly populated */
10
8
  function validateManifest(manifest) {
11
- if (!validator) {
12
- validator = ajv.compile(manifest_json_1.default);
13
- }
14
- if (!validator(manifest)) {
15
- const errors = validator.errors;
9
+ if (!(0, validate_manifest_1.default)(manifest)) {
10
+ const errors = validate_manifest_1.default.errors;
16
11
  if (!errors)
17
12
  throw new Error(`Manifest failed validation with unknown reason`);
18
13
  throw new Error(`Manifest validation failed: ${JSON.stringify(errors)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":";;;;AACA,uFAAuD;AACvD,sDAA2C;AAI3C,MAAM,GAAG,GAAG,IAAI,aAAG,EAAE,CAAA;AACrB,IAAI,SAAuC,CAAA;AAE3C,yDAAyD;AACzD,SAAgB,gBAAgB,CAAC,QAAwB;IACxD,IAAI,CAAC,SAAS,EAAE;QACf,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,uBAAc,CAAC,CAAA;KACvC;IAED,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;QACzB,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAA;QAC/B,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;QAE9E,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;KACxE;AACF,CAAC;AAXD,4CAWC"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":";;;;AACA,8BAA8B;AAC9B,+FAAmE;AAInE,yDAAyD;AACzD,SAAgB,gBAAgB,CAAC,QAAwB;IACxD,IAAI,CAAC,IAAA,2BAAsB,EAAC,QAAQ,CAAC,EAAE;QACtC,MAAM,MAAM,GAAG,2BAAsB,CAAC,MAAM,CAAA;QAC5C,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;QAE9E,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;KACxE;AACF,CAAC;AAPD,4CAOC"}
@@ -14,8 +14,6 @@ export declare abstract class InstanceBase<TConfig> implements InstanceBaseShare
14
14
  * Create an instance of the module.
15
15
  */
16
16
  constructor(internal: unknown);
17
- private _socketEmitWithCb;
18
- private _socketEmitNoCb;
19
17
  private _handleInit;
20
18
  private _handleDestroy;
21
19
  private _handleConfigUpdate;
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/module-api/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/module-api/base.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- var _InstanceBase_socket, _InstanceBase_upgradeScripts, _InstanceBase_lifecycleQueue, _InstanceBase_initialized, _InstanceBase_recordingActions, _InstanceBase_actionDefinitions, _InstanceBase_feedbackDefinitions, _InstanceBase_variableDefinitions, _InstanceBase_feedbackInstances, _InstanceBase_actionInstances, _InstanceBase_variableValues;
2
+ var _InstanceBase_ipcWrapper, _InstanceBase_upgradeScripts, _InstanceBase_lifecycleQueue, _InstanceBase_initialized, _InstanceBase_recordingActions, _InstanceBase_actionDefinitions, _InstanceBase_feedbackDefinitions, _InstanceBase_variableDefinitions, _InstanceBase_feedbackInstances, _InstanceBase_actionInstances, _InstanceBase_variableValues;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.InstanceBase = void 0;
5
5
  const tslib_1 = require("tslib");
@@ -8,12 +8,13 @@ const p_queue_1 = tslib_1.__importDefault(require("p-queue"));
8
8
  const base_js_1 = require("../internal/base.js");
9
9
  const upgrade_js_1 = require("../internal/upgrade.js");
10
10
  const feedback_js_1 = require("../internal/feedback.js");
11
+ const ipc_wrapper_js_1 = require("../host-api/ipc-wrapper.js");
11
12
  class InstanceBase {
12
13
  /**
13
14
  * Create an instance of the module.
14
15
  */
15
16
  constructor(internal) {
16
- _InstanceBase_socket.set(this, void 0);
17
+ _InstanceBase_ipcWrapper.set(this, void 0);
17
18
  _InstanceBase_upgradeScripts.set(this, void 0);
18
19
  _InstanceBase_lifecycleQueue.set(this, new p_queue_1.default({ concurrency: 1 }));
19
20
  _InstanceBase_initialized.set(this, false);
@@ -28,13 +29,9 @@ class InstanceBase {
28
29
  * Create an instance of the module.
29
30
  */
30
31
  );
31
- if (!(0, base_js_1.isInstanceBaseProps)(internal) || !internal.socket.connected)
32
+ if (!(0, base_js_1.isInstanceBaseProps)(internal) || !internal._isInstanceBaseProps)
32
33
  throw new Error(`Module instance is being constructed incorrectly. Make sure you aren't trying to do this manually`);
33
- tslib_1.__classPrivateFieldSet(this, _InstanceBase_socket, internal.socket, "f");
34
- tslib_1.__classPrivateFieldSet(this, _InstanceBase_upgradeScripts, internal.upgradeScripts, "f");
35
- this.id = internal.id;
36
- // subscribe to socket events from host
37
- (0, base_js_1.listenToEvents)(tslib_1.__classPrivateFieldGet(this, _InstanceBase_socket, "f"), {
34
+ tslib_1.__classPrivateFieldSet(this, _InstanceBase_ipcWrapper, new ipc_wrapper_js_1.IpcWrapper({
38
35
  init: this._handleInit.bind(this),
39
36
  destroy: this._handleDestroy.bind(this),
40
37
  updateConfig: this._handleConfigUpdate.bind(this),
@@ -46,23 +43,16 @@ class InstanceBase {
46
43
  learnAction: this._handleLearnAction.bind(this),
47
44
  learnFeedback: this._handleLearnFeedback.bind(this),
48
45
  startStopRecordActions: this._handleStartStopRecordActions.bind(this),
46
+ }, (msg) => {
47
+ process.send(msg);
48
+ }, 5000), "f");
49
+ process.on('message', (msg) => {
50
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_ipcWrapper, "f").receivedMessage(msg);
49
51
  });
52
+ tslib_1.__classPrivateFieldSet(this, _InstanceBase_upgradeScripts, internal.upgradeScripts, "f");
53
+ this.id = internal.id;
50
54
  this.log('debug', 'Initializing');
51
55
  }
52
- async _socketEmitWithCb(name, msg) {
53
- return new Promise((resolve, reject) => {
54
- const innerCb = (err, res) => {
55
- if (err)
56
- reject(err);
57
- else
58
- resolve(res);
59
- };
60
- tslib_1.__classPrivateFieldGet(this, _InstanceBase_socket, "f").emit(name, msg, innerCb);
61
- });
62
- }
63
- _socketEmitNoCb(name, msg) {
64
- tslib_1.__classPrivateFieldGet(this, _InstanceBase_socket, "f").emit(name, msg);
65
- }
66
56
  async _handleInit(msg) {
67
57
  return tslib_1.__classPrivateFieldGet(this, _InstanceBase_lifecycleQueue, "f").add(async () => {
68
58
  if (tslib_1.__classPrivateFieldGet(this, _InstanceBase_initialized, "f"))
@@ -76,7 +66,7 @@ class InstanceBase {
76
66
  const { updatedActions, updatedFeedbacks, updatedConfig } = (0, upgrade_js_1.runThroughUpgradeScripts)(actions, feedbacks, msg.lastUpgradeIndex, tslib_1.__classPrivateFieldGet(this, _InstanceBase_upgradeScripts, "f"), msg.config);
77
67
  const config = (updatedConfig ?? msg.config);
78
68
  // Send the upgraded data back to companion now. Just so that if the init crashes, this doesnt have to be repeated
79
- const pSendUpgrade = this._socketEmitWithCb('upgradedItems', {
69
+ const pSendUpgrade = tslib_1.__classPrivateFieldGet(this, _InstanceBase_ipcWrapper, "f").sendWithCb('upgradedItems', {
80
70
  updatedActions,
81
71
  updatedFeedbacks,
82
72
  });
@@ -191,7 +181,7 @@ class InstanceBase {
191
181
  }
192
182
  // Send the new values back
193
183
  if (Object.keys(newValues).length > 0) {
194
- this._socketEmitNoCb('updateFeedbackValues', {
184
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_ipcWrapper, "f").sendWithNoCb('updateFeedbackValues', {
195
185
  values: newValues,
196
186
  });
197
187
  }
@@ -318,7 +308,7 @@ class InstanceBase {
318
308
  * @param newConfig The new config object
319
309
  */
320
310
  saveConfig(newConfig) {
321
- this._socketEmitNoCb('saveConfig', { config: newConfig });
311
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_ipcWrapper, "f").sendWithNoCb('saveConfig', { config: newConfig });
322
312
  }
323
313
  /**
324
314
  * Set the action definitions for this instance
@@ -340,7 +330,7 @@ class InstanceBase {
340
330
  tslib_1.__classPrivateFieldGet(this, _InstanceBase_actionDefinitions, "f").set(actionId, action);
341
331
  }
342
332
  }
343
- this._socketEmitNoCb('setActionDefinitions', { actions: hostActions });
333
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_ipcWrapper, "f").sendWithNoCb('setActionDefinitions', { actions: hostActions });
344
334
  }
345
335
  /**
346
336
  * Set the feedback definitions for this instance
@@ -364,7 +354,7 @@ class InstanceBase {
364
354
  tslib_1.__classPrivateFieldGet(this, _InstanceBase_feedbackDefinitions, "f").set(feedbackId, feedback);
365
355
  }
366
356
  }
367
- this._socketEmitNoCb('setFeedbackDefinitions', { feedbacks: hostFeedbacks });
357
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_ipcWrapper, "f").sendWithNoCb('setFeedbackDefinitions', { feedbacks: hostFeedbacks });
368
358
  }
369
359
  /**
370
360
  * Set the peset definitions for this instance
@@ -380,7 +370,7 @@ class InstanceBase {
380
370
  });
381
371
  }
382
372
  }
383
- this._socketEmitNoCb('setPresetDefinitions', { presets: hostPresets });
373
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_ipcWrapper, "f").sendWithNoCb('setPresetDefinitions', { presets: hostPresets });
384
374
  }
385
375
  /**
386
376
  * Set the variable definitions for this instance
@@ -408,7 +398,7 @@ class InstanceBase {
408
398
  tslib_1.__classPrivateFieldGet(this, _InstanceBase_variableValues, "f").delete(id);
409
399
  }
410
400
  }
411
- this._socketEmitNoCb('setVariableDefinitions', { variables: hostVariables });
401
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_ipcWrapper, "f").sendWithNoCb('setVariableDefinitions', { variables: hostVariables });
412
402
  }
413
403
  /**
414
404
  * Set the values of some variables
@@ -433,7 +423,7 @@ class InstanceBase {
433
423
  });
434
424
  }
435
425
  }
436
- this._socketEmitNoCb('setVariableValues', { newValues: hostValues });
426
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_ipcWrapper, "f").sendWithNoCb('setVariableValues', { newValues: hostValues });
437
427
  }
438
428
  /**
439
429
  * Get the last set value of a variable from this connection
@@ -449,7 +439,7 @@ class InstanceBase {
449
439
  * @returns The string with variables replaced with their values
450
440
  */
451
441
  async parseVariablesInString(text) {
452
- const res = await this._socketEmitWithCb('parseVariablesInString', { text: text });
442
+ const res = await tslib_1.__classPrivateFieldGet(this, _InstanceBase_ipcWrapper, "f").sendWithCb('parseVariablesInString', { text: text });
453
443
  return res.text;
454
444
  }
455
445
  /**
@@ -481,7 +471,7 @@ class InstanceBase {
481
471
  }
482
472
  // Send the new values back
483
473
  if (Object.keys(newValues).length > 0) {
484
- this._socketEmitNoCb('updateFeedbackValues', {
474
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_ipcWrapper, "f").sendWithNoCb('updateFeedbackValues', {
485
475
  values: newValues,
486
476
  });
487
477
  }
@@ -511,7 +501,7 @@ class InstanceBase {
511
501
  }
512
502
  // Send the new values back
513
503
  if (Object.keys(newValues).length > 0) {
514
- this._socketEmitNoCb('updateFeedbackValues', {
504
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_ipcWrapper, "f").sendWithNoCb('updateFeedbackValues', {
515
505
  values: newValues,
516
506
  });
517
507
  }
@@ -632,7 +622,7 @@ class InstanceBase {
632
622
  recordAction(action, uniquenessId) {
633
623
  if (!tslib_1.__classPrivateFieldGet(this, _InstanceBase_recordingActions, "f"))
634
624
  throw new Error('Not currently recording actions');
635
- this._socketEmitNoCb('recordAction', {
625
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_ipcWrapper, "f").sendWithNoCb('recordAction', {
636
626
  uniquenessId: uniquenessId ?? null,
637
627
  actionId: action.actionId,
638
628
  options: action.options,
@@ -646,7 +636,7 @@ class InstanceBase {
646
636
  * @returns Promise which resolves upon success, or rejects if the variable no longer exists
647
637
  */
648
638
  setCustomVariableValue(variableId, value) {
649
- this._socketEmitNoCb('setCustomVariable', {
639
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_ipcWrapper, "f").sendWithNoCb('setCustomVariable', {
650
640
  customVariableId: variableId,
651
641
  value,
652
642
  });
@@ -659,7 +649,7 @@ class InstanceBase {
659
649
  * @param args mesage arguments
660
650
  */
661
651
  oscSend(host, port, path, args) {
662
- this._socketEmitNoCb('send-osc', (0, util_js_1.literal)({
652
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_ipcWrapper, "f").sendWithNoCb('send-osc', (0, util_js_1.literal)({
663
653
  host,
664
654
  port,
665
655
  path,
@@ -672,7 +662,7 @@ class InstanceBase {
672
662
  * @param message Additional information about the status
673
663
  */
674
664
  updateStatus(status, message) {
675
- this._socketEmitNoCb('set-status', (0, util_js_1.literal)({
665
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_ipcWrapper, "f").sendWithNoCb('set-status', (0, util_js_1.literal)({
676
666
  status,
677
667
  message: message ?? null,
678
668
  }));
@@ -683,12 +673,12 @@ class InstanceBase {
683
673
  * @param message The message text to write
684
674
  */
685
675
  log(level, message) {
686
- this._socketEmitNoCb('log-message', (0, util_js_1.literal)({
676
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_ipcWrapper, "f").sendWithNoCb('log-message', (0, util_js_1.literal)({
687
677
  level,
688
678
  message,
689
679
  }));
690
680
  }
691
681
  }
692
682
  exports.InstanceBase = InstanceBase;
693
- _InstanceBase_socket = new WeakMap(), _InstanceBase_upgradeScripts = new WeakMap(), _InstanceBase_lifecycleQueue = new WeakMap(), _InstanceBase_initialized = new WeakMap(), _InstanceBase_recordingActions = new WeakMap(), _InstanceBase_actionDefinitions = new WeakMap(), _InstanceBase_feedbackDefinitions = new WeakMap(), _InstanceBase_variableDefinitions = new WeakMap(), _InstanceBase_feedbackInstances = new WeakMap(), _InstanceBase_actionInstances = new WeakMap(), _InstanceBase_variableValues = new WeakMap();
683
+ _InstanceBase_ipcWrapper = new WeakMap(), _InstanceBase_upgradeScripts = new WeakMap(), _InstanceBase_lifecycleQueue = new WeakMap(), _InstanceBase_initialized = new WeakMap(), _InstanceBase_recordingActions = new WeakMap(), _InstanceBase_actionDefinitions = new WeakMap(), _InstanceBase_feedbackDefinitions = new WeakMap(), _InstanceBase_variableDefinitions = new WeakMap(), _InstanceBase_feedbackInstances = new WeakMap(), _InstanceBase_actionInstances = new WeakMap(), _InstanceBase_variableValues = new WeakMap();
694
684
  //# sourceMappingURL=base.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/module-api/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/module-api/base.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { CompanionOptionValues, CompanionInputFieldStaticText, CompanionInputFieldCheckbox, CompanionInputFieldColor, CompanionInputFieldDropdown, CompanionInputFieldMultiDropdown, CompanionInputFieldNumber, CompanionInputFieldTextInput } from './input.js';
3
2
  import { CompanionAdditionalStyleProps, CompanionRequiredStyleProps } from './style.js';
4
3
  export declare type SomeCompanionFeedbackInputField = CompanionInputFieldStaticText | CompanionInputFieldColor | CompanionInputFieldTextInput | CompanionInputFieldDropdown | CompanionInputFieldMultiDropdown | CompanionInputFieldNumber | CompanionInputFieldCheckbox;
@@ -46,7 +45,7 @@ export interface CompanionFeedbackAdvancedEvent extends CompanionFeedbackInfo {
46
45
  export declare type CompanionFeedbackButtonStyleResult = Partial<CompanionRequiredStyleProps & CompanionAdditionalStyleProps>;
47
46
  /** The resulting style of an advanced feedback */
48
47
  export interface CompanionAdvancedFeedbackResult extends CompanionFeedbackButtonStyleResult {
49
- imageBuffer?: Buffer;
48
+ imageBuffer?: Uint8Array;
50
49
  }
51
50
  /**
52
51
  * The common definition of a feedback
@@ -1 +1 @@
1
- {"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/module-api/feedback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/module-api/feedback.ts"],"names":[],"mappings":"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"}
@@ -64,7 +64,7 @@ export interface ModuleManifestRuntime {
64
64
  */
65
65
  type: string;
66
66
  /**
67
- * Which host-api does it use. Must be socket.io
67
+ * Which host-api does it use. Must be nodejs-ipc
68
68
  */
69
69
  api: string;
70
70
  /**
@@ -0,0 +1 @@
1
+ "use strict";module.exports = validate20;module.exports.default = validate20;const schema22 = {"$schema":"http://json-schema.org/draft-07/schema#","type":"object","title":"ModuleManifest","properties":{"id":{"type":"string","description":"Unique identifier for the module"},"name":{"type":"string","description":"Name of the module"},"shortname":{"type":"string"},"description":{"type":"string","description":"Description of the module "},"version":{"type":"string","description":"Current version of the module"},"license":{"type":"string","description":"SPDX identifier for license of the module"},"repository":{"type":"string","description":"URL to the source repository"},"bugs":{"type":"string","description":"URL to bug tracker"},"maintainers":{"type":"array","description":"List of active maintiners","uniqueItems":true,"items":{"type":"object","title":"ModuleManifestMaintainer","properties":{"name":{"type":"string"},"email":{"type":"string"},"github":{"type":"string"}},"required":["name"]}},"legacyIds":{"type":"array","description":"If the module had a different unique identifier previously, then specify it here","uniqueItems":true,"items":{"type":"string"}},"runtime":{"type":"object","title":"ModuleManifestRuntime","description":"Information on how to execute the module","properties":{"type":{"type":"string","description":"Type of the module. Must be: node14"},"api":{"type":"string","description":"Which host-api does it use. Must be nodejs-ipc"},"apiVersion":{"type":"string","description":"The version of the host-api used"},"entrypoint":{"type":"string","description":"Entrypoint to pass to the runtime. eg index.js"}},"required":["type","api","apiVersion","entrypoint"]},"manufacturer":{"type":"string"},"products":{"type":"array","uniqueItems":true,"items":{"type":"string"}},"keywords":{"type":"array","uniqueItems":true,"items":{"type":"string"}}},"required":["id","name","shortname","description","version","license","repository","bugs","maintainers","legacyIds","runtime","manufacturer","products","keywords"]};const func0 = require("ajv/dist/runtime/equal").default;function validate20(data, {instancePath="", parentData, parentDataProperty, rootData=data}={}){let vErrors = null;let errors = 0;if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((((((((((((((data.id === undefined) && (missing0 = "id")) || ((data.name === undefined) && (missing0 = "name"))) || ((data.shortname === undefined) && (missing0 = "shortname"))) || ((data.description === undefined) && (missing0 = "description"))) || ((data.version === undefined) && (missing0 = "version"))) || ((data.license === undefined) && (missing0 = "license"))) || ((data.repository === undefined) && (missing0 = "repository"))) || ((data.bugs === undefined) && (missing0 = "bugs"))) || ((data.maintainers === undefined) && (missing0 = "maintainers"))) || ((data.legacyIds === undefined) && (missing0 = "legacyIds"))) || ((data.runtime === undefined) && (missing0 = "runtime"))) || ((data.manufacturer === undefined) && (missing0 = "manufacturer"))) || ((data.products === undefined) && (missing0 = "products"))) || ((data.keywords === undefined) && (missing0 = "keywords"))){validate20.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {if(data.id !== undefined){const _errs1 = errors;if(typeof data.id !== "string"){validate20.errors = [{instancePath:instancePath+"/id",schemaPath:"#/properties/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs1 === errors;}else {var valid0 = true;}if(valid0){if(data.name !== undefined){const _errs3 = errors;if(typeof data.name !== "string"){validate20.errors = [{instancePath:instancePath+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs3 === errors;}else {var valid0 = true;}if(valid0){if(data.shortname !== undefined){const _errs5 = errors;if(typeof data.shortname !== "string"){validate20.errors = [{instancePath:instancePath+"/shortname",schemaPath:"#/properties/shortname/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs5 === errors;}else {var valid0 = true;}if(valid0){if(data.description !== undefined){const _errs7 = errors;if(typeof data.description !== "string"){validate20.errors = [{instancePath:instancePath+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs7 === errors;}else {var valid0 = true;}if(valid0){if(data.version !== undefined){const _errs9 = errors;if(typeof data.version !== "string"){validate20.errors = [{instancePath:instancePath+"/version",schemaPath:"#/properties/version/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs9 === errors;}else {var valid0 = true;}if(valid0){if(data.license !== undefined){const _errs11 = errors;if(typeof data.license !== "string"){validate20.errors = [{instancePath:instancePath+"/license",schemaPath:"#/properties/license/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs11 === errors;}else {var valid0 = true;}if(valid0){if(data.repository !== undefined){const _errs13 = errors;if(typeof data.repository !== "string"){validate20.errors = [{instancePath:instancePath+"/repository",schemaPath:"#/properties/repository/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs13 === errors;}else {var valid0 = true;}if(valid0){if(data.bugs !== undefined){const _errs15 = errors;if(typeof data.bugs !== "string"){validate20.errors = [{instancePath:instancePath+"/bugs",schemaPath:"#/properties/bugs/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs15 === errors;}else {var valid0 = true;}if(valid0){if(data.maintainers !== undefined){let data8 = data.maintainers;const _errs17 = errors;if(errors === _errs17){if(Array.isArray(data8)){var valid1 = true;const len0 = data8.length;for(let i0=0; i0<len0; i0++){let data9 = data8[i0];const _errs19 = errors;if(errors === _errs19){if(data9 && typeof data9 == "object" && !Array.isArray(data9)){let missing1;if((data9.name === undefined) && (missing1 = "name")){validate20.errors = [{instancePath:instancePath+"/maintainers/" + i0,schemaPath:"#/properties/maintainers/items/required",keyword:"required",params:{missingProperty: missing1},message:"must have required property '"+missing1+"'"}];return false;}else {if(data9.name !== undefined){const _errs21 = errors;if(typeof data9.name !== "string"){validate20.errors = [{instancePath:instancePath+"/maintainers/" + i0+"/name",schemaPath:"#/properties/maintainers/items/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid2 = _errs21 === errors;}else {var valid2 = true;}if(valid2){if(data9.email !== undefined){const _errs23 = errors;if(typeof data9.email !== "string"){validate20.errors = [{instancePath:instancePath+"/maintainers/" + i0+"/email",schemaPath:"#/properties/maintainers/items/properties/email/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid2 = _errs23 === errors;}else {var valid2 = true;}if(valid2){if(data9.github !== undefined){const _errs25 = errors;if(typeof data9.github !== "string"){validate20.errors = [{instancePath:instancePath+"/maintainers/" + i0+"/github",schemaPath:"#/properties/maintainers/items/properties/github/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid2 = _errs25 === errors;}else {var valid2 = true;}}}}}else {validate20.errors = [{instancePath:instancePath+"/maintainers/" + i0,schemaPath:"#/properties/maintainers/items/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid1 = _errs19 === errors;if(!valid1){break;}}if(valid1){let i1 = data8.length;let j0;if(i1 > 1){outer0:for(;i1--;){for(j0 = i1; j0--;){if(func0(data8[i1], data8[j0])){validate20.errors = [{instancePath:instancePath+"/maintainers",schemaPath:"#/properties/maintainers/uniqueItems",keyword:"uniqueItems",params:{i: i1, j: j0},message:"must NOT have duplicate items (items ## "+j0+" and "+i1+" are identical)"}];return false;break outer0;}}}}}}else {validate20.errors = [{instancePath:instancePath+"/maintainers",schemaPath:"#/properties/maintainers/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs17 === errors;}else {var valid0 = true;}if(valid0){if(data.legacyIds !== undefined){let data13 = data.legacyIds;const _errs27 = errors;if(errors === _errs27){if(Array.isArray(data13)){var valid4 = true;const len1 = data13.length;for(let i2=0; i2<len1; i2++){const _errs29 = errors;if(typeof data13[i2] !== "string"){validate20.errors = [{instancePath:instancePath+"/legacyIds/" + i2,schemaPath:"#/properties/legacyIds/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid4 = _errs29 === errors;if(!valid4){break;}}if(valid4){let i3 = data13.length;let j1;if(i3 > 1){const indices0 = {};for(;i3--;){let item0 = data13[i3];if(typeof item0 !== "string"){continue;}if(typeof indices0[item0] == "number"){j1 = indices0[item0];validate20.errors = [{instancePath:instancePath+"/legacyIds",schemaPath:"#/properties/legacyIds/uniqueItems",keyword:"uniqueItems",params:{i: i3, j: j1},message:"must NOT have duplicate items (items ## "+j1+" and "+i3+" are identical)"}];return false;break;}indices0[item0] = i3;}}}}else {validate20.errors = [{instancePath:instancePath+"/legacyIds",schemaPath:"#/properties/legacyIds/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs27 === errors;}else {var valid0 = true;}if(valid0){if(data.runtime !== undefined){let data15 = data.runtime;const _errs31 = errors;if(errors === _errs31){if(data15 && typeof data15 == "object" && !Array.isArray(data15)){let missing2;if(((((data15.type === undefined) && (missing2 = "type")) || ((data15.api === undefined) && (missing2 = "api"))) || ((data15.apiVersion === undefined) && (missing2 = "apiVersion"))) || ((data15.entrypoint === undefined) && (missing2 = "entrypoint"))){validate20.errors = [{instancePath:instancePath+"/runtime",schemaPath:"#/properties/runtime/required",keyword:"required",params:{missingProperty: missing2},message:"must have required property '"+missing2+"'"}];return false;}else {if(data15.type !== undefined){const _errs33 = errors;if(typeof data15.type !== "string"){validate20.errors = [{instancePath:instancePath+"/runtime/type",schemaPath:"#/properties/runtime/properties/type/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid6 = _errs33 === errors;}else {var valid6 = true;}if(valid6){if(data15.api !== undefined){const _errs35 = errors;if(typeof data15.api !== "string"){validate20.errors = [{instancePath:instancePath+"/runtime/api",schemaPath:"#/properties/runtime/properties/api/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid6 = _errs35 === errors;}else {var valid6 = true;}if(valid6){if(data15.apiVersion !== undefined){const _errs37 = errors;if(typeof data15.apiVersion !== "string"){validate20.errors = [{instancePath:instancePath+"/runtime/apiVersion",schemaPath:"#/properties/runtime/properties/apiVersion/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid6 = _errs37 === errors;}else {var valid6 = true;}if(valid6){if(data15.entrypoint !== undefined){const _errs39 = errors;if(typeof data15.entrypoint !== "string"){validate20.errors = [{instancePath:instancePath+"/runtime/entrypoint",schemaPath:"#/properties/runtime/properties/entrypoint/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid6 = _errs39 === errors;}else {var valid6 = true;}}}}}}else {validate20.errors = [{instancePath:instancePath+"/runtime",schemaPath:"#/properties/runtime/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid0 = _errs31 === errors;}else {var valid0 = true;}if(valid0){if(data.manufacturer !== undefined){const _errs41 = errors;if(typeof data.manufacturer !== "string"){validate20.errors = [{instancePath:instancePath+"/manufacturer",schemaPath:"#/properties/manufacturer/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs41 === errors;}else {var valid0 = true;}if(valid0){if(data.products !== undefined){let data21 = data.products;const _errs43 = errors;if(errors === _errs43){if(Array.isArray(data21)){var valid7 = true;const len2 = data21.length;for(let i4=0; i4<len2; i4++){const _errs45 = errors;if(typeof data21[i4] !== "string"){validate20.errors = [{instancePath:instancePath+"/products/" + i4,schemaPath:"#/properties/products/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid7 = _errs45 === errors;if(!valid7){break;}}if(valid7){let i5 = data21.length;let j2;if(i5 > 1){const indices1 = {};for(;i5--;){let item1 = data21[i5];if(typeof item1 !== "string"){continue;}if(typeof indices1[item1] == "number"){j2 = indices1[item1];validate20.errors = [{instancePath:instancePath+"/products",schemaPath:"#/properties/products/uniqueItems",keyword:"uniqueItems",params:{i: i5, j: j2},message:"must NOT have duplicate items (items ## "+j2+" and "+i5+" are identical)"}];return false;break;}indices1[item1] = i5;}}}}else {validate20.errors = [{instancePath:instancePath+"/products",schemaPath:"#/properties/products/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs43 === errors;}else {var valid0 = true;}if(valid0){if(data.keywords !== undefined){let data23 = data.keywords;const _errs47 = errors;if(errors === _errs47){if(Array.isArray(data23)){var valid9 = true;const len3 = data23.length;for(let i6=0; i6<len3; i6++){const _errs49 = errors;if(typeof data23[i6] !== "string"){validate20.errors = [{instancePath:instancePath+"/keywords/" + i6,schemaPath:"#/properties/keywords/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid9 = _errs49 === errors;if(!valid9){break;}}if(valid9){let i7 = data23.length;let j3;if(i7 > 1){const indices2 = {};for(;i7--;){let item2 = data23[i7];if(typeof item2 !== "string"){continue;}if(typeof indices2[item2] == "number"){j3 = indices2[item2];validate20.errors = [{instancePath:instancePath+"/keywords",schemaPath:"#/properties/keywords/uniqueItems",keyword:"uniqueItems",params:{i: i7, j: j3},message:"must NOT have duplicate items (items ## "+j3+" and "+i7+" are identical)"}];return false;break;}indices2[item2] = i7;}}}}else {validate20.errors = [{instancePath:instancePath+"/keywords",schemaPath:"#/properties/keywords/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs47 === errors;}else {var valid0 = true;}}}}}}}}}}}}}}}}else {validate20.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate20.errors = vErrors;return errors === 0;}
package/package.json CHANGED
@@ -1,15 +1,16 @@
1
1
  {
2
2
  "name": "@companion-module/base",
3
- "version": "0.3.0",
3
+ "version": "0.4.1",
4
4
  "type": "commonjs",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
7
7
  "license": "MIT",
8
8
  "repository": "https://github.com/bitfocus/companion-module-base",
9
9
  "scripts": {
10
- "build": "yarn build:json-schema && yarn build:ts",
10
+ "build": "yarn build:json-schema && yarn build:ajv-validator && yarn build:ts",
11
11
  "build:ts": "tsc -p tsconfig.build.json",
12
- "build:json-schema": "json2ts --input assets/manifest.schema.json --output generated/manifest.d.ts && node scripts/wrap-json-schema.js",
12
+ "build:json-schema": "json2ts --input assets/manifest.schema.json --output generated/manifest.d.ts",
13
+ "build:ajv-validator": "ajv compile -s assets/manifest.schema.json -o generated/validate_manifest.js",
13
14
  "docs:html": "typedoc --tsconfig tsconfig.build.json --entryPoints src/index.ts --excludePrivate --theme default --out docs"
14
15
  },
15
16
  "files": [
@@ -22,16 +23,19 @@
22
23
  "dependencies": {
23
24
  "@sentry/node": "^7.14.0",
24
25
  "@sentry/tracing": "^7.14.0",
25
- "ajv": "^8.11.0",
26
+ "ejson": "^2.2.3",
26
27
  "eventemitter3": "^4.0.7",
28
+ "nanoid": "^3.3.4",
27
29
  "p-queue": "^6.6.2",
28
30
  "p-timeout": "^4.1.0",
29
- "socket.io-client": "^4.5.2",
30
31
  "tslib": "^2.4.0"
31
32
  },
32
33
  "devDependencies": {
33
34
  "@tsconfig/node14": "^1.0.3",
35
+ "@types/ejson": "^2.2.0",
34
36
  "@types/node": "^14.18.31",
37
+ "ajv": "^8.11.0",
38
+ "ajv-cli": "^5.0.0",
35
39
  "json-schema-to-typescript": "^11.0.2",
36
40
  "prettier": "^2.7.1",
37
41
  "typedoc": "^0.23.15",
@@ -1,2 +0,0 @@
1
- const schema: any
2
- export default schema
@@ -1,124 +0,0 @@
1
- module.exports = {
2
- "$schema": "http://json-schema.org/draft-07/schema#",
3
- "type": "object",
4
- "title": "ModuleManifest",
5
- "properties": {
6
- "id": {
7
- "type": "string",
8
- "description": "Unique identifier for the module"
9
- },
10
- "name": {
11
- "type": "string",
12
- "description": "Name of the module"
13
- },
14
- "shortname": {
15
- "type": "string"
16
- },
17
- "description": {
18
- "type": "string",
19
- "description": "Description of the module "
20
- },
21
- "version": {
22
- "type": "string",
23
- "description": "Current version of the module"
24
- },
25
- "license": {
26
- "type": "string",
27
- "description": "SPDX identifier for license of the module"
28
- },
29
- "repository": {
30
- "type": "string",
31
- "description": "URL to the source repository"
32
- },
33
- "bugs": {
34
- "type": "string",
35
- "description": "URL to bug tracker"
36
- },
37
- "maintainers": {
38
- "type": "array",
39
- "description": "List of active maintiners",
40
- "uniqueItems": true,
41
- "items": {
42
- "type": "object",
43
- "title": "ModuleManifestMaintainer",
44
- "properties": {
45
- "name": {
46
- "type": "string"
47
- },
48
- "email": {
49
- "type": "string"
50
- },
51
- "github": {
52
- "type": "string"
53
- }
54
- },
55
- "required": ["name"]
56
- }
57
- },
58
- "legacyIds": {
59
- "type": "array",
60
- "description": "If the module had a different unique identifier previously, then specify it here",
61
- "uniqueItems": true,
62
- "items": {
63
- "type": "string"
64
- }
65
- },
66
- "runtime": {
67
- "type": "object",
68
- "title": "ModuleManifestRuntime",
69
- "description": "Information on how to execute the module",
70
- "properties": {
71
- "type": {
72
- "type": "string",
73
- "description": "Type of the module. Must be: node14"
74
- },
75
- "api": {
76
- "type": "string",
77
- "description": "Which host-api does it use. Must be socket.io"
78
- },
79
- "apiVersion": {
80
- "type": "string",
81
- "description": "The version of the host-api used"
82
- },
83
- "entrypoint": {
84
- "type": "string",
85
- "description": "Entrypoint to pass to the runtime. eg index.js"
86
- }
87
- },
88
- "required": ["type", "api", "apiVersion", "entrypoint"]
89
- },
90
- "manufacturer": {
91
- "type": "string"
92
- },
93
- "products": {
94
- "type": "array",
95
- "uniqueItems": true,
96
- "items": {
97
- "type": "string"
98
- }
99
- },
100
- "keywords": {
101
- "type": "array",
102
- "uniqueItems": true,
103
- "items": {
104
- "type": "string"
105
- }
106
- }
107
- },
108
- "required": [
109
- "id",
110
- "name",
111
- "shortname",
112
- "description",
113
- "version",
114
- "license",
115
- "repository",
116
- "bugs",
117
- "maintainers",
118
- "legacyIds",
119
- "runtime",
120
- "manufacturer",
121
- "products",
122
- "keywords"
123
- ]
124
- }