Skip to content

Commit

Permalink
feat: ESM support
Browse files Browse the repository at this point in the history
feat: automatic .d.ts generation

chore(deps): yargs@17
  • Loading branch information
jonasgloning committed Jan 9, 2023
1 parent 59d4f66 commit 2b73b5c
Show file tree
Hide file tree
Showing 6 changed files with 11,790 additions and 7,495 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ coverage
*.pid
*.gz

.parcel-cache
dist
pids
logs
Expand Down
77 changes: 43 additions & 34 deletions bin/peerjs → bin/peerjs.ts
100755 → 100644
Original file line number Diff line number Diff line change
@@ -1,75 +1,80 @@
#!/usr/bin/env node
// tslint:disable

const path = require("path");
const pkg = require("../package.json");
const fs = require("fs");
import path from "path";
import {version} from "../package.json";
import fs from "fs";
const optimistUsageLength = 98;
const yargs = require("yargs");
const version = pkg.version;
const { PeerServer } = require("../dist/src");
const opts = yargs
import yargs from "yargs";
import { PeerServer } from "../src";
import { AddressInfo } from "net";
const opts = yargs
.usage("Usage: $0")
.wrap(Math.min(optimistUsageLength, yargs.terminalWidth()))
.options({
expire_timeout: {
demandOption: false,
alias: "t",
describe: "timeout (milliseconds)",
default: 5000
default: 5000,
},
concurrent_limit: {
demandOption: false,
alias: "c",
describe: "concurrent limit",
default: 5000
default: 5000,
},
alive_timeout: {
demandOption: false,
describe: "broken connection check timeout (milliseconds)",
default: 60000
default: 60000,
},
key: {
demandOption: false,
alias: "k",
describe: "connection key",
default: "peerjs"
default: "peerjs",
},
sslkey: {
type: "string",
demandOption: false,
describe: "path to SSL key"
describe: "path to SSL key",
},
sslcert: {
type: "string",
demandOption: false,
describe: "path to SSL certificate"
describe: "path to SSL certificate",
},
host: {
type: "string",
demandOption: false,
alias: "H",
describe: "host"
describe: "host",
},
port: {
type: "number",
demandOption: true,
alias: "p",
describe: "port"
describe: "port",
},
path: {
type: "string",
demandOption: false,
describe: "custom path",
default: "/"
default: "/",
},
allow_discovery: {
type: "boolean",
demandOption: false,
describe: "allow discovery of peers"
describe: "allow discovery of peers",
},
proxied: {
type: "boolean",
demandOption: false,
describe: "Set true if PeerServer stays behind a reverse proxy",
default: false
}
default: false,
},
})
.boolean("allow_discovery")
.argv;
.boolean("allow_discovery").argv;

process.on("uncaughtException", function (e) {
console.error("Error: " + e);
Expand All @@ -79,44 +84,48 @@ if (opts.sslkey || opts.sslcert) {
if (opts.sslkey && opts.sslcert) {
opts.ssl = {
key: fs.readFileSync(path.resolve(opts.sslkey)),
cert: fs.readFileSync(path.resolve(opts.sslcert))
cert: fs.readFileSync(path.resolve(opts.sslcert)),
};

delete opts.sslkey;
delete opts.sslcert;
} else {
console.error("Warning: PeerServer will not run because either " +
"the key or the certificate has not been provided.");
console.error(
"Warning: PeerServer will not run because either " +
"the key or the certificate has not been provided."
);
process.exit(1);
}
}

const userPath = opts.path;
const server = PeerServer(opts, server => {
const host = server.address().address;
const port = server.address().port;
const server = PeerServer(opts, (server) => {
const { address: host, port } = server.address() as AddressInfo;

console.log(
"Started PeerServer on %s, port: %s, path: %s (v. %s)",
host, port, userPath || "/", version
host,
port,
userPath || "/",
version
);

const shutdownApp = () => {
server.close(() => {
console.log('Http server closed.');
console.log("Http server closed.");

process.exit(0);
});
};

process.on('SIGINT', shutdownApp);
process.on('SIGTERM', shutdownApp);
process.on("SIGINT", shutdownApp);
process.on("SIGTERM", shutdownApp);
});

server.on("connection", client => {
server.on("connection", (client) => {
console.log(`Client connected: ${client.getId()}`);
});

server.on("disconnect", client => {
server.on("disconnect", (client) => {
console.log(`Client disconnected: ${client.getId()}`);
});
Loading

0 comments on commit 2b73b5c

Please sign in to comment.