chore: build
This commit is contained in:
+23
@@ -1,5 +1,28 @@
|
||||
# lan-network
|
||||
|
||||
## 0.2.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Add missing `socket.close` for DHCP discover on timeout
|
||||
Submitted by [@kitten](https://github.com/kitten) (See [`ee60e14`](https://github.com/kitten/lan-network/commit/ee60e1415dc323843c07e3a0d0acda998ed2d9ae))
|
||||
|
||||
## 0.2.0
|
||||
|
||||
### Minor Changes
|
||||
|
||||
- Add `noProbe` and `noDhcp` options
|
||||
Submitted by [@kitten](https://github.com/kitten) (See [#18](https://github.com/kitten/lan-network/pull/18))
|
||||
|
||||
## 0.1.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Deprioritize `bridge*` interfaces as internal networks
|
||||
Submitted by [@kitten](https://github.com/kitten) (See [#15](https://github.com/kitten/lan-network/pull/15))
|
||||
- Update rollup config for reduced output and exclude sources from sourcemaps
|
||||
Submitted by [@kitten](https://github.com/kitten) (See [#17](https://github.com/kitten/lan-network/pull/17))
|
||||
|
||||
## 0.1.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
-3
@@ -1,9 +1,6 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) Phil Pluckthun,
|
||||
Copyright (c) 2016 - 2020 Node Fetch Team,
|
||||
Copyright (c) Remix Software Inc. 2020-2021,
|
||||
Copyright (c) Shopify Inc. 2022-2024
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
+145
-131
@@ -1,14 +1,14 @@
|
||||
var r = require("child_process");
|
||||
var e = require("child_process");
|
||||
|
||||
var e = require("node:crypto");
|
||||
var t = require("node:crypto");
|
||||
|
||||
var t = require("node:dgram");
|
||||
var r = require("node:dgram");
|
||||
|
||||
var a = require("node:os");
|
||||
var n = require("node:os");
|
||||
|
||||
var s = require("dgram");
|
||||
|
||||
var n = {
|
||||
const o = {
|
||||
iname: "lo0",
|
||||
address: "127.0.0.1",
|
||||
netmask: "255.0.0.0",
|
||||
@@ -19,85 +19,85 @@ var n = {
|
||||
gateway: null
|
||||
};
|
||||
|
||||
var parseMacStr = r => r.split(":").slice(0, 16).map((r => parseInt(r, 16)));
|
||||
const parseMacStr = e => e.split(":").slice(0, 16).map((e => parseInt(e, 16)));
|
||||
|
||||
var parseIpStr = r => {
|
||||
var e = r.split(".").slice(0, 4).map((r => parseInt(r, 10)));
|
||||
return e[3] | e[2] << 8 | e[1] << 16 | e[0] << 24;
|
||||
const parseIpStr = e => {
|
||||
const t = e.split(".").slice(0, 4).map((e => parseInt(e, 10)));
|
||||
return t[3] | t[2] << 8 | t[1] << 16 | t[0] << 24;
|
||||
};
|
||||
|
||||
var getSubnetPriority = r => {
|
||||
if (r.startsWith("192.")) {
|
||||
const getSubnetPriority = e => {
|
||||
if (e.startsWith("192.")) {
|
||||
return 5;
|
||||
} else if (r.startsWith("172.")) {
|
||||
} else if (e.startsWith("172.")) {
|
||||
return 4;
|
||||
} else if (r.startsWith("10.")) {
|
||||
} else if (e.startsWith("10.")) {
|
||||
return 3;
|
||||
} else if (r.startsWith("100.")) {
|
||||
} else if (e.startsWith("100.")) {
|
||||
return 2;
|
||||
} else if (r.startsWith("127.")) {
|
||||
} else if (e.startsWith("127.")) {
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
};
|
||||
|
||||
var isInternal = r => {
|
||||
if (r.internal) {
|
||||
const isInternal = e => {
|
||||
if (e.internal) {
|
||||
return !0;
|
||||
}
|
||||
var e = parseMacStr(r.mac);
|
||||
if (e.every((r => !r))) {
|
||||
const t = parseMacStr(e.mac);
|
||||
if (t.every((e => !e))) {
|
||||
return !0;
|
||||
} else if (0 === e[0] && 21 === e[1] && 93 === e[2]) {
|
||||
} else if (0 === t[0] && 21 === t[1] && 93 === t[2]) {
|
||||
return !0;
|
||||
} else if (r.iname.includes("vEthernet")) {
|
||||
} else if (e.iname.includes("vEthernet") || /^bridge\d+$/.test(e.iname)) {
|
||||
return !0;
|
||||
} else {
|
||||
return !1;
|
||||
}
|
||||
};
|
||||
|
||||
var interfaceAssignments = () => {
|
||||
var r = [];
|
||||
var e = a.networkInterfaces();
|
||||
for (var t in e) {
|
||||
var s = e[t];
|
||||
if (!s) {
|
||||
const interfaceAssignments = () => {
|
||||
const e = [];
|
||||
const t = n.networkInterfaces();
|
||||
for (const r in t) {
|
||||
const n = t[r];
|
||||
if (!n) {
|
||||
continue;
|
||||
}
|
||||
for (var n of s) {
|
||||
if ("IPv4" !== n.family) {
|
||||
for (const t of n) {
|
||||
if ("IPv4" !== t.family) {
|
||||
continue;
|
||||
}
|
||||
r.push({
|
||||
...n,
|
||||
iname: t
|
||||
e.push({
|
||||
...t,
|
||||
iname: r
|
||||
});
|
||||
}
|
||||
}
|
||||
return r.sort(((r, e) => {
|
||||
var t = getSubnetPriority(r.address);
|
||||
var a = getSubnetPriority(e.address);
|
||||
return +isInternal(r) - +isInternal(e) || a - t || parseIpStr(e.address) - parseIpStr(r.address);
|
||||
return e.sort(((e, t) => {
|
||||
const r = getSubnetPriority(e.address);
|
||||
const n = getSubnetPriority(t.address);
|
||||
return +isInternal(e) - +isInternal(t) || n - r || parseIpStr(t.address) - parseIpStr(e.address);
|
||||
}));
|
||||
};
|
||||
|
||||
var matchAssignment = (r, e) => {
|
||||
var t = parseIpStr(e);
|
||||
for (var a of r) {
|
||||
var s = parseIpStr(a.address);
|
||||
if (t === s) {
|
||||
const matchAssignment = (e, t) => {
|
||||
const r = parseIpStr(t);
|
||||
for (const n of e) {
|
||||
const e = parseIpStr(n.address);
|
||||
if (r === e) {
|
||||
return {
|
||||
...a,
|
||||
...n,
|
||||
gateway: null
|
||||
};
|
||||
}
|
||||
var n = parseIpStr(a.netmask);
|
||||
if ((t & n) == (s & n)) {
|
||||
const s = parseIpStr(n.netmask);
|
||||
if ((r & s) == (e & s)) {
|
||||
return {
|
||||
...a,
|
||||
gateway: e
|
||||
...n,
|
||||
gateway: t
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -108,59 +108,69 @@ class DHCPTimeoutError extends TypeError {
|
||||
code="ETIMEDOUT";
|
||||
}
|
||||
|
||||
var dhcpDiscover = r => new Promise(((a, s) => {
|
||||
var n = (r => (r => {
|
||||
var e = 255;
|
||||
var t = "";
|
||||
t += `${(r >>> 24 & e).toString(10)}.`;
|
||||
t += `${(r >>> 16 & e).toString(10)}.`;
|
||||
return (t += `${(r >>> 8 & e).toString(10)}.`) + (r & e).toString(10);
|
||||
})(parseIpStr(r.address) | ~parseIpStr(r.netmask)))(r);
|
||||
var o = (r => {
|
||||
var t = new Uint8Array(16);
|
||||
t.set(parseMacStr(r));
|
||||
var a = new Uint8Array(244);
|
||||
var s = e.randomBytes(4);
|
||||
a[0] = 1;
|
||||
a[1] = 1;
|
||||
a[2] = 6;
|
||||
a[3] = 0;
|
||||
a.set(s, 4);
|
||||
a[10] = 128;
|
||||
a.set(t, 28);
|
||||
a.set([ 99, 130, 83, 99 ], 236);
|
||||
a.set([ 53, 1, 1, 255 ], 240);
|
||||
return a;
|
||||
})(r.mac);
|
||||
var i = setTimeout((() => {
|
||||
const dhcpDiscover = e => new Promise(((n, s) => {
|
||||
const o = (e => (e => {
|
||||
const t = 255;
|
||||
let r = "";
|
||||
r += `${(e >>> 24 & t).toString(10)}.`;
|
||||
r += `${(e >>> 16 & t).toString(10)}.`;
|
||||
r += `${(e >>> 8 & t).toString(10)}.`;
|
||||
r += (e & t).toString(10);
|
||||
return r;
|
||||
})(parseIpStr(e.address) | ~parseIpStr(e.netmask)))(e);
|
||||
const c = (e => {
|
||||
const r = new Uint8Array(16);
|
||||
r.set(parseMacStr(e));
|
||||
const n = new Uint8Array(244);
|
||||
const s = t.randomBytes(4);
|
||||
n[0] = 1;
|
||||
n[1] = 1;
|
||||
n[2] = 6;
|
||||
n[3] = 0;
|
||||
n.set(s, 4);
|
||||
n[10] = 128;
|
||||
n.set(r, 28);
|
||||
n.set([ 99, 130, 83, 99 ], 236);
|
||||
n.set([ 53, 1, 1, 255 ], 240);
|
||||
return n;
|
||||
})(e.mac);
|
||||
const a = setTimeout((() => {
|
||||
s(new DHCPTimeoutError("Received no reply to DHCPDISCOVER in 250ms"));
|
||||
cleanup();
|
||||
}), 250);
|
||||
var u = t.createSocket({
|
||||
const i = r.createSocket({
|
||||
type: "udp4",
|
||||
reuseAddr: !0
|
||||
}, ((e, t) => {
|
||||
if (!(s = t.address, n = r.address, o = r.netmask, d = parseIpStr(s), l = parseIpStr(n),
|
||||
v = parseIpStr(o), (d & v) == (l & v))) {
|
||||
}, ((t, r) => {
|
||||
if (!((e, t, r) => {
|
||||
const n = parseIpStr(e);
|
||||
const s = parseIpStr(t);
|
||||
const o = parseIpStr(r);
|
||||
return (n & o) == (s & o);
|
||||
})(r.address, e.address, e.netmask)) {
|
||||
return;
|
||||
}
|
||||
var s, n, o, d, l, v;
|
||||
clearTimeout(i);
|
||||
a(t.address);
|
||||
u.close();
|
||||
u.unref();
|
||||
clearTimeout(a);
|
||||
n(r.address);
|
||||
cleanup();
|
||||
}));
|
||||
u.on("error", (r => {
|
||||
clearTimeout(i);
|
||||
s(r);
|
||||
u.close();
|
||||
u.unref();
|
||||
function cleanup() {
|
||||
try {
|
||||
i.close();
|
||||
i.unref();
|
||||
} catch {}
|
||||
}
|
||||
i.on("error", (e => {
|
||||
clearTimeout(a);
|
||||
s(e);
|
||||
cleanup();
|
||||
}));
|
||||
u.bind(68, (() => {
|
||||
u.setBroadcast(!0);
|
||||
u.setSendBufferSize(o.length);
|
||||
u.send(o, 0, o.length, 67, n, (r => {
|
||||
if (r) {
|
||||
s(r);
|
||||
i.bind(68, (() => {
|
||||
i.setBroadcast(!0);
|
||||
i.setSendBufferSize(c.length);
|
||||
i.send(c, 0, c.length, 67, o, (e => {
|
||||
if (e) {
|
||||
s(e);
|
||||
}
|
||||
}));
|
||||
}));
|
||||
@@ -170,76 +180,80 @@ class DefaultRouteError extends TypeError {
|
||||
code="ECONNABORT";
|
||||
}
|
||||
|
||||
var probeDefaultRoute = () => new Promise(((r, e) => {
|
||||
var t = s.createSocket({
|
||||
const probeDefaultRoute = () => new Promise(((e, t) => {
|
||||
const r = s.createSocket({
|
||||
type: "udp4",
|
||||
reuseAddr: !0
|
||||
});
|
||||
t.on("error", (r => {
|
||||
e(r);
|
||||
t.close();
|
||||
t.unref();
|
||||
r.on("error", (e => {
|
||||
t(e);
|
||||
r.close();
|
||||
r.unref();
|
||||
}));
|
||||
t.connect(53, "1.1.1.1", (() => {
|
||||
var a = t.address();
|
||||
if (a && "address" in a && "0.0.0.0" !== a.address) {
|
||||
r(a.address);
|
||||
r.connect(53, "1.1.1.1", (() => {
|
||||
const n = r.address();
|
||||
if (n && "address" in n && "0.0.0.0" !== n.address) {
|
||||
e(n.address);
|
||||
} else {
|
||||
e(new DefaultRouteError("No route to host"));
|
||||
t(new DefaultRouteError("No route to host"));
|
||||
}
|
||||
t.close();
|
||||
t.unref();
|
||||
r.close();
|
||||
r.unref();
|
||||
}));
|
||||
}));
|
||||
|
||||
exports.DEFAULT_ASSIGNMENT = n;
|
||||
exports.DEFAULT_ASSIGNMENT = o;
|
||||
|
||||
exports.dhcpDiscover = dhcpDiscover;
|
||||
|
||||
exports.interfaceAssignments = interfaceAssignments;
|
||||
|
||||
exports.lanNetwork = async function lanNetwork() {
|
||||
var r = interfaceAssignments();
|
||||
if (!r.length) {
|
||||
return n;
|
||||
exports.lanNetwork = async function lanNetwork(e) {
|
||||
const t = interfaceAssignments();
|
||||
if (!t.length) {
|
||||
return o;
|
||||
}
|
||||
var e;
|
||||
try {
|
||||
var t = await probeDefaultRoute();
|
||||
if ((e = matchAssignment(r, t)) && !isInternal(e)) {
|
||||
return e;
|
||||
}
|
||||
} catch {}
|
||||
var a = await Promise.allSettled(r.map((r => dhcpDiscover(r))));
|
||||
for (var s of a) {
|
||||
if ("fulfilled" === s.status && s.value) {
|
||||
if (e = matchAssignment(r, s.value)) {
|
||||
return e;
|
||||
let r;
|
||||
if (!e?.noProbe) {
|
||||
try {
|
||||
const e = await probeDefaultRoute();
|
||||
if ((r = matchAssignment(t, e)) && !isInternal(r)) {
|
||||
return r;
|
||||
}
|
||||
} catch {}
|
||||
}
|
||||
if (!e?.noDhcp) {
|
||||
const e = await Promise.allSettled(t.map((e => dhcpDiscover(e))));
|
||||
for (const n of e) {
|
||||
if ("fulfilled" === n.status && n.value) {
|
||||
if (r = matchAssignment(t, n.value)) {
|
||||
return r;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return {
|
||||
...r[0],
|
||||
...t[0],
|
||||
gateway: null
|
||||
};
|
||||
};
|
||||
|
||||
exports.lanNetworkSync = function lanNetworkSync() {
|
||||
var e = require.resolve("lan-network/subprocess");
|
||||
var {error: t, status: a, stdout: s} = r.spawnSync(process.execPath, [ e ], {
|
||||
exports.lanNetworkSync = function lanNetworkSync(t) {
|
||||
const r = require.resolve("lan-network/subprocess");
|
||||
const {error: n, status: s, stdout: c} = e.spawnSync(process.execPath, [ r, t?.noProbe ? "--no-probe" : null, t?.noDhcp ? "--no-dhcp" : null ].filter((e => !!e)), {
|
||||
shell: !1,
|
||||
timeout: 500,
|
||||
encoding: "utf8",
|
||||
windowsVerbatimArguments: !1,
|
||||
windowsHide: !0
|
||||
});
|
||||
if (a || t) {
|
||||
return n;
|
||||
} else if (!a && "string" == typeof s) {
|
||||
var o = JSON.parse(s.trim());
|
||||
return "object" == typeof o && o && "address" in o ? o : n;
|
||||
if (s || n) {
|
||||
return o;
|
||||
} else if (!s && "string" == typeof c) {
|
||||
const e = JSON.parse(c.trim());
|
||||
return "object" == typeof e && e && "address" in e ? e : o;
|
||||
} else {
|
||||
return n;
|
||||
return o;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+34
-34
@@ -2,28 +2,28 @@
|
||||
var e = require("./chunks/index-chunk.js");
|
||||
|
||||
!function cli() {
|
||||
var r = "default";
|
||||
e: for (var a = 1; a < process.argv.length; a++) {
|
||||
var o = process.argv[a].trim().toLowerCase();
|
||||
let t = "default";
|
||||
e: for (let e = 1; e < process.argv.length; e++) {
|
||||
const o = process.argv[e].trim().toLowerCase();
|
||||
switch (o) {
|
||||
case "-h":
|
||||
case "--help":
|
||||
r = "help";
|
||||
t = "help";
|
||||
break e;
|
||||
|
||||
case "-d":
|
||||
case "--dhcp":
|
||||
r = "dhcp";
|
||||
t = "dhcp";
|
||||
break;
|
||||
|
||||
case "-p":
|
||||
case "--probe":
|
||||
r = "probe";
|
||||
t = "probe";
|
||||
break;
|
||||
|
||||
case "-f":
|
||||
case "--fallback":
|
||||
r = "fallback";
|
||||
t = "fallback";
|
||||
break;
|
||||
|
||||
default:
|
||||
@@ -32,31 +32,31 @@ var e = require("./chunks/index-chunk.js");
|
||||
}
|
||||
}
|
||||
}
|
||||
switch (r) {
|
||||
switch (t) {
|
||||
case "help":
|
||||
return function help() {
|
||||
var e = [ "Discover the machine's default gateway and local network IP (test utility)", "", "Usage", " $ lan-network", " $ lan-network --default", "", "Modes", " --probe Discover gateway via UDP4 socket to publicly routed address", " --dhcp Discover gateway via DHCPv4 discover broadcast", " --fallback Return highest-priority IPv4 network interface assignment", " --default Try the three above modes in order", " --help Print help output" ].join("\n");
|
||||
const e = [ "Discover the machine's default gateway and local network IP (test utility)", "", "Usage", " $ lan-network", " $ lan-network --default", "", "Modes", " --probe Discover gateway via UDP4 socket to publicly routed address", " --dhcp Discover gateway via DHCPv4 discover broadcast", " --fallback Return highest-priority IPv4 network interface assignment", " --default Try the three above modes in order", " --help Print help output" ].join("\n");
|
||||
console.log(e);
|
||||
}();
|
||||
|
||||
case "dhcp":
|
||||
return async function dhcp() {
|
||||
var r = e.interfaceAssignments();
|
||||
if (!r.length) {
|
||||
const t = e.interfaceAssignments();
|
||||
if (!t.length) {
|
||||
console.error("No available network interface assignments");
|
||||
process.exit(1);
|
||||
}
|
||||
var a = await Promise.allSettled(r.map((r => e.dhcpDiscover(r))));
|
||||
var o = null;
|
||||
for (var s of a) {
|
||||
if ("fulfilled" === s.status && s.value) {
|
||||
if (o = e.matchAssignment(r, s.value)) {
|
||||
const o = await Promise.allSettled(t.map((t => e.dhcpDiscover(t))));
|
||||
let s = null;
|
||||
for (const r of o) {
|
||||
if ("fulfilled" === r.status && r.value) {
|
||||
if (s = e.matchAssignment(t, r.value)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (o && o !== e.DEFAULT_ASSIGNMENT) {
|
||||
console.log(JSON.stringify(o, null, 2));
|
||||
if (s && s !== e.DEFAULT_ASSIGNMENT) {
|
||||
console.log(JSON.stringify(s, null, 2));
|
||||
process.exit(0);
|
||||
} else {
|
||||
console.error("No DHCP router was discoverable");
|
||||
@@ -66,16 +66,16 @@ var e = require("./chunks/index-chunk.js");
|
||||
|
||||
case "probe":
|
||||
return async function probe() {
|
||||
var r = e.interfaceAssignments();
|
||||
if (!r.length) {
|
||||
const t = e.interfaceAssignments();
|
||||
if (!t.length) {
|
||||
console.error("No available network interface assignments");
|
||||
process.exit(1);
|
||||
}
|
||||
try {
|
||||
var a = await e.probeDefaultRoute();
|
||||
var o = e.matchAssignment(r, a);
|
||||
if (o && o !== e.DEFAULT_ASSIGNMENT) {
|
||||
console.log(JSON.stringify(o, null, 2));
|
||||
const o = await e.probeDefaultRoute();
|
||||
const s = e.matchAssignment(t, o);
|
||||
if (s && s !== e.DEFAULT_ASSIGNMENT) {
|
||||
console.log(JSON.stringify(s, null, 2));
|
||||
process.exit(0);
|
||||
} else {
|
||||
console.error("No default gateway or route");
|
||||
@@ -90,30 +90,30 @@ var e = require("./chunks/index-chunk.js");
|
||||
|
||||
case "fallback":
|
||||
return async function fallback() {
|
||||
var r = e.interfaceAssignments();
|
||||
if (!r.length) {
|
||||
const t = e.interfaceAssignments();
|
||||
if (!t.length) {
|
||||
console.error("No available network interface assignments");
|
||||
process.exit(1);
|
||||
}
|
||||
var a = {
|
||||
...r[0],
|
||||
const o = {
|
||||
...t[0],
|
||||
gateway: null
|
||||
};
|
||||
console.log(JSON.stringify(a, null, 2));
|
||||
console.log(JSON.stringify(o, null, 2));
|
||||
process.exit(0);
|
||||
}();
|
||||
|
||||
case "default":
|
||||
return async function main() {
|
||||
var r = await e.lanNetwork();
|
||||
if (r !== e.DEFAULT_ASSIGNMENT) {
|
||||
console.log(JSON.stringify(r, null, 2));
|
||||
(async function main() {
|
||||
const t = await e.lanNetwork();
|
||||
if (t !== e.DEFAULT_ASSIGNMENT) {
|
||||
console.log(JSON.stringify(t, null, 2));
|
||||
process.exit(0);
|
||||
} else {
|
||||
console.error("No default gateway, route, or DHCP router");
|
||||
process.exit(1);
|
||||
}
|
||||
}();
|
||||
})();
|
||||
}
|
||||
}();
|
||||
//# sourceMappingURL=lan-network-cli.js.map
|
||||
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+6
-3
@@ -1,8 +1,11 @@
|
||||
var t = require("./chunks/index-chunk.js");
|
||||
var s = require("./chunks/index-chunk.js");
|
||||
|
||||
!async function output() {
|
||||
var r = await t.lanNetwork();
|
||||
process.stdout.write(JSON.stringify(r));
|
||||
const n = await s.lanNetwork({
|
||||
noProbe: process.argv.includes("--no-probe"),
|
||||
noDhcp: process.argv.includes("--no-dhcp")
|
||||
});
|
||||
process.stdout.write(JSON.stringify(n));
|
||||
process.exit(0);
|
||||
}();
|
||||
//# sourceMappingURL=lan-network-subprocess.js.map
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"lan-network-subprocess.js","sources":["../src/subprocess.ts"],"sourcesContent":["import { lanNetwork } from './index';\n\nasync function output() {\n const assignment = await lanNetwork();\n process.stdout.write(JSON.stringify(assignment));\n process.exit(0);\n}\n\noutput();\n"],"names":["async","output","assignment","lanNetwork","process","stdout","write","JSON","stringify","exit"],"mappings":";;CAEAA,eAAeC;EACb,IAAMC,UAAmBC;EACzBC,QAAQC,OAAOC,MAAMC,KAAKC,UAAUN;EACpCE,QAAQK,KAAK;AACf,CAEAR"}
|
||||
{"version":3,"file":"lan-network-subprocess.js","sources":["../src/subprocess.ts"],"sourcesContent":null,"names":["async","output","assignment","lanNetwork","noProbe","process","argv","includes","noDhcp","stdout","write","JSON","stringify","exit"],"mappings":";;CAEAA,eAAeC;EACb,MAAMC,UAAmBC,aAAW;IAClCC,SAASC,QAAQC,KAAKC,SAAS;IAC/BC,QAAQH,QAAQC,KAAKC,SAAS;;EAEhCF,QAAQI,OAAOC,MAAMC,KAAKC,UAAUV;EACpCG,QAAQQ,KAAK;AACf,CAEAZ"}
|
||||
+7
-3
@@ -11,7 +11,11 @@ interface GatewayAssignment extends NetworkAssignment {
|
||||
gateway: string | null;
|
||||
}
|
||||
|
||||
declare function lanNetwork(): Promise<GatewayAssignment>;
|
||||
declare function lanNetworkSync(): GatewayAssignment;
|
||||
interface NetworkOptions {
|
||||
noProbe?: boolean;
|
||||
noDhcp?: boolean;
|
||||
}
|
||||
declare function lanNetwork(opts?: NetworkOptions): Promise<GatewayAssignment>;
|
||||
declare function lanNetworkSync(opts?: NetworkOptions): GatewayAssignment;
|
||||
|
||||
export { lanNetwork, lanNetworkSync };
|
||||
export { type NetworkOptions, lanNetwork, lanNetworkSync };
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"lan-network.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
|
||||
{"version":3,"file":"lan-network.js","sources":[],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;"}
|
||||
+2
-3
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "lan-network",
|
||||
"version": "0.1.7",
|
||||
"version": "0.2.1",
|
||||
"description": "Best-effort discovery of the machine's default gateway and local network IP exclusively with UDP sockets.",
|
||||
"author": "Phil Pluckthun <phil@kitten.sh>",
|
||||
"source": "./src/index.ts",
|
||||
@@ -48,9 +48,8 @@
|
||||
"url": "https://github.com/kitten/lan-network/issues"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/plugin-transform-block-scoping": "^7.25.9",
|
||||
"@babel/plugin-transform-typescript": "^7.26.7",
|
||||
"@changesets/cli": "^2.27.1",
|
||||
"@changesets/cli": "^2.29.6",
|
||||
"@changesets/get-github-info": "^0.6.0",
|
||||
"@rollup/plugin-babel": "^6.0.4",
|
||||
"@rollup/plugin-commonjs": "^28.0.2",
|
||||
|
||||
Reference in New Issue
Block a user