pinggy 0.4.9 → 0.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.
@@ -0,0 +1,42 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ runDaemonChild
4
+ } from "./chunk-YJQC6LQN.js";
5
+ import {
6
+ RemoteManagementUnauthorizedError,
7
+ TunnelOperations,
8
+ closeRemoteManagement,
9
+ ensureDaemonRunning,
10
+ getActiveTunnelSummaries,
11
+ getDaemonInfo,
12
+ getInProcessDaemonHandle,
13
+ getRemoteManagementState,
14
+ initiateRemoteManagement,
15
+ isDaemonRunning
16
+ } from "./chunk-FVLXFHBL.js";
17
+ import "./chunk-MT44NAXX.js";
18
+ import "./chunk-BFARGPGP.js";
19
+ import "./chunk-HUP6YWH6.js";
20
+ import {
21
+ TunnelManager
22
+ } from "./chunk-DLNUDW6G.js";
23
+ import "./chunk-UB26QJ4T.js";
24
+ import {
25
+ enablePackageLogging
26
+ } from "./chunk-7G6SJEEA.js";
27
+ import "./chunk-GBYF2H4H.js";
28
+ export {
29
+ RemoteManagementUnauthorizedError,
30
+ TunnelManager,
31
+ TunnelOperations,
32
+ closeRemoteManagement,
33
+ enablePackageLogging,
34
+ ensureDaemonRunning,
35
+ getActiveTunnelSummaries,
36
+ getDaemonInfo,
37
+ getInProcessDaemonHandle,
38
+ getRemoteManagementState,
39
+ initiateRemoteManagement,
40
+ isDaemonRunning,
41
+ runDaemonChild
42
+ };
@@ -5,6 +5,9 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __getProtoOf = Object.getPrototypeOf;
7
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __esm = (fn, res) => function __init() {
9
+ return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
10
+ };
8
11
  var __copyProps = (to, from, except, desc) => {
9
12
  if (from && typeof from === "object" || typeof from === "function") {
10
13
  for (let key of __getOwnPropNames(from))
@@ -22,17 +25,66 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
22
25
  mod
23
26
  ));
24
27
 
28
+ // node_modules/tsup/assets/cjs_shims.js
29
+ var init_cjs_shims = __esm({
30
+ "node_modules/tsup/assets/cjs_shims.js"() {
31
+ "use strict";
32
+ }
33
+ });
34
+
35
+ // src/logger.ts
36
+ function getLogger() {
37
+ if (!_logger) {
38
+ _logger = import_winston.default.createLogger({ level: "info", silent: true });
39
+ }
40
+ return _logger;
41
+ }
42
+ var import_winston, import_fs, import_path, import_pinggy, _currentLevel, _logger, logger;
43
+ var init_logger = __esm({
44
+ "src/logger.ts"() {
45
+ "use strict";
46
+ init_cjs_shims();
47
+ import_winston = __toESM(require("winston"), 1);
48
+ import_fs = __toESM(require("fs"), 1);
49
+ import_path = __toESM(require("path"), 1);
50
+ import_pinggy = require("@pinggy/pinggy");
51
+ _currentLevel = process.env.PINGGY_LOG_LEVEL || "info";
52
+ _logger = null;
53
+ logger = getLogger();
54
+ }
55
+ });
56
+
57
+ // src/workers/fileServerMessages.ts
58
+ var FileServerMessage;
59
+ var init_fileServerMessages = __esm({
60
+ "src/workers/fileServerMessages.ts"() {
61
+ "use strict";
62
+ init_cjs_shims();
63
+ FileServerMessage = {
64
+ Started: "started",
65
+ Warning: "warning",
66
+ Error: "error"
67
+ };
68
+ }
69
+ });
70
+
25
71
  // src/workers/file_serve_worker.ts
72
+ init_cjs_shims();
26
73
  var import_worker_threads = require("worker_threads");
27
74
 
28
75
  // src/utils/FileServer.ts
76
+ init_cjs_shims();
29
77
  var import_http = require("http");
30
78
  var import_promises = require("fs/promises");
31
79
  var import_fs2 = require("fs");
32
80
  var import_path2 = require("path");
33
81
  var import_url = require("url");
34
82
 
83
+ // node_modules/mime/dist/src/index.js
84
+ init_cjs_shims();
85
+
35
86
  // node_modules/mime/dist/types/other.js
87
+ init_cjs_shims();
36
88
  var types = {
37
89
  "application/prs.cww": ["cww"],
38
90
  "application/prs.xsf+xml": ["xsf"],
@@ -754,6 +806,7 @@ Object.freeze(types);
754
806
  var other_default = types;
755
807
 
756
808
  // node_modules/mime/dist/types/standard.js
809
+ init_cjs_shims();
757
810
  var types2 = {
758
811
  "application/andrew-inset": ["ez"],
759
812
  "application/appinstaller": ["appinstaller"],
@@ -1122,6 +1175,7 @@ Object.freeze(types2);
1122
1175
  var standard_default = types2;
1123
1176
 
1124
1177
  // node_modules/mime/dist/src/Mime.js
1178
+ init_cjs_shims();
1125
1179
  var __classPrivateFieldGet = function(receiver, state, kind, f) {
1126
1180
  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
1127
1181
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
@@ -1212,21 +1266,11 @@ var Mime_default = Mime;
1212
1266
  // node_modules/mime/dist/src/index.js
1213
1267
  var src_default = new Mime_default(standard_default, other_default)._freeze();
1214
1268
 
1215
- // src/logger.ts
1216
- var import_winston = __toESM(require("winston"), 1);
1217
- var import_fs = __toESM(require("fs"), 1);
1218
- var import_path = __toESM(require("path"), 1);
1219
- var import_pinggy = require("@pinggy/pinggy");
1220
- var _logger = null;
1221
- function getLogger() {
1222
- if (!_logger) {
1223
- _logger = import_winston.default.createLogger({ level: "info", silent: true });
1224
- }
1225
- return _logger;
1226
- }
1227
- var logger = getLogger();
1269
+ // src/utils/FileServer.ts
1270
+ init_logger();
1228
1271
 
1229
1272
  // src/utils/htmlTemplates.ts
1273
+ init_cjs_shims();
1230
1274
  function directoryListingHtml(relativePath, list) {
1231
1275
  return `
1232
1276
  <html>
@@ -1428,7 +1472,7 @@ async function startFileServer(dirPath, port = 8080) {
1428
1472
  } catch (err) {
1429
1473
  logger.debug("Error in handling request", err);
1430
1474
  res.statusCode = 500;
1431
- res.end(`Internal Server Error: ${err.message}`);
1475
+ res.end(`Internal Server Error: ${err instanceof Error ? err.message : String(err)}`);
1432
1476
  }
1433
1477
  });
1434
1478
  await new Promise((resolve2, reject) => {
@@ -1447,7 +1491,12 @@ async function startFileServer(dirPath, port = 8080) {
1447
1491
  }
1448
1492
 
1449
1493
  // src/workers/file_serve_worker.ts
1450
- (async () => {
1494
+ init_logger();
1495
+ init_fileServerMessages();
1496
+ function post(msg) {
1497
+ import_worker_threads.parentPort?.postMessage(msg);
1498
+ }
1499
+ void (async () => {
1451
1500
  try {
1452
1501
  const { dir, forwarding } = import_worker_threads.workerData;
1453
1502
  logger.debug("file_serve_worker received workerData", { dir, forwarding: JSON.stringify(forwarding) });
@@ -1463,11 +1512,11 @@ async function startFileServer(dirPath, port = 8080) {
1463
1512
  logger.debug("file_serve_worker resolved port", { portNum, defaultPort: portNum ?? 8080 });
1464
1513
  const result = await startFileServer(dir, portNum);
1465
1514
  logger.info("file_serve_worker static file server started", { dir, port: portNum ?? 8080 });
1466
- import_worker_threads.parentPort?.postMessage({ type: "started", portNum });
1515
+ post({ type: FileServerMessage.Started, portNum });
1467
1516
  if (result.hasInvalidPath && result.error) {
1468
1517
  logger.warn("file_serve_worker invalid path warning", { message: result.error.message, code: result.error.code });
1469
- import_worker_threads.parentPort?.postMessage({
1470
- type: "warning",
1518
+ post({
1519
+ type: FileServerMessage.Warning,
1471
1520
  message: result.error.message,
1472
1521
  code: result.error.code
1473
1522
  });
@@ -1475,11 +1524,11 @@ async function startFileServer(dirPath, port = 8080) {
1475
1524
  } catch (err) {
1476
1525
  console.log(err);
1477
1526
  if (err instanceof FileServerError) {
1478
- import_worker_threads.parentPort?.postMessage({ type: "error", error: err.message, code: err.code });
1527
+ post({ type: FileServerMessage.Error, error: err.message, code: err.code });
1479
1528
  } else if (err instanceof Error) {
1480
- import_worker_threads.parentPort?.postMessage({ type: "error", error: err.message });
1529
+ post({ type: FileServerMessage.Error, error: err.message });
1481
1530
  } else {
1482
- import_worker_threads.parentPort?.postMessage({ type: "error", error: String(err) });
1531
+ post({ type: FileServerMessage.Error, error: String(err) });
1483
1532
  }
1484
1533
  logger.debug("Error in FileServer thread", err);
1485
1534
  process.exit(1);
@@ -1,6 +1,9 @@
1
+ import {
2
+ FileServerMessage
3
+ } from "../chunk-UB26QJ4T.js";
1
4
  import {
2
5
  logger
3
- } from "../chunk-3RTRUYNW.js";
6
+ } from "../chunk-7G6SJEEA.js";
4
7
 
5
8
  // src/workers/file_serve_worker.ts
6
9
  import { parentPort, workerData } from "worker_threads";
@@ -1394,7 +1397,7 @@ async function startFileServer(dirPath, port = 8080) {
1394
1397
  } catch (err) {
1395
1398
  logger.debug("Error in handling request", err);
1396
1399
  res.statusCode = 500;
1397
- res.end(`Internal Server Error: ${err.message}`);
1400
+ res.end(`Internal Server Error: ${err instanceof Error ? err.message : String(err)}`);
1398
1401
  }
1399
1402
  });
1400
1403
  await new Promise((resolve2, reject) => {
@@ -1413,7 +1416,10 @@ async function startFileServer(dirPath, port = 8080) {
1413
1416
  }
1414
1417
 
1415
1418
  // src/workers/file_serve_worker.ts
1416
- (async () => {
1419
+ function post(msg) {
1420
+ parentPort?.postMessage(msg);
1421
+ }
1422
+ void (async () => {
1417
1423
  try {
1418
1424
  const { dir, forwarding } = workerData;
1419
1425
  logger.debug("file_serve_worker received workerData", { dir, forwarding: JSON.stringify(forwarding) });
@@ -1429,11 +1435,11 @@ async function startFileServer(dirPath, port = 8080) {
1429
1435
  logger.debug("file_serve_worker resolved port", { portNum, defaultPort: portNum ?? 8080 });
1430
1436
  const result = await startFileServer(dir, portNum);
1431
1437
  logger.info("file_serve_worker static file server started", { dir, port: portNum ?? 8080 });
1432
- parentPort?.postMessage({ type: "started", portNum });
1438
+ post({ type: FileServerMessage.Started, portNum });
1433
1439
  if (result.hasInvalidPath && result.error) {
1434
1440
  logger.warn("file_serve_worker invalid path warning", { message: result.error.message, code: result.error.code });
1435
- parentPort?.postMessage({
1436
- type: "warning",
1441
+ post({
1442
+ type: FileServerMessage.Warning,
1437
1443
  message: result.error.message,
1438
1444
  code: result.error.code
1439
1445
  });
@@ -1441,11 +1447,11 @@ async function startFileServer(dirPath, port = 8080) {
1441
1447
  } catch (err) {
1442
1448
  console.log(err);
1443
1449
  if (err instanceof FileServerError) {
1444
- parentPort?.postMessage({ type: "error", error: err.message, code: err.code });
1450
+ post({ type: FileServerMessage.Error, error: err.message, code: err.code });
1445
1451
  } else if (err instanceof Error) {
1446
- parentPort?.postMessage({ type: "error", error: err.message });
1452
+ post({ type: FileServerMessage.Error, error: err.message });
1447
1453
  } else {
1448
- parentPort?.postMessage({ type: "error", error: String(err) });
1454
+ post({ type: FileServerMessage.Error, error: String(err) });
1449
1455
  }
1450
1456
  logger.debug("Error in FileServer thread", err);
1451
1457
  process.exit(1);
@@ -0,0 +1,27 @@
1
+ import tseslint from "@typescript-eslint/eslint-plugin";
2
+ import parser from "@typescript-eslint/parser";
3
+
4
+ export default [
5
+ {
6
+ ignores: ["**/_tests_/**"],
7
+ },
8
+ {
9
+ files: ["**/*.ts"],
10
+ languageOptions: {
11
+ parser,
12
+ parserOptions: {
13
+ project: "./tsconfig.json",
14
+ },
15
+ },
16
+ plugins: {
17
+ "@typescript-eslint": tseslint,
18
+ },
19
+ rules: {
20
+ "@typescript-eslint/no-explicit-any": "error",
21
+ "@typescript-eslint/no-floating-promises": "error",
22
+ "@typescript-eslint/await-thenable": "error",
23
+ "@typescript-eslint/require-await": "warn",
24
+ "no-duplicate-imports": "error",
25
+ },
26
+ },
27
+ ];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pinggy",
3
- "version": "0.4.9",
3
+ "version": "0.5.0",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "description": "Create secure, shareable tunnels to your localhost and manage them from the command line. ",
@@ -11,8 +11,9 @@
11
11
  "pinggy": "dist/index.cjs"
12
12
  },
13
13
  "scripts": {
14
+ "lint": "eslint src --ext .ts",
14
15
  "build:tsc": "tsc",
15
- "build": "tsup",
16
+ "build": "npm run lint && tsup",
16
17
  "start": "node dist/index.js",
17
18
  "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js",
18
19
  "bump": "node scripts/bumpVersion.js --bump && npm install",
@@ -51,7 +52,7 @@
51
52
  ]
52
53
  },
53
54
  "dependencies": {
54
- "@pinggy/pinggy": "^0.4.6",
55
+ "@pinggy/pinggy": "^0.4.8",
55
56
  "blessed": "^0.1.81",
56
57
  "clipboardy": "^5.0.0",
57
58
  "mime": "^4.1.0",
@@ -68,7 +69,10 @@
68
69
  "@types/qrcode": "^1.5.6",
69
70
  "@types/qrcode-terminal": "^0.12.2",
70
71
  "@types/ws": "^8.18.1",
72
+ "@typescript-eslint/eslint-plugin": "^8.60.0",
73
+ "@typescript-eslint/parser": "^8.60.0",
71
74
  "@yao-pkg/pkg": "^6.11.0",
75
+ "eslint": "^10.4.0",
72
76
  "jest": "^30.1.2",
73
77
  "ts-jest": "^29.4.1",
74
78
  "ts-node": "^10.9.2",
@@ -80,4 +84,4 @@
80
84
  "type": "git",
81
85
  "url": "git+https://github.com/Pinggy-io/cli-js.git"
82
86
  }
83
- }
87
+ }