iproutejs 2.3.2 → 2.3.3
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 +51 -0
- package/lib/common/errors/command.d.ts +15 -1
- package/lib/common/errors/command.js +28 -3
- package/lib/common/errors/command.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +3 -2
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -181,6 +181,57 @@ Both of these calls are valid:
|
|
|
181
181
|
|
|
182
182
|
A **PR** is more than welcome.
|
|
183
183
|
|
|
184
|
+
## Error Handling
|
|
185
|
+
|
|
186
|
+
All write operations (`add`, `del`, `set`, …) throw a `CommandError` when the underlying `ip` command writes to stderr.
|
|
187
|
+
The error has two useful properties:
|
|
188
|
+
|
|
189
|
+
| Property | Type | Description |
|
|
190
|
+
|----------|------|-------------|
|
|
191
|
+
| `message` | `string` | Raw stderr text from the `ip` command |
|
|
192
|
+
| `code` | `string` | Typed reason code — see `CommandErrorCodes` |
|
|
193
|
+
| `cmd` | `string` | Full command line that was executed |
|
|
194
|
+
|
|
195
|
+
Import the constants to avoid magic strings in your catch blocks:
|
|
196
|
+
|
|
197
|
+
```typescript
|
|
198
|
+
import { address, CommandError, CommandErrorCodes } from 'iproutejs';
|
|
199
|
+
|
|
200
|
+
try {
|
|
201
|
+
await address.add({ local: '192.168.1.1/24', dev: 'eth0', sudo: true });
|
|
202
|
+
} catch (err) {
|
|
203
|
+
if (err instanceof CommandError) {
|
|
204
|
+
switch (err.code) {
|
|
205
|
+
case CommandErrorCodes.ALREADY_EXISTS:
|
|
206
|
+
// iproute2: "RTNETLINK answers: File exists"
|
|
207
|
+
// or newer: "Error: ipv4: Address already assigned."
|
|
208
|
+
console.log('Address already configured — skipping');
|
|
209
|
+
break;
|
|
210
|
+
case CommandErrorCodes.NO_DEVICE:
|
|
211
|
+
// iproute2: "Cannot find device\"eth0\""
|
|
212
|
+
throw new Error(`Network device not found: ${err.message}`);
|
|
213
|
+
case CommandErrorCodes.NOT_FOUND:
|
|
214
|
+
// iproute2: "RTNETLINK answers: No such process"
|
|
215
|
+
console.log('Object does not exist — nothing to remove');
|
|
216
|
+
break;
|
|
217
|
+
default:
|
|
218
|
+
throw err; // ERR_COMMAND_ERRORED — unexpected error
|
|
219
|
+
}
|
|
220
|
+
} else {
|
|
221
|
+
throw err;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
### Available `CommandErrorCodes`
|
|
227
|
+
|
|
228
|
+
| Code | Triggers on |
|
|
229
|
+
|------|-------------|
|
|
230
|
+
| `ERR_ALREADY_EXISTS` | `File exists` \| `Address already assigned` |
|
|
231
|
+
| `ERR_NO_DEVICE` | `No such device` \| `Cannot find device` |
|
|
232
|
+
| `ERR_NOT_FOUND` | `No such process` |
|
|
233
|
+
| `ERR_COMMAND_ERRORED` | any other stderr output (fallback) |
|
|
234
|
+
|
|
184
235
|
## Issues
|
|
185
236
|
|
|
186
237
|
The source code can be accessed on [GitHub](https://github.com/jakguel/iproutejs).
|
|
@@ -1,9 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Known reason codes for {@link CommandError}.
|
|
3
|
+
* @category Errors
|
|
4
|
+
*/
|
|
5
|
+
export declare const CommandErrorCodes: {
|
|
6
|
+
/** Address or route already exists (iproute2: "File exists" or "Address already assigned"). */
|
|
7
|
+
readonly ALREADY_EXISTS: "ERR_ALREADY_EXISTS";
|
|
8
|
+
/** Network device not found (iproute2: "No such device" or "Cannot find device"). */
|
|
9
|
+
readonly NO_DEVICE: "ERR_NO_DEVICE";
|
|
10
|
+
/** Object not found (iproute2: "No such process"). */
|
|
11
|
+
readonly NOT_FOUND: "ERR_NOT_FOUND";
|
|
12
|
+
/** Generic fallback — stderr did not match any known pattern. */
|
|
13
|
+
readonly COMMAND_ERRORED: "ERR_COMMAND_ERRORED";
|
|
14
|
+
};
|
|
1
15
|
/**
|
|
2
16
|
* Error class to be used when the command throws an error.
|
|
3
17
|
* @category Errors
|
|
4
18
|
*/
|
|
5
19
|
export declare class CommandError extends Error {
|
|
6
|
-
/** Code to identify the error in `catch` clauses. */
|
|
20
|
+
/** Code to identify the error in `catch` clauses. See {@link CommandErrorCodes}. */
|
|
7
21
|
code: string;
|
|
8
22
|
/** Command line that triggered the command error. */
|
|
9
23
|
cmd: string;
|
|
@@ -1,6 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CommandError = void 0;
|
|
3
|
+
exports.CommandError = exports.CommandErrorCodes = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Known reason codes for {@link CommandError}.
|
|
6
|
+
* @category Errors
|
|
7
|
+
*/
|
|
8
|
+
exports.CommandErrorCodes = {
|
|
9
|
+
/** Address or route already exists (iproute2: "File exists" or "Address already assigned"). */
|
|
10
|
+
ALREADY_EXISTS: 'ERR_ALREADY_EXISTS',
|
|
11
|
+
/** Network device not found (iproute2: "No such device" or "Cannot find device"). */
|
|
12
|
+
NO_DEVICE: 'ERR_NO_DEVICE',
|
|
13
|
+
/** Object not found (iproute2: "No such process"). */
|
|
14
|
+
NOT_FOUND: 'ERR_NOT_FOUND',
|
|
15
|
+
/** Generic fallback — stderr did not match any known pattern. */
|
|
16
|
+
COMMAND_ERRORED: 'ERR_COMMAND_ERRORED',
|
|
17
|
+
};
|
|
18
|
+
function deriveCode(message) {
|
|
19
|
+
if (message.includes('File exists') || message.includes('Address already assigned')) {
|
|
20
|
+
return exports.CommandErrorCodes.ALREADY_EXISTS;
|
|
21
|
+
}
|
|
22
|
+
if (message.includes('No such device') || message.includes('Cannot find device')) {
|
|
23
|
+
return exports.CommandErrorCodes.NO_DEVICE;
|
|
24
|
+
}
|
|
25
|
+
if (message.includes('No such process')) {
|
|
26
|
+
return exports.CommandErrorCodes.NOT_FOUND;
|
|
27
|
+
}
|
|
28
|
+
return exports.CommandErrorCodes.COMMAND_ERRORED;
|
|
29
|
+
}
|
|
4
30
|
/**
|
|
5
31
|
* Error class to be used when the command throws an error.
|
|
6
32
|
* @category Errors
|
|
@@ -9,11 +35,10 @@ class CommandError extends Error {
|
|
|
9
35
|
constructor(message, cmd) {
|
|
10
36
|
// 'Error' breaks prototype chain here.
|
|
11
37
|
super(message);
|
|
12
|
-
/** Code to identify the error in `catch` clauses. */
|
|
13
|
-
this.code = 'ERR_COMMAND_ERRORED';
|
|
14
38
|
// Fixing the break.
|
|
15
39
|
Object.setPrototypeOf(this, CommandError.prototype);
|
|
16
40
|
this.cmd = cmd;
|
|
41
|
+
this.code = deriveCode(message);
|
|
17
42
|
}
|
|
18
43
|
}
|
|
19
44
|
exports.CommandError = CommandError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/common/errors/command.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,MAAa,YAAa,SAAQ,KAAK;IAOrC,YAAY,OAAe,EAAE,GAAW;QACtC,uCAAuC;QACvC,KAAK,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/common/errors/command.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACU,QAAA,iBAAiB,GAAG;IAC/B,+FAA+F;IAC/F,cAAc,EAAG,oBAAoB;IACrC,qFAAqF;IACrF,SAAS,EAAQ,eAAe;IAChC,sDAAsD;IACtD,SAAS,EAAQ,eAAe;IAChC,iEAAiE;IACjE,eAAe,EAAE,qBAAqB;CAC9B,CAAC;AAEX,SAAS,UAAU,CAAC,OAAe;IACjC,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE;QACnF,OAAO,yBAAiB,CAAC,cAAc,CAAC;KACzC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE;QAChF,OAAO,yBAAiB,CAAC,SAAS,CAAC;KACpC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;QACvC,OAAO,yBAAiB,CAAC,SAAS,CAAC;KACpC;IACD,OAAO,yBAAiB,CAAC,eAAe,CAAC;AAC3C,CAAC;AAED;;;GAGG;AACH,MAAa,YAAa,SAAQ,KAAK;IAOrC,YAAY,OAAe,EAAE,GAAW;QACtC,uCAAuC;QACvC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,oBAAoB;QACpB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;QAEpD,IAAI,CAAC,GAAG,GAAI,GAAG,CAAC;QAChB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;CACF;AAhBD,oCAgBC"}
|
package/lib/index.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ export { SchemaIds } from './common/constants/schemas';
|
|
|
19
19
|
export { mac, hex4Digits, ipv4, ipv6, ip, ipWithOptionalMask, ipWithRequiredMask, ipOrAny, ipWithOptionalMaskAndAllAndDefaultValues, ipWithRequiredMaskAndAllAndDefaultValues, ipWithOptionalFamilyPrefix, slashSeparatedStrings, slashSeparatedNumbers, commaSeparatedIpv6Addresses, timeWithUnit, colonSeparatedNumbers } from './common/constants/regexes';
|
|
20
20
|
export { GlobalOptions, Empty, FilePathRequiredGlobalOption, StdinRequiredGlobalOption, GlobalOptionsWithRequiredFilePath, GlobalOptionsWithRequiredStdin } from './common/interfaces/common';
|
|
21
21
|
export { MonitorEmittedData } from './common/interfaces/monitor';
|
|
22
|
-
export { CommandError } from './common/errors/command';
|
|
22
|
+
export { CommandError, CommandErrorCodes } from './common/errors/command';
|
|
23
23
|
export { ParametersError } from './common/errors/parameters';
|
|
24
24
|
/**
|
|
25
25
|
* Read commands from provided file or standard input and invoke them.
|
package/lib/index.js
CHANGED
|
@@ -26,8 +26,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.
|
|
30
|
-
exports.MonitorCommand = exports.Command = exports.utils = exports.mroute = exports.maddress = exports.TunTapTunnelModes = exports.tuntap = exports.TunnelModes = exports.tunnel = exports.ntable = exports.NudStates = exports.neighbour = exports.addrlabel = exports.MonitorObjects = exports.monitor = exports.RuleTypes = exports.RoutingTables = exports.rule = exports.RouteTypes = exports.RoutingTableProtocols = exports.RouteRoutingTables = exports.EncapTypes = exports.EncapSeg6LocalActions = void 0;
|
|
29
|
+
exports.route = exports.AddressFamilies = exports.AddressScopes = exports.address = exports.XdpOptionTypes = exports.BridgeSlavePortStates = exports.AddrGenMode = exports.SecureAssociationEncodings = exports.MacsecValidationModeOptions = exports.MldVersions = exports.IgmpVersions = exports.MultiCastRouterOptions = exports.HsrProtocols = exports.HsrVersions = exports.MacvlanMacvtapModes = exports.TtlSpecialValues = exports.ErspanDirections = exports.IpoIbModes = exports.IpipSipDeviceModes = exports.SecondaryUdpEncapsulations = exports.DontFragmentFlagValues = exports.VlanProtocols = exports.ExtendedLinkTypes = exports.LinkTypes = exports.link = exports.batch = exports.ParametersError = exports.CommandErrorCodes = exports.CommandError = exports.colonSeparatedNumbers = exports.timeWithUnit = exports.commaSeparatedIpv6Addresses = exports.slashSeparatedNumbers = exports.slashSeparatedStrings = exports.ipWithOptionalFamilyPrefix = exports.ipWithRequiredMaskAndAllAndDefaultValues = exports.ipWithOptionalMaskAndAllAndDefaultValues = exports.ipOrAny = exports.ipWithRequiredMask = exports.ipWithOptionalMask = exports.ip = exports.ipv6 = exports.ipv4 = exports.hex4Digits = exports.mac = exports.SchemaIds = exports.EnableDisableAutoToggle = exports.EnableDisableAsStringToggle = exports.EnableDisableToggle = exports.OnOffToggle = void 0;
|
|
30
|
+
exports.MonitorCommand = exports.Command = exports.utils = exports.mroute = exports.maddress = exports.TunTapTunnelModes = exports.tuntap = exports.TunnelModes = exports.tunnel = exports.ntable = exports.NudStates = exports.neighbour = exports.addrlabel = exports.MonitorObjects = exports.monitor = exports.RuleTypes = exports.RoutingTables = exports.rule = exports.RouteTypes = exports.RoutingTableProtocols = exports.RouteRoutingTables = exports.EncapTypes = exports.EncapSeg6LocalActions = exports.RoutePreferences = void 0;
|
|
31
31
|
// Special commands not pertaining to a specific command object.
|
|
32
32
|
const batchModule = __importStar(require("./commands/batch"));
|
|
33
33
|
exports.batch = batchModule;
|
|
@@ -121,6 +121,7 @@ Object.defineProperty(exports, "colonSeparatedNumbers", { enumerable: true, get:
|
|
|
121
121
|
//
|
|
122
122
|
var command_2 = require("./common/errors/command");
|
|
123
123
|
Object.defineProperty(exports, "CommandError", { enumerable: true, get: function () { return command_2.CommandError; } });
|
|
124
|
+
Object.defineProperty(exports, "CommandErrorCodes", { enumerable: true, get: function () { return command_2.CommandErrorCodes; } });
|
|
124
125
|
var parameters_1 = require("./common/errors/parameters");
|
|
125
126
|
Object.defineProperty(exports, "ParametersError", { enumerable: true, get: function () { return parameters_1.ParametersError; } });
|
|
126
127
|
var link_constants_1 = require("./commands/link.constants");
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gEAAgE;AAChE,8DAAgD;AAyHxB,4BAAK;AAxH7B,6DAA6C;AAE7C,iCAAiC;AACjC,4DAA8C;AAkIvB,0BAAI;AAjI3B,2DAA2C;AAE3C,+BAA+B;AAC/B,kEAAoD;AA+M1B,gCAAO;AA9MjC,iEAAiD;AAEjD,4BAA4B;AAC5B,8DAAgD;AAoOxB,4BAAK;AAnO7B,6DAA6C;AAE7C,6CAA6C;AAC7C,4DAA8C;AAsQvB,0BAAI;AArQ3B,2DAA2C;AAE3C,oBAAoB;AACpB,kEAAoD;AAkR1B,gCAAO;AAjRjC,iEAAiD;AAEjD,qCAAqC;AACrC,sEAAwD;AAiS5B,oCAAS;AAhSrC,qEAAqD;AAErD,mCAAmC;AACnC,sEAAwD;AAoT5B,oCAAS;AAnTrC,qEAAqD;AAErD,iCAAiC;AACjC,gEAAkD;AAqUzB,8BAAM;AApU/B,+DAA+C;AAE/C,wBAAwB;AACxB,gEAAkD;AAoVzB,8BAAM;AAnV/B,+DAA+C;AAE/C,wBAAwB;AACxB,gEAAkD;AAiWzB,8BAAM;AAhW/B,+DAA+C;AAE/C,0BAA0B;AAC1B,oEAAsD;AA4W3B,kCAAQ;AA3WnC,mEAAmD;AAEnD,sCAAsC;AACtC,gEAAkD;AA6XzB,8BAAM;AA5X/B,+DAA+C;AAE/C,2FAA2F;AAC3F,qDAAuC;AAqYf,4BAAK;AApY7B,oDAAoC;AAEpC,UAAU;AACV,uEAA+C;AAqY3B,kBArYb,iBAAO,CAqYa;AApY3B,uFAA8D;AAqYnC,yBArYpB,yBAAc,CAqYoB;AAnYzC,EAAE;AACF,oBAAoB;AACpB,EAAE;AACF,wEAK6C;AAJ3C,+GAAA,WAAW,OAAA;AACX,uHAAA,mBAAmB,OAAA;AACnB,+HAAA,2BAA2B,OAAA;AAC3B,2HAAA,uBAAuB,OAAA;AAGzB,sDAAuD;AAA9C,oGAAA,SAAS,OAAA;AAElB,sDAiBoC;AAhBlC,8FAAA,GAAG,OAAA;AACH,qGAAA,UAAU,OAAA;AACV,+FAAA,IAAI,OAAA;AACJ,+FAAA,IAAI,OAAA;AACJ,6FAAA,EAAE,OAAA;AACF,6GAAA,kBAAkB,OAAA;AAClB,6GAAA,kBAAkB,OAAA;AAClB,kGAAA,OAAO,OAAA;AACP,mIAAA,wCAAwC,OAAA;AACxC,mIAAA,wCAAwC,OAAA;AACxC,qHAAA,0BAA0B,OAAA;AAC1B,gHAAA,qBAAqB,OAAA;AACrB,gHAAA,qBAAqB,OAAA;AACrB,sHAAA,2BAA2B,OAAA;AAC3B,uGAAA,YAAY,OAAA;AACZ,gHAAA,qBAAqB,OAAA;AAiBvB,EAAE;AACF,iBAAiB;AACjB,EAAE;AACF,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "iproutejs",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.3",
|
|
4
4
|
"description": "Show and manipulate network devices, addresses, routing, policy routing, tunnels, IP forwarding, address labels and other `iproute` objects.",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|