@firestartr/cli 3.2.0-snapshot-00 → 3.2.0-snapshot-01

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.
Files changed (2) hide show
  1. package/build/index.js +18 -5
  2. package/package.json +1 -1
package/build/index.js CHANGED
@@ -49054,6 +49054,13 @@ class Address4 {
49054
49054
  * address.correctForm(); // '192.0.2.42'
49055
49055
  */
49056
49056
  static fromArpa(arpaFormAddress) {
49057
+ // A 15-character address, a "/32" prefix length and ".in-addr.arpa.": the
49058
+ // longest name is 32 characters. Longer input is rejected before its
49059
+ // labels are split, as the constructor does at its own limit.
49060
+ const longest = constants.GROUPS * 4 - 1 + '/32'.length + '.in-addr.arpa.'.length;
49061
+ if (arpaFormAddress.length > longest) {
49062
+ throw new address_error_1.AddressError(`in-addr.arpa names are at most ${longest} characters.`);
49063
+ }
49057
49064
  // remove an ending ".in-addr.arpa", in any case and with or without the
49058
49065
  // root dot, as Address6.fromArpa does for ".ip6.arpa"
49059
49066
  const leader = arpaFormAddress.replace(/(\.in-addr\.arpa)?\.?$/i, '');
@@ -49559,10 +49566,13 @@ class Address6 {
49559
49566
  if (/\//.test(address)) {
49560
49567
  throw new address_error_1.AddressError('Invalid subnet mask.');
49561
49568
  }
49562
- const zone = constants6.RE_ZONE_STRING.exec(address);
49563
- if (zone) {
49564
- this.zone = zone[0];
49565
- address = address.replace(constants6.RE_ZONE_STRING, '');
49569
+ // A zone runs from the first `%` to the end of the input and holds no line
49570
+ // terminator. Finding it by index reads the input once, where matching
49571
+ // RE_ZONE_STRING retries from every `%` that a line terminator disqualifies.
49572
+ const zoneStart = address.indexOf('%');
49573
+ if (zoneStart !== -1 && /^.*$/.test(address.slice(zoneStart))) {
49574
+ this.zone = address.slice(zoneStart);
49575
+ address = address.slice(0, zoneStart);
49566
49576
  }
49567
49577
  // The longest well-formed address is all but the last two groups written
49568
49578
  // as four hex digits with their colons, then a 15-character dotted quad:
@@ -51022,6 +51032,9 @@ exports.RE_SUBNET_STRING = /\/\d{1,3}(?=%|$)/;
51022
51032
  * A regular expression that matches an IPv6 zone
51023
51033
  * @memberof Address6
51024
51034
  * @static
51035
+ * @deprecated Takes quadratic time on input holding many `%` characters
51036
+ * followed by a line terminator. The library finds the zone by index, as
51037
+ * `Address6`'s constructor shows, and 11.0.0 removes this export.
51025
51038
  */
51026
51039
  exports.RE_ZONE_STRING = /%.*$/;
51027
51040
  exports.RE_URL = /^(?:\[([0-9a-f:.]+)\]|([0-9a-f:.]+))(?:[/?#].*)?$/i;
@@ -364939,7 +364952,7 @@ const crsStatusSubcommand = {
364939
364952
  };
364940
364953
 
364941
364954
  ;// CONCATENATED MODULE: ./package.json
364942
- const package_namespaceObject = /*#__PURE__*/JSON.parse('{"rE":"3.2.0-snapshot-00"}');
364955
+ const package_namespaceObject = /*#__PURE__*/JSON.parse('{"rE":"3.2.0-snapshot-01"}');
364943
364956
  ;// CONCATENATED MODULE: ../../package.json
364944
364957
  const package_namespaceObject_1 = {"rE":"3.1.1"};
364945
364958
  // EXTERNAL MODULE: ../../node_modules/semver/index.js
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@firestartr/cli",
3
- "version": "3.2.0-snapshot-00",
3
+ "version": "3.2.0-snapshot-01",
4
4
  "private": false,
5
5
  "description": "Commandline tool",
6
6
  "main": "build/main.js",