@tak-ps/node-tak 1.3.0 → 1.5.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/.github/workflows/doc.yml +13 -13
- package/CHANGELOG.md +9 -0
- package/README.md +19 -2
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/index.ts +13 -2
- package/package.json +3 -3
|
@@ -5,22 +5,22 @@ on:
|
|
|
5
5
|
branches: ["main"]
|
|
6
6
|
workflow_dispatch:
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
|
|
9
|
+
permissions:
|
|
10
|
+
contents: read
|
|
11
11
|
pages: write
|
|
12
12
|
id-token: write
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
|
|
15
|
+
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
|
|
16
|
+
concurrency:
|
|
17
|
+
group: "pages"
|
|
18
18
|
cancel-in-progress: false
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
jobs:
|
|
21
|
+
deploy:
|
|
22
|
+
environment:
|
|
23
|
+
name: github-pages
|
|
24
24
|
url: ${{ steps.deployment.outputs.page_url }}
|
|
25
25
|
runs-on: ubuntu-latest
|
|
26
26
|
steps:
|
|
@@ -30,8 +30,8 @@ on:
|
|
|
30
30
|
uses: actions/configure-pages@v3
|
|
31
31
|
- uses: actions/setup-node@v3
|
|
32
32
|
with:
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
node-version: 18
|
|
34
|
+
registry-url: https://registry.npmjs.org/
|
|
35
35
|
- name: npm install
|
|
36
36
|
run: npm install
|
|
37
37
|
- name: npm run doc
|
package/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,15 @@
|
|
|
10
10
|
|
|
11
11
|
## Version History
|
|
12
12
|
|
|
13
|
+
### v1.5.0
|
|
14
|
+
|
|
15
|
+
- :arrow_up: Update to latest deps
|
|
16
|
+
- :rocket: Add `secureConnect` event
|
|
17
|
+
|
|
18
|
+
### v1.4.0
|
|
19
|
+
|
|
20
|
+
- :bug: Destory client when a new client is created after `reconnect` is called
|
|
21
|
+
|
|
13
22
|
### v1.3.0
|
|
14
23
|
|
|
15
24
|
- :rocket: Perform initial parsing in try/catch
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
<p align=center>Javascript TAK Server Library</p>
|
|
4
4
|
|
|
5
|
-
Lightweight JavaScript library for managing TAK TLS
|
|
5
|
+
Lightweight JavaScript library for managing TAK TLS connections for streaming CoT data
|
|
6
6
|
|
|
7
7
|
## Installation
|
|
8
8
|
|
|
@@ -18,7 +18,24 @@ npm install @tak-ps/node-tak
|
|
|
18
18
|
|
|
19
19
|
### Basic Usage
|
|
20
20
|
|
|
21
|
-
```
|
|
21
|
+
```js
|
|
22
22
|
import TAK from '@tak-ps/node-tak';
|
|
23
23
|
|
|
24
|
+
const tak = await TAK.connect('ConnectionID', new URL('https://tak-server.com:8089'), {
|
|
25
|
+
key: conn.auth.key,
|
|
26
|
+
cert: conn.auth.cert
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
tak.on('cot', async (cot: CoT) => {
|
|
30
|
+
console.error('COT', cot); // See node-cot library
|
|
31
|
+
}).on('end', async () => {
|
|
32
|
+
console.error(`Connection End`);
|
|
33
|
+
}).on('timeout', async () => {
|
|
34
|
+
console.error(`Connection Timeout`);
|
|
35
|
+
}).on('ping', async () => {
|
|
36
|
+
console.error(`TAK Server Ping`);
|
|
37
|
+
}).on('error', async (err) => {
|
|
38
|
+
console.error(`Connection Error`);
|
|
39
|
+
});
|
|
40
|
+
|
|
24
41
|
```
|
package/dist/index.js
CHANGED
|
@@ -38,6 +38,7 @@ export default class TAK extends EventEmitter {
|
|
|
38
38
|
}
|
|
39
39
|
connect_ssl() {
|
|
40
40
|
return new Promise((resolve) => {
|
|
41
|
+
this.destroyed = false;
|
|
41
42
|
this.client = tls.connect({
|
|
42
43
|
host: this.url.hostname,
|
|
43
44
|
port: parseInt(this.url.port),
|
|
@@ -51,6 +52,7 @@ export default class TAK extends EventEmitter {
|
|
|
51
52
|
});
|
|
52
53
|
this.client.on('secureConnect', () => {
|
|
53
54
|
console.error(`ok - ${this.id} @ secure:${this.client ? this.client.authorized : 'NO CLIENT'} - ${this.client ? this.client.authorizationError : 'NO CLIENT'}`);
|
|
55
|
+
this.emit('secureConnect');
|
|
54
56
|
});
|
|
55
57
|
let buff = '';
|
|
56
58
|
this.client.on('data', (data) => {
|
|
@@ -97,7 +99,13 @@ export default class TAK extends EventEmitter {
|
|
|
97
99
|
});
|
|
98
100
|
}
|
|
99
101
|
async reconnect() {
|
|
100
|
-
|
|
102
|
+
if (this.destroyed) {
|
|
103
|
+
await this.connect_ssl();
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
this.destroy();
|
|
107
|
+
await this.connect_ssl();
|
|
108
|
+
}
|
|
101
109
|
}
|
|
102
110
|
destroy() {
|
|
103
111
|
this.destroyed = true;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,aAAa,CAAC;AACvC,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,GAAG,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
package/index.ts
CHANGED
|
@@ -3,6 +3,9 @@ import tls from 'node:tls';
|
|
|
3
3
|
import CoT from '@tak-ps/node-cot';
|
|
4
4
|
import type { TLSSocket } from 'node:tls'
|
|
5
5
|
|
|
6
|
+
/**
|
|
7
|
+
* Store the TAK Client Certificate for a connection
|
|
8
|
+
*/
|
|
6
9
|
export interface TAKAuth {
|
|
7
10
|
cert: string;
|
|
8
11
|
key: string;
|
|
@@ -49,7 +52,7 @@ export default class TAK extends EventEmitter {
|
|
|
49
52
|
this.queue = [];
|
|
50
53
|
}
|
|
51
54
|
|
|
52
|
-
static async connect(id: number | string, url: URL, auth: TAKAuth) {
|
|
55
|
+
static async connect(id: number | string, url: URL, auth: TAKAuth): Promise<TAK> {
|
|
53
56
|
const tak = new TAK(id, 'ssl', url, auth);
|
|
54
57
|
|
|
55
58
|
if (url.protocol === 'ssl:') {
|
|
@@ -63,6 +66,8 @@ export default class TAK extends EventEmitter {
|
|
|
63
66
|
|
|
64
67
|
connect_ssl(): Promise<TAK> {
|
|
65
68
|
return new Promise((resolve) => {
|
|
69
|
+
this.destroyed = false;
|
|
70
|
+
|
|
66
71
|
this.client = tls.connect({
|
|
67
72
|
host: this.url.hostname,
|
|
68
73
|
port: parseInt(this.url.port),
|
|
@@ -79,6 +84,7 @@ export default class TAK extends EventEmitter {
|
|
|
79
84
|
|
|
80
85
|
this.client.on('secureConnect', () => {
|
|
81
86
|
console.error(`ok - ${this.id} @ secure:${this.client ? this.client.authorized : 'NO CLIENT'} - ${this.client ? this.client.authorizationError : 'NO CLIENT'}`);
|
|
87
|
+
this.emit('secureConnect')
|
|
82
88
|
});
|
|
83
89
|
|
|
84
90
|
let buff = '';
|
|
@@ -130,7 +136,12 @@ export default class TAK extends EventEmitter {
|
|
|
130
136
|
}
|
|
131
137
|
|
|
132
138
|
async reconnect() {
|
|
133
|
-
|
|
139
|
+
if (this.destroyed) {
|
|
140
|
+
await this.connect_ssl();
|
|
141
|
+
} else {
|
|
142
|
+
this.destroy();
|
|
143
|
+
await this.connect_ssl();
|
|
144
|
+
}
|
|
134
145
|
}
|
|
135
146
|
|
|
136
147
|
destroy() {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tak-ps/node-tak",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.5.0",
|
|
5
5
|
"description": "Lightweight JavaScript library for communicating with TAK Server",
|
|
6
6
|
"author": "Nick Ingalls <nick@ingalls.ca>",
|
|
7
7
|
"main": "dist/index.js",
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
"devDependencies": {
|
|
23
23
|
"@types/node": "^20.0.0",
|
|
24
24
|
"@types/tape": "^5.6.0",
|
|
25
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
26
|
-
"@typescript-eslint/parser": "^
|
|
25
|
+
"@typescript-eslint/eslint-plugin": "^7.0.0",
|
|
26
|
+
"@typescript-eslint/parser": "^7.0.0",
|
|
27
27
|
"eslint": "^8.35.0",
|
|
28
28
|
"eslint-plugin-node": "^11.1.0",
|
|
29
29
|
"tape": "^5.6.1",
|