@aloma.io/integration-sdk 3.0.1-9 → 3.0.2

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.
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const fetch = require("node-fetch");
4
- const C = require("../connection/constants.cjs");
5
- const cuid = require("@paralleldrive/cuid2").init({ length: 32 });
6
- const { DurableWebsocket } = require("./durable.cjs");
7
- const WebSocket = require("ws");
8
- const { Packet, Callback } = require("./packet.cjs");
3
+ const fetch = require('node-fetch');
4
+ const C = require('../connection/constants.cjs');
5
+ const cuid = require('@paralleldrive/cuid2').init({ length: 32 });
6
+ const { DurableWebsocket } = require('./durable.cjs');
7
+ const WebSocket = require('ws');
8
+ const { Packet, Callback } = require('./packet.cjs');
9
9
  const cleanInterval = 45 * 1000;
10
10
  const pingInterval = 30 * 1000;
11
11
  class Transport {
@@ -38,7 +38,7 @@ class Transport {
38
38
  local.ws.send(JSON.stringify({ p: packets }));
39
39
  }
40
40
  catch (e) {
41
- console.log("could not send packets ", e);
41
+ console.log('could not send packets ', e);
42
42
  packets.forEach((packet) => local.packets.unshift(packet));
43
43
  }
44
44
  }
@@ -48,20 +48,20 @@ class Transport {
48
48
  return;
49
49
  local.close();
50
50
  this.running = true;
51
- const ws = (local.ws = new WebSocket(config.wsUrl(), ["connector"], C.augmentRequest({ headers: {} }, config)));
52
- ws.on("open", () => {
53
- console.log("websocket connected");
51
+ const ws = (local.ws = new WebSocket(config.wsUrl(), ['connector'], C.augmentRequest({ headers: {} }, config)));
52
+ ws.on('open', () => {
53
+ console.log('websocket connected');
54
54
  local.connected = true;
55
55
  local.pinger = setInterval(() => ws.ping(() => null), pingInterval);
56
56
  local.onConnect(local);
57
57
  });
58
- ws.on("message", (message) => {
58
+ ws.on('message', (message) => {
59
59
  setTimeout(() => local.onMessages(JSON.parse(message)), 0);
60
60
  });
61
- ws.on("error", (message) => {
62
- console.log("error:", message);
61
+ ws.on('error', (message) => {
62
+ console.log('error:', message);
63
63
  });
64
- ws.on("close", (message) => {
64
+ ws.on('close', (message) => {
65
65
  local.connected = false;
66
66
  clearInterval(local.pinger);
67
67
  if (local.running)
@@ -92,7 +92,7 @@ class Transport {
92
92
  this.callbacks[packet.cb()].cb(packet.args());
93
93
  }
94
94
  catch (e) {
95
- console.log("error processing packet", e, packet);
95
+ console.log('error processing packet', e, packet);
96
96
  }
97
97
  finally {
98
98
  delete this.callbacks[packet.cb()];
@@ -117,12 +117,12 @@ class Transport {
117
117
  if (!cb)
118
118
  return;
119
119
  if (cb.created < then) {
120
- console.log("callback timeout", key);
120
+ console.log('callback timeout', key);
121
121
  try {
122
- cb.cb({ error: "timeout" });
122
+ cb.cb({ error: 'timeout' });
123
123
  }
124
124
  catch (e) {
125
- console.log("error while callback", key, cb, e);
125
+ console.log('error while callback', key, cb, e);
126
126
  }
127
127
  delete local.callbacks[key];
128
128
  }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const fetch = require("node-fetch");
4
- const cuid = require("@paralleldrive/cuid2").init({ length: 32 });
3
+ const fetch = require('node-fetch');
4
+ const cuid = require('@paralleldrive/cuid2').init({ length: 32 });
5
5
  class Packet {
6
6
  constructor(data = {}) {
7
7
  this.data = data;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const { Packet, Callback } = require("./packet.cjs");
3
+ const { Packet, Callback } = require('./packet.cjs');
4
4
  class Processor {
5
5
  constructor({ transport, processPacket }) {
6
6
  var local = this;
@@ -33,24 +33,24 @@ class Processor {
33
33
  callbacks[packet.cb()](packet.args());
34
34
  }
35
35
  catch (e) {
36
- console.log("error in callback", callbacks[packet.cb()], packet);
36
+ console.log('error in callback', callbacks[packet.cb()], packet);
37
37
  }
38
38
  delete local.transport.callbacks[packet.cb()];
39
39
  }
40
40
  else if (packet.event()) {
41
- console.log("handle event packet", packet);
41
+ console.log('handle event packet', packet);
42
42
  }
43
43
  else {
44
44
  try {
45
45
  const result = await local._processPacket(packet);
46
46
  const reply = local.transport.newPacket({});
47
- reply.method("connector.reply");
47
+ reply.method('connector.reply');
48
48
  reply.cb(original.cb());
49
49
  reply.args({ ...result });
50
50
  local.transport.send(reply);
51
51
  }
52
52
  catch (e) {
53
- console.log("error processing packet", e, packet);
53
+ console.log('error processing packet', e, packet);
54
54
  }
55
55
  }
56
56
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aloma.io/integration-sdk",
3
- "version": "3.0.1-9",
3
+ "version": "3.0.2",
4
4
  "description": "",
5
5
  "author": "aloma.io",
6
6
  "license": "Apache-2.0",
package/src/cli.mts CHANGED
@@ -90,16 +90,33 @@ program
90
90
 
91
91
  fs.mkdirSync(target);
92
92
 
93
+ console.log('Creating connector ...');
93
94
  extract({ ...options, target, name });
95
+
96
+ console.log('Generating keys ...');
94
97
  await generateKeys({target});
98
+
99
+ console.log('Installing dependencies ...');
100
+ await exec(`cd ${target}; yarn`);
101
+
102
+ console.log('Building ...');
103
+ await exec(`cd ${target}; yarn build`);
104
+
105
+ console.log(`
106
+ Success!
107
+
108
+ 1.) Add the connector to a workspace
109
+ 2.) Edit ./${name}/.env and insert the registration token
110
+ 3.) Start the connector with cd ./${name}/; yarn start`)
95
111
  });
96
112
 
97
113
  program
98
114
  .command("build")
99
115
  .description("Build the current connector project")
100
116
  .action(async (str, options) => {
101
- console.log('building');
102
- //rm -rf build; mkdir -p build/controller; cp ./src/controller/index.mts ./build/controller/.controller-for-types.mts; ./node_modules/typescript/bin/tsc
117
+ const {stdout, stderr} = await exec(`rm -rf build; mkdir -p build/controller; cp ./src/controller/index.mts ./build/controller/.controller-for-types.mts;`);
118
+
119
+ if (stdout) console.log(stdout);
103
120
  });
104
121
 
105
122
  program.parse();
@@ -9,7 +9,7 @@
9
9
  "scripts": {
10
10
  "start": "node build/index.mjs",
11
11
  "dev": "./node_modules/typescript/bin/tsc --watch",
12
- "build": "rm -rf build; mkdir -p build/controller; cp ./src/controller/index.mts ./build/controller/.controller-for-types.mts; ./node_modules/typescript/bin/tsc",
12
+ "build": "./node_modules/@aloma.io/integration-sdk/build/cli.mjs build; ./node_modules/typescript/bin/tsc",
13
13
  "test": "./node_modules/mocha/bin/_mocha --recursive",
14
14
  "format": "yarn prettier --write src/"
15
15
  },
package/build/cli.d.mts DELETED
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
package/build/cli.d.ts DELETED
@@ -1 +0,0 @@
1
- export {};
package/build/cli.js DELETED
@@ -1,2 +0,0 @@
1
- console.log('hello world');
2
- export {};
package/build/cli.mjs DELETED
@@ -1,80 +0,0 @@
1
- #!/usr/bin/env node
2
- import { Command } from "commander";
3
- import fs from "node:fs";
4
- import { fileURLToPath } from "node:url";
5
- import path from "node:path";
6
- import JWE from './internal/util/jwe/index.cjs';
7
- import util from 'node:util';
8
- import ChildProcess from 'node:child_process';
9
- const exec = util.promisify(ChildProcess.exec);
10
- const __dirname = path.dirname(fileURLToPath(import.meta.url));
11
- const files = [
12
- { name: "index.mts", dir: "src/controller" },
13
- { name: "index.mts", dir: "src" },
14
- { name: "package.json", dir: "" },
15
- { name: "Containerfile", dir: "" },
16
- { name: "entrypoint.sh", dir: "" },
17
- { name: "tsconfig.json", dir: "" },
18
- ];
19
- const extract = ({ target, name, connectorId }) => {
20
- const source = `${__dirname}/../template/connector/`;
21
- if (!fs.existsSync(source)) {
22
- throw new Error(`source ${source} does not exist`);
23
- }
24
- files.forEach(({ name, dir }) => {
25
- if (dir) {
26
- fs.mkdirSync(`${target}/${dir}`, { recursive: true });
27
- }
28
- const content = fs.readFileSync(`${source}/${dir}/${name}`, {
29
- encoding: "utf-8",
30
- });
31
- fs.writeFileSync(`${target}/${dir}/${name}`, content);
32
- });
33
- const content = JSON.parse(fs.readFileSync(`${target}/package.json`, { encoding: "utf-8" }));
34
- content.name = name;
35
- content.connectorId = connectorId;
36
- fs.writeFileSync(`${target}/package.json`, JSON.stringify(content, null, 2));
37
- fs.writeFileSync(`${target}/.gitignore`, `.DS_Store
38
- node_modules
39
- build
40
- .env`);
41
- };
42
- const generateKeys = async ({ target }) => {
43
- const jwe = new JWE({});
44
- await jwe.newPair();
45
- const priv = await jwe.exportPrivateAsBase64();
46
- const pub = await jwe.exportPublicAsBase64();
47
- const content = `REGISTRATION_TOKEN=
48
- PRIVATE_KEY=${priv}
49
- PUBLIC_KEY=${pub}
50
- `;
51
- fs.writeFileSync(`${target}/.env`, content);
52
- };
53
- const program = new Command();
54
- program
55
- .name("npx @aloma.io/integration-sdk")
56
- .description("aloma.io integration sdk")
57
- .version("0.8.0")
58
- .showHelpAfterError();
59
- program
60
- .command("create")
61
- .description("Create a new connector project")
62
- .argument("<name>", "name of the project")
63
- .requiredOption("--connector-id <id>", "id of the connector")
64
- .action(async (name, options) => {
65
- name = name.replace(/[\/\.]/gi, "");
66
- if (!name)
67
- throw new Error("name is empty");
68
- const target = `${process.cwd()}/${name}`;
69
- fs.mkdirSync(target);
70
- extract({ ...options, target, name });
71
- await generateKeys({ target });
72
- });
73
- program
74
- .command("build")
75
- .description("Build the current connector project")
76
- .action(async (str, options) => {
77
- console.log('building');
78
- //rm -rf build; mkdir -p build/controller; cp ./src/controller/index.mts ./build/controller/.controller-for-types.mts; ./node_modules/typescript/bin/tsc
79
- });
80
- program.parse();