green-screen-proxy 1.0.0 → 1.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.
- package/README.md +1 -3
- package/dist/cli.js +0 -6
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -17
- package/dist/index.js.map +1 -1
- package/dist/server.js +1 -5
- package/dist/server.js.map +1 -1
- package/package.json +7 -5
- package/dist/standalone.d.ts +0 -3
- package/dist/standalone.d.ts.map +0 -1
- package/dist/standalone.js +0 -6
- package/dist/standalone.js.map +0 -1
package/README.md
CHANGED
|
@@ -13,9 +13,8 @@ npm install green-screen-proxy
|
|
|
13
13
|
```bash
|
|
14
14
|
npx green-screen-proxy # Start on port 3001
|
|
15
15
|
npx green-screen-proxy --mock # Mock mode (no real host needed)
|
|
16
|
-
npx green-screen-proxy --standalone # Proxy + built-in web terminal UI
|
|
17
16
|
npx green-screen-proxy --port 8080 # Custom port
|
|
18
|
-
npx green-screen
|
|
17
|
+
npx green-screen-terminal # Proxy + web terminal UI (separate package)
|
|
19
18
|
```
|
|
20
19
|
|
|
21
20
|
### Mock mode
|
|
@@ -70,7 +69,6 @@ await proxy.close();
|
|
|
70
69
|
|--------|------|---------|-------------|
|
|
71
70
|
| `port` | `number` | `3001` | Port to listen on |
|
|
72
71
|
| `mock` | `boolean` | `false` | Use mock screens |
|
|
73
|
-
| `standalone` | `boolean` | `false` | Serve built-in web UI |
|
|
74
72
|
|
|
75
73
|
### Returns
|
|
76
74
|
|
package/dist/cli.js
CHANGED
|
@@ -10,7 +10,6 @@ import { parseArgs } from 'node:util';
|
|
|
10
10
|
const { values } = parseArgs({
|
|
11
11
|
options: {
|
|
12
12
|
mock: { type: 'boolean', default: false },
|
|
13
|
-
standalone: { type: 'boolean', default: false },
|
|
14
13
|
port: { type: 'string', default: '' },
|
|
15
14
|
help: { type: 'boolean', short: 'h', default: false },
|
|
16
15
|
},
|
|
@@ -26,14 +25,12 @@ Commands:
|
|
|
26
25
|
|
|
27
26
|
Options:
|
|
28
27
|
--mock Run with mock data (no real host connection needed)
|
|
29
|
-
--standalone Serve the built-in web terminal UI
|
|
30
28
|
--port NUM Port to listen on (default: 3001, or PORT env var)
|
|
31
29
|
-h, --help Show this help message
|
|
32
30
|
|
|
33
31
|
Examples:
|
|
34
32
|
npx green-screen-proxy # Start proxy on port 3001
|
|
35
33
|
npx green-screen-proxy --mock # Start with mock screens
|
|
36
|
-
npx green-screen-proxy --standalone # Proxy + web terminal UI
|
|
37
34
|
npx green-screen-proxy --port 8080 # Start on port 8080
|
|
38
35
|
npx green-screen-proxy deploy # Deploy to Cloudflare Workers`);
|
|
39
36
|
process.exit(0);
|
|
@@ -44,8 +41,5 @@ if (values.port) {
|
|
|
44
41
|
if (values.mock) {
|
|
45
42
|
process.argv.push('--mock');
|
|
46
43
|
}
|
|
47
|
-
if (values.standalone) {
|
|
48
|
-
process.argv.push('--standalone');
|
|
49
|
-
}
|
|
50
44
|
await import('./server.js');
|
|
51
45
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,uDAAuD;AACvD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACnC,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IAC/C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC3B,OAAO,EAAE;QACP,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;QACzC,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,uDAAuD;AACvD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACnC,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IAC/C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC3B,OAAO,EAAE;QACP,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;QACzC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QACrC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE;KACtD;CACF,CAAC,CAAC;AAEH,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;yEAiB2D,CAAC,CAAC;IACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;AACjC,CAAC;AAED,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;IAChB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAgB,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAgB,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AAE1D,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,iCAAiC;IACjC,MAAM,EAAE,UAAU,CAAC;IACnB,sBAAsB;IACtB,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC;IACrB,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAkDlF"}
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import express from 'express';
|
|
2
2
|
import cors from 'cors';
|
|
3
3
|
import { createServer } from 'http';
|
|
4
|
-
import { existsSync } from 'fs';
|
|
5
|
-
import { join, dirname } from 'path';
|
|
6
|
-
import { fileURLToPath } from 'url';
|
|
7
4
|
/**
|
|
8
5
|
* Create and start a green-screen proxy server.
|
|
9
6
|
*
|
|
@@ -19,7 +16,7 @@ import { fileURLToPath } from 'url';
|
|
|
19
16
|
* ```
|
|
20
17
|
*/
|
|
21
18
|
export async function createProxy(options = {}) {
|
|
22
|
-
const { port = 3001, mock = false
|
|
19
|
+
const { port = 3001, mock = false } = options;
|
|
23
20
|
const app = express();
|
|
24
21
|
app.use(cors());
|
|
25
22
|
app.use(express.json());
|
|
@@ -36,19 +33,6 @@ export async function createProxy(options = {}) {
|
|
|
36
33
|
app.use('/', routes);
|
|
37
34
|
setupWebSocket = setupWs;
|
|
38
35
|
}
|
|
39
|
-
if (standalone) {
|
|
40
|
-
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
41
|
-
const uiPath = join(__dirname, 'ui');
|
|
42
|
-
if (existsSync(uiPath)) {
|
|
43
|
-
app.use(express.static(uiPath));
|
|
44
|
-
app.get('*', (_req, res, next) => {
|
|
45
|
-
if (_req.path.startsWith('/api') || _req.path.startsWith('/connect')) {
|
|
46
|
-
return next();
|
|
47
|
-
}
|
|
48
|
-
res.sendFile(join(uiPath, 'index.html'));
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
36
|
const server = createServer(app);
|
|
53
37
|
if (setupWebSocket)
|
|
54
38
|
setupWebSocket(server);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,YAAY,EAAwB,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,YAAY,EAAwB,MAAM,MAAM,CAAC;AAoB1D;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,UAAwB,EAAE;IAC1D,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAE9C,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IACtB,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAChB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAExB,IAAI,cAA0D,CAAC;IAE/D,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACtE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC3E,MAAM,CAAC,aAAa,CAAC;YACrB,MAAM,CAAC,gBAAgB,CAAC;SACzB,CAAC,CAAC;QACH,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACrB,cAAc,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,cAAc;QAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAE3C,IAAI,YAAY,GAAG,IAAI,CAAC;IAExB,OAAO,IAAI,OAAO,CAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAClD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAA0B,EAAE,EAAE;YAChD,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC9B,YAAY,EAAE,CAAC;gBACf,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,EAAE;YAC/B,OAAO,CAAC;gBACN,MAAM;gBACN,GAAG;gBACH,IAAI,EAAE,YAAY;gBAClB,KAAK;oBACH,OAAO,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,EAAE;wBAC/B,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;wBAC1B,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;oBAChC,CAAC,CAAC,CAAC;gBACL,CAAC;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/server.js
CHANGED
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
import { createProxy } from './index.js';
|
|
2
2
|
const isMock = process.argv.includes('--mock');
|
|
3
|
-
const isStandalone = process.argv.includes('--standalone');
|
|
4
3
|
const PORT = parseInt(process.env.PORT || '3001', 10);
|
|
5
|
-
const proxy = await createProxy({ port: PORT, mock: isMock
|
|
4
|
+
const proxy = await createProxy({ port: PORT, mock: isMock });
|
|
6
5
|
console.log(`Green Screen proxy server running on http://localhost:${proxy.port}`);
|
|
7
6
|
if (isMock) {
|
|
8
7
|
console.log('Running in MOCK mode (no real IBM i connection)');
|
|
9
8
|
}
|
|
10
|
-
if (isStandalone) {
|
|
11
|
-
console.log(`Terminal UI available at http://localhost:${proxy.port}`);
|
|
12
|
-
}
|
|
13
9
|
function shutdown() {
|
|
14
10
|
proxy.close().then(() => process.exit(0));
|
|
15
11
|
setTimeout(() => process.exit(0), 1000);
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC/C,MAAM,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC/C,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;AAEtD,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAE9D,OAAO,CAAC,GAAG,CAAC,yDAAyD,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AACnF,IAAI,MAAM,EAAE,CAAC;IACX,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,QAAQ;IACf,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "green-screen-proxy",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "WebSocket/REST proxy server for green-screen-react — connects browsers to TN5250, TN3270, VT220, and HP 6530 hosts over TCP",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
|
-
"green-screen-proxy": "dist/cli.js"
|
|
8
|
-
"green-screen": "dist/standalone.js"
|
|
7
|
+
"green-screen-proxy": "dist/cli.js"
|
|
9
8
|
},
|
|
10
9
|
"main": "dist/index.js",
|
|
10
|
+
"exports": {
|
|
11
|
+
".": "./dist/index.js",
|
|
12
|
+
"./cli": "./dist/cli.js"
|
|
13
|
+
},
|
|
11
14
|
"files": [
|
|
12
15
|
"dist"
|
|
13
16
|
],
|
|
14
17
|
"scripts": {
|
|
15
18
|
"serve": "node --watch --import tsx/esm src/server.ts",
|
|
16
19
|
"build": "tsc && mkdir -p dist/worker && cp ../../apps/worker/dist/index.js dist/worker/index.js 2>/dev/null || true",
|
|
17
|
-
"build:standalone": "tsc && cd ../../apps/demo && VITE_BASE_URL=/ npx vite build --outDir ../../packages/proxy/dist/ui",
|
|
18
20
|
"start": "node dist/server.js",
|
|
19
21
|
"lint": "tsc --noEmit",
|
|
20
22
|
"prepublishOnly": "npm run build"
|
|
@@ -45,12 +47,12 @@
|
|
|
45
47
|
"url": "https://github.com/visionbridge-solutions/green-screen-react/issues"
|
|
46
48
|
},
|
|
47
49
|
"dependencies": {
|
|
48
|
-
"green-screen-types": "*",
|
|
49
50
|
"cors": "^2.8.5",
|
|
50
51
|
"express": "^4.21.0",
|
|
51
52
|
"ws": "^8.18.0"
|
|
52
53
|
},
|
|
53
54
|
"devDependencies": {
|
|
55
|
+
"green-screen-types": "*",
|
|
54
56
|
"@types/cors": "^2.8.17",
|
|
55
57
|
"@types/express": "^4.17.21",
|
|
56
58
|
"@types/ws": "^8.5.12",
|
package/dist/standalone.d.ts
DELETED
package/dist/standalone.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"standalone.d.ts","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":";AAMA,OAAO,EAAE,CAAC"}
|
package/dist/standalone.js
DELETED
package/dist/standalone.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"standalone.js","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":";AAEA,wEAAwE;AACxE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAClC,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC"}
|