@rsdoctor/core 1.3.11-beta.0 → 1.3.12

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.
@@ -734,37 +734,112 @@ CombinedStream.prototype._emitError = function(err) {
734
734
 
735
735
  /***/ }),
736
736
 
737
- /***/ 2932:
737
+ /***/ 9698:
738
738
  /***/ ((module, exports, __nccwpck_require__) => {
739
739
 
740
+ /* eslint-env browser */
741
+
740
742
  /**
741
743
  * This is the web browser implementation of `debug()`.
742
- *
743
- * Expose `debug()` as the module.
744
744
  */
745
745
 
746
- exports = module.exports = __nccwpck_require__(4055);
747
- exports.log = log;
748
746
  exports.formatArgs = formatArgs;
749
747
  exports.save = save;
750
748
  exports.load = load;
751
749
  exports.useColors = useColors;
752
- exports.storage = 'undefined' != typeof chrome
753
- && 'undefined' != typeof chrome.storage
754
- ? chrome.storage.local
755
- : localstorage();
750
+ exports.storage = localstorage();
751
+ exports.destroy = (() => {
752
+ let warned = false;
753
+
754
+ return () => {
755
+ if (!warned) {
756
+ warned = true;
757
+ console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');
758
+ }
759
+ };
760
+ })();
756
761
 
757
762
  /**
758
763
  * Colors.
759
764
  */
760
765
 
761
766
  exports.colors = [
762
- 'lightseagreen',
763
- 'forestgreen',
764
- 'goldenrod',
765
- 'dodgerblue',
766
- 'darkorchid',
767
- 'crimson'
767
+ '#0000CC',
768
+ '#0000FF',
769
+ '#0033CC',
770
+ '#0033FF',
771
+ '#0066CC',
772
+ '#0066FF',
773
+ '#0099CC',
774
+ '#0099FF',
775
+ '#00CC00',
776
+ '#00CC33',
777
+ '#00CC66',
778
+ '#00CC99',
779
+ '#00CCCC',
780
+ '#00CCFF',
781
+ '#3300CC',
782
+ '#3300FF',
783
+ '#3333CC',
784
+ '#3333FF',
785
+ '#3366CC',
786
+ '#3366FF',
787
+ '#3399CC',
788
+ '#3399FF',
789
+ '#33CC00',
790
+ '#33CC33',
791
+ '#33CC66',
792
+ '#33CC99',
793
+ '#33CCCC',
794
+ '#33CCFF',
795
+ '#6600CC',
796
+ '#6600FF',
797
+ '#6633CC',
798
+ '#6633FF',
799
+ '#66CC00',
800
+ '#66CC33',
801
+ '#9900CC',
802
+ '#9900FF',
803
+ '#9933CC',
804
+ '#9933FF',
805
+ '#99CC00',
806
+ '#99CC33',
807
+ '#CC0000',
808
+ '#CC0033',
809
+ '#CC0066',
810
+ '#CC0099',
811
+ '#CC00CC',
812
+ '#CC00FF',
813
+ '#CC3300',
814
+ '#CC3333',
815
+ '#CC3366',
816
+ '#CC3399',
817
+ '#CC33CC',
818
+ '#CC33FF',
819
+ '#CC6600',
820
+ '#CC6633',
821
+ '#CC9900',
822
+ '#CC9933',
823
+ '#CCCC00',
824
+ '#CCCC33',
825
+ '#FF0000',
826
+ '#FF0033',
827
+ '#FF0066',
828
+ '#FF0099',
829
+ '#FF00CC',
830
+ '#FF00FF',
831
+ '#FF3300',
832
+ '#FF3333',
833
+ '#FF3366',
834
+ '#FF3399',
835
+ '#FF33CC',
836
+ '#FF33FF',
837
+ '#FF6600',
838
+ '#FF6633',
839
+ '#FF9900',
840
+ '#FF9933',
841
+ '#FFCC00',
842
+ '#FFCC33'
768
843
  ];
769
844
 
770
845
  /**
@@ -775,38 +850,34 @@ exports.colors = [
775
850
  * TODO: add a `localStorage` variable to explicitly enable/disable colors
776
851
  */
777
852
 
853
+ // eslint-disable-next-line complexity
778
854
  function useColors() {
779
- // NB: In an Electron preload script, document will be defined but not fully
780
- // initialized. Since we know we're in Chrome, we'll just detect this case
781
- // explicitly
782
- if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') {
783
- return true;
784
- }
785
-
786
- // is webkit? http://stackoverflow.com/a/16459606/376773
787
- // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632
788
- return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||
789
- // is firebug? http://stackoverflow.com/a/398120/376773
790
- (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||
791
- // is firefox >= v31?
792
- // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
793
- (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||
794
- // double check webkit in userAgent just in case we are in a worker
795
- (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/));
796
- }
797
-
798
- /**
799
- * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.
800
- */
855
+ // NB: In an Electron preload script, document will be defined but not fully
856
+ // initialized. Since we know we're in Chrome, we'll just detect this case
857
+ // explicitly
858
+ if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {
859
+ return true;
860
+ }
801
861
 
802
- exports.formatters.j = function(v) {
803
- try {
804
- return JSON.stringify(v);
805
- } catch (err) {
806
- return '[UnexpectedJSONParseError]: ' + err.message;
807
- }
808
- };
862
+ // Internet Explorer and Edge do not support colors.
863
+ if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
864
+ return false;
865
+ }
809
866
 
867
+ let m;
868
+
869
+ // Is webkit? http://stackoverflow.com/a/16459606/376773
870
+ // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632
871
+ // eslint-disable-next-line no-return-assign
872
+ return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||
873
+ // Is firebug? http://stackoverflow.com/a/398120/376773
874
+ (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||
875
+ // Is firefox >= v31?
876
+ // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
877
+ (typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(m[1], 10) >= 31) ||
878
+ // Double check webkit in userAgent just in case we are in a worker
879
+ (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/));
880
+ }
810
881
 
811
882
  /**
812
883
  * Colorize log arguments if enabled.
@@ -815,52 +886,49 @@ exports.formatters.j = function(v) {
815
886
  */
816
887
 
817
888
  function formatArgs(args) {
818
- var useColors = this.useColors;
819
-
820
- args[0] = (useColors ? '%c' : '')
821
- + this.namespace
822
- + (useColors ? ' %c' : ' ')
823
- + args[0]
824
- + (useColors ? '%c ' : ' ')
825
- + '+' + exports.humanize(this.diff);
826
-
827
- if (!useColors) return;
828
-
829
- var c = 'color: ' + this.color;
830
- args.splice(1, 0, c, 'color: inherit')
831
-
832
- // the final "%c" is somewhat tricky, because there could be other
833
- // arguments passed either before or after the %c, so we need to
834
- // figure out the correct index to insert the CSS into
835
- var index = 0;
836
- var lastC = 0;
837
- args[0].replace(/%[a-zA-Z%]/g, function(match) {
838
- if ('%%' === match) return;
839
- index++;
840
- if ('%c' === match) {
841
- // we only are interested in the *last* %c
842
- // (the user may have provided their own)
843
- lastC = index;
844
- }
845
- });
889
+ args[0] = (this.useColors ? '%c' : '') +
890
+ this.namespace +
891
+ (this.useColors ? ' %c' : ' ') +
892
+ args[0] +
893
+ (this.useColors ? '%c ' : ' ') +
894
+ '+' + module.exports.humanize(this.diff);
895
+
896
+ if (!this.useColors) {
897
+ return;
898
+ }
846
899
 
847
- args.splice(lastC, 0, c);
900
+ const c = 'color: ' + this.color;
901
+ args.splice(1, 0, c, 'color: inherit');
902
+
903
+ // The final "%c" is somewhat tricky, because there could be other
904
+ // arguments passed either before or after the %c, so we need to
905
+ // figure out the correct index to insert the CSS into
906
+ let index = 0;
907
+ let lastC = 0;
908
+ args[0].replace(/%[a-zA-Z%]/g, match => {
909
+ if (match === '%%') {
910
+ return;
911
+ }
912
+ index++;
913
+ if (match === '%c') {
914
+ // We only are interested in the *last* %c
915
+ // (the user may have provided their own)
916
+ lastC = index;
917
+ }
918
+ });
919
+
920
+ args.splice(lastC, 0, c);
848
921
  }
849
922
 
850
923
  /**
851
- * Invokes `console.log()` when available.
852
- * No-op when `console.log` is not a "function".
924
+ * Invokes `console.debug()` when available.
925
+ * No-op when `console.debug` is not a "function".
926
+ * If `console.debug` is not available, falls back
927
+ * to `console.log`.
853
928
  *
854
929
  * @api public
855
930
  */
856
-
857
- function log() {
858
- // this hackery is required for IE8/9, where
859
- // the `console.log` function doesn't have 'apply'
860
- return 'object' === typeof console
861
- && console.log
862
- && Function.prototype.apply.call(console.log, console, arguments);
863
- }
931
+ exports.log = console.debug || console.log || (() => {});
864
932
 
865
933
  /**
866
934
  * Save `namespaces`.
@@ -868,15 +936,17 @@ function log() {
868
936
  * @param {String} namespaces
869
937
  * @api private
870
938
  */
871
-
872
939
  function save(namespaces) {
873
- try {
874
- if (null == namespaces) {
875
- exports.storage.removeItem('debug');
876
- } else {
877
- exports.storage.debug = namespaces;
878
- }
879
- } catch(e) {}
940
+ try {
941
+ if (namespaces) {
942
+ exports.storage.setItem('debug', namespaces);
943
+ } else {
944
+ exports.storage.removeItem('debug');
945
+ }
946
+ } catch (error) {
947
+ // Swallow
948
+ // XXX (@Qix-) should we be logging these?
949
+ }
880
950
  }
881
951
 
882
952
  /**
@@ -885,27 +955,23 @@ function save(namespaces) {
885
955
  * @return {String} returns the previously persisted debug modes
886
956
  * @api private
887
957
  */
888
-
889
958
  function load() {
890
- var r;
891
- try {
892
- r = exports.storage.debug;
893
- } catch(e) {}
959
+ let r;
960
+ try {
961
+ r = exports.storage.getItem('debug') || exports.storage.getItem('DEBUG') ;
962
+ } catch (error) {
963
+ // Swallow
964
+ // XXX (@Qix-) should we be logging these?
965
+ }
894
966
 
895
- // If debug isn't set in LS, and we're in Electron, try to load $DEBUG
896
- if (!r && typeof process !== 'undefined' && 'env' in process) {
897
- r = process.env.DEBUG;
898
- }
967
+ // If debug isn't set in LS, and we're in Electron, try to load $DEBUG
968
+ if (!r && typeof process !== 'undefined' && 'env' in process) {
969
+ r = process.env.DEBUG;
970
+ }
899
971
 
900
- return r;
972
+ return r;
901
973
  }
902
974
 
903
- /**
904
- * Enable namespaces listed in `localStorage.debug` initially.
905
- */
906
-
907
- exports.enable(load());
908
-
909
975
  /**
910
976
  * Localstorage attempts to return the localstorage.
911
977
  *
@@ -918,263 +984,375 @@ exports.enable(load());
918
984
  */
919
985
 
920
986
  function localstorage() {
921
- try {
922
- return window.localStorage;
923
- } catch (e) {}
987
+ try {
988
+ // TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context
989
+ // The Browser also has localStorage in the global context.
990
+ return localStorage;
991
+ } catch (error) {
992
+ // Swallow
993
+ // XXX (@Qix-) should we be logging these?
994
+ }
924
995
  }
925
996
 
997
+ module.exports = __nccwpck_require__(8541)(exports);
926
998
 
927
- /***/ }),
928
-
929
- /***/ 4055:
930
- /***/ ((module, exports, __nccwpck_require__) => {
931
-
999
+ const {formatters} = module.exports;
932
1000
 
933
1001
  /**
934
- * This is the common logic for both the Node.js and web browser
935
- * implementations of `debug()`.
936
- *
937
- * Expose `debug()` as the module.
1002
+ * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.
938
1003
  */
939
1004
 
940
- exports = module.exports = createDebug.debug = createDebug['default'] = createDebug;
941
- exports.coerce = coerce;
942
- exports.disable = disable;
943
- exports.enable = enable;
944
- exports.enabled = enabled;
945
- exports.humanize = __nccwpck_require__(2916);
1005
+ formatters.j = function (v) {
1006
+ try {
1007
+ return JSON.stringify(v);
1008
+ } catch (error) {
1009
+ return '[UnexpectedJSONParseError]: ' + error.message;
1010
+ }
1011
+ };
946
1012
 
947
- /**
948
- * The currently active debug mode names, and names to skip.
949
- */
950
1013
 
951
- exports.names = [];
952
- exports.skips = [];
1014
+ /***/ }),
953
1015
 
954
- /**
955
- * Map of special "%n" handling functions, for the debug "format" argument.
956
- *
957
- * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N".
958
- */
1016
+ /***/ 8541:
1017
+ /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
959
1018
 
960
- exports.formatters = {};
961
1019
 
962
1020
  /**
963
- * Previous log timestamp.
1021
+ * This is the common logic for both the Node.js and web browser
1022
+ * implementations of `debug()`.
964
1023
  */
965
1024
 
966
- var prevTime;
967
-
968
- /**
969
- * Select a color.
970
- * @param {String} namespace
971
- * @return {Number}
972
- * @api private
973
- */
1025
+ function setup(env) {
1026
+ createDebug.debug = createDebug;
1027
+ createDebug.default = createDebug;
1028
+ createDebug.coerce = coerce;
1029
+ createDebug.disable = disable;
1030
+ createDebug.enable = enable;
1031
+ createDebug.enabled = enabled;
1032
+ createDebug.humanize = __nccwpck_require__(9258);
1033
+ createDebug.destroy = destroy;
974
1034
 
975
- function selectColor(namespace) {
976
- var hash = 0, i;
1035
+ Object.keys(env).forEach(key => {
1036
+ createDebug[key] = env[key];
1037
+ });
977
1038
 
978
- for (i in namespace) {
979
- hash = ((hash << 5) - hash) + namespace.charCodeAt(i);
980
- hash |= 0; // Convert to 32bit integer
981
- }
1039
+ /**
1040
+ * The currently active debug mode names, and names to skip.
1041
+ */
1042
+
1043
+ createDebug.names = [];
1044
+ createDebug.skips = [];
1045
+
1046
+ /**
1047
+ * Map of special "%n" handling functions, for the debug "format" argument.
1048
+ *
1049
+ * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N".
1050
+ */
1051
+ createDebug.formatters = {};
1052
+
1053
+ /**
1054
+ * Selects a color for a debug namespace
1055
+ * @param {String} namespace The namespace string for the debug instance to be colored
1056
+ * @return {Number|String} An ANSI color code for the given namespace
1057
+ * @api private
1058
+ */
1059
+ function selectColor(namespace) {
1060
+ let hash = 0;
1061
+
1062
+ for (let i = 0; i < namespace.length; i++) {
1063
+ hash = ((hash << 5) - hash) + namespace.charCodeAt(i);
1064
+ hash |= 0; // Convert to 32bit integer
1065
+ }
982
1066
 
983
- return exports.colors[Math.abs(hash) % exports.colors.length];
984
- }
1067
+ return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
1068
+ }
1069
+ createDebug.selectColor = selectColor;
1070
+
1071
+ /**
1072
+ * Create a debugger with the given `namespace`.
1073
+ *
1074
+ * @param {String} namespace
1075
+ * @return {Function}
1076
+ * @api public
1077
+ */
1078
+ function createDebug(namespace) {
1079
+ let prevTime;
1080
+ let enableOverride = null;
1081
+ let namespacesCache;
1082
+ let enabledCache;
1083
+
1084
+ function debug(...args) {
1085
+ // Disabled?
1086
+ if (!debug.enabled) {
1087
+ return;
1088
+ }
985
1089
 
986
- /**
987
- * Create a debugger with the given `namespace`.
988
- *
989
- * @param {String} namespace
990
- * @return {Function}
991
- * @api public
992
- */
1090
+ const self = debug;
993
1091
 
994
- function createDebug(namespace) {
1092
+ // Set `diff` timestamp
1093
+ const curr = Number(new Date());
1094
+ const ms = curr - (prevTime || curr);
1095
+ self.diff = ms;
1096
+ self.prev = prevTime;
1097
+ self.curr = curr;
1098
+ prevTime = curr;
995
1099
 
996
- function debug() {
997
- // disabled?
998
- if (!debug.enabled) return;
1100
+ args[0] = createDebug.coerce(args[0]);
999
1101
 
1000
- var self = debug;
1102
+ if (typeof args[0] !== 'string') {
1103
+ // Anything else let's inspect with %O
1104
+ args.unshift('%O');
1105
+ }
1001
1106
 
1002
- // set `diff` timestamp
1003
- var curr = +new Date();
1004
- var ms = curr - (prevTime || curr);
1005
- self.diff = ms;
1006
- self.prev = prevTime;
1007
- self.curr = curr;
1008
- prevTime = curr;
1107
+ // Apply any `formatters` transformations
1108
+ let index = 0;
1109
+ args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {
1110
+ // If we encounter an escaped % then don't increase the array index
1111
+ if (match === '%%') {
1112
+ return '%';
1113
+ }
1114
+ index++;
1115
+ const formatter = createDebug.formatters[format];
1116
+ if (typeof formatter === 'function') {
1117
+ const val = args[index];
1118
+ match = formatter.call(self, val);
1119
+
1120
+ // Now we need to remove `args[index]` since it's inlined in the `format`
1121
+ args.splice(index, 1);
1122
+ index--;
1123
+ }
1124
+ return match;
1125
+ });
1009
1126
 
1010
- // turn the `arguments` into a proper Array
1011
- var args = new Array(arguments.length);
1012
- for (var i = 0; i < args.length; i++) {
1013
- args[i] = arguments[i];
1014
- }
1127
+ // Apply env-specific formatting (colors, etc.)
1128
+ createDebug.formatArgs.call(self, args);
1015
1129
 
1016
- args[0] = exports.coerce(args[0]);
1130
+ const logFn = self.log || createDebug.log;
1131
+ logFn.apply(self, args);
1132
+ }
1017
1133
 
1018
- if ('string' !== typeof args[0]) {
1019
- // anything else let's inspect with %O
1020
- args.unshift('%O');
1021
- }
1134
+ debug.namespace = namespace;
1135
+ debug.useColors = createDebug.useColors();
1136
+ debug.color = createDebug.selectColor(namespace);
1137
+ debug.extend = extend;
1138
+ debug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.
1139
+
1140
+ Object.defineProperty(debug, 'enabled', {
1141
+ enumerable: true,
1142
+ configurable: false,
1143
+ get: () => {
1144
+ if (enableOverride !== null) {
1145
+ return enableOverride;
1146
+ }
1147
+ if (namespacesCache !== createDebug.namespaces) {
1148
+ namespacesCache = createDebug.namespaces;
1149
+ enabledCache = createDebug.enabled(namespace);
1150
+ }
1022
1151
 
1023
- // apply any `formatters` transformations
1024
- var index = 0;
1025
- args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) {
1026
- // if we encounter an escaped % then don't increase the array index
1027
- if (match === '%%') return match;
1028
- index++;
1029
- var formatter = exports.formatters[format];
1030
- if ('function' === typeof formatter) {
1031
- var val = args[index];
1032
- match = formatter.call(self, val);
1152
+ return enabledCache;
1153
+ },
1154
+ set: v => {
1155
+ enableOverride = v;
1156
+ }
1157
+ });
1033
1158
 
1034
- // now we need to remove `args[index]` since it's inlined in the `format`
1035
- args.splice(index, 1);
1036
- index--;
1037
- }
1038
- return match;
1039
- });
1159
+ // Env-specific initialization logic for debug instances
1160
+ if (typeof createDebug.init === 'function') {
1161
+ createDebug.init(debug);
1162
+ }
1040
1163
 
1041
- // apply env-specific formatting (colors, etc.)
1042
- exports.formatArgs.call(self, args);
1164
+ return debug;
1165
+ }
1043
1166
 
1044
- var logFn = debug.log || exports.log || console.log.bind(console);
1045
- logFn.apply(self, args);
1046
- }
1167
+ function extend(namespace, delimiter) {
1168
+ const newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);
1169
+ newDebug.log = this.log;
1170
+ return newDebug;
1171
+ }
1047
1172
 
1048
- debug.namespace = namespace;
1049
- debug.enabled = exports.enabled(namespace);
1050
- debug.useColors = exports.useColors();
1051
- debug.color = selectColor(namespace);
1173
+ /**
1174
+ * Enables a debug mode by namespaces. This can include modes
1175
+ * separated by a colon and wildcards.
1176
+ *
1177
+ * @param {String} namespaces
1178
+ * @api public
1179
+ */
1180
+ function enable(namespaces) {
1181
+ createDebug.save(namespaces);
1182
+ createDebug.namespaces = namespaces;
1183
+
1184
+ createDebug.names = [];
1185
+ createDebug.skips = [];
1186
+
1187
+ const split = (typeof namespaces === 'string' ? namespaces : '')
1188
+ .trim()
1189
+ .replace(/\s+/g, ',')
1190
+ .split(',')
1191
+ .filter(Boolean);
1192
+
1193
+ for (const ns of split) {
1194
+ if (ns[0] === '-') {
1195
+ createDebug.skips.push(ns.slice(1));
1196
+ } else {
1197
+ createDebug.names.push(ns);
1198
+ }
1199
+ }
1200
+ }
1052
1201
 
1053
- // env-specific initialization logic for debug instances
1054
- if ('function' === typeof exports.init) {
1055
- exports.init(debug);
1056
- }
1202
+ /**
1203
+ * Checks if the given string matches a namespace template, honoring
1204
+ * asterisks as wildcards.
1205
+ *
1206
+ * @param {String} search
1207
+ * @param {String} template
1208
+ * @return {Boolean}
1209
+ */
1210
+ function matchesTemplate(search, template) {
1211
+ let searchIndex = 0;
1212
+ let templateIndex = 0;
1213
+ let starIndex = -1;
1214
+ let matchIndex = 0;
1215
+
1216
+ while (searchIndex < search.length) {
1217
+ if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === '*')) {
1218
+ // Match character or proceed with wildcard
1219
+ if (template[templateIndex] === '*') {
1220
+ starIndex = templateIndex;
1221
+ matchIndex = searchIndex;
1222
+ templateIndex++; // Skip the '*'
1223
+ } else {
1224
+ searchIndex++;
1225
+ templateIndex++;
1226
+ }
1227
+ } else if (starIndex !== -1) { // eslint-disable-line no-negated-condition
1228
+ // Backtrack to the last '*' and try to match more characters
1229
+ templateIndex = starIndex + 1;
1230
+ matchIndex++;
1231
+ searchIndex = matchIndex;
1232
+ } else {
1233
+ return false; // No match
1234
+ }
1235
+ }
1057
1236
 
1058
- return debug;
1059
- }
1237
+ // Handle trailing '*' in template
1238
+ while (templateIndex < template.length && template[templateIndex] === '*') {
1239
+ templateIndex++;
1240
+ }
1060
1241
 
1061
- /**
1062
- * Enables a debug mode by namespaces. This can include modes
1063
- * separated by a colon and wildcards.
1064
- *
1065
- * @param {String} namespaces
1066
- * @api public
1067
- */
1242
+ return templateIndex === template.length;
1243
+ }
1068
1244
 
1069
- function enable(namespaces) {
1070
- exports.save(namespaces);
1245
+ /**
1246
+ * Disable debug output.
1247
+ *
1248
+ * @return {String} namespaces
1249
+ * @api public
1250
+ */
1251
+ function disable() {
1252
+ const namespaces = [
1253
+ ...createDebug.names,
1254
+ ...createDebug.skips.map(namespace => '-' + namespace)
1255
+ ].join(',');
1256
+ createDebug.enable('');
1257
+ return namespaces;
1258
+ }
1071
1259
 
1072
- exports.names = [];
1073
- exports.skips = [];
1260
+ /**
1261
+ * Returns true if the given mode name is enabled, false otherwise.
1262
+ *
1263
+ * @param {String} name
1264
+ * @return {Boolean}
1265
+ * @api public
1266
+ */
1267
+ function enabled(name) {
1268
+ for (const skip of createDebug.skips) {
1269
+ if (matchesTemplate(name, skip)) {
1270
+ return false;
1271
+ }
1272
+ }
1074
1273
 
1075
- var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/);
1076
- var len = split.length;
1274
+ for (const ns of createDebug.names) {
1275
+ if (matchesTemplate(name, ns)) {
1276
+ return true;
1277
+ }
1278
+ }
1077
1279
 
1078
- for (var i = 0; i < len; i++) {
1079
- if (!split[i]) continue; // ignore empty strings
1080
- namespaces = split[i].replace(/\*/g, '.*?');
1081
- if (namespaces[0] === '-') {
1082
- exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));
1083
- } else {
1084
- exports.names.push(new RegExp('^' + namespaces + '$'));
1085
- }
1086
- }
1087
- }
1280
+ return false;
1281
+ }
1088
1282
 
1089
- /**
1090
- * Disable debug output.
1091
- *
1092
- * @api public
1093
- */
1283
+ /**
1284
+ * Coerce `val`.
1285
+ *
1286
+ * @param {Mixed} val
1287
+ * @return {Mixed}
1288
+ * @api private
1289
+ */
1290
+ function coerce(val) {
1291
+ if (val instanceof Error) {
1292
+ return val.stack || val.message;
1293
+ }
1294
+ return val;
1295
+ }
1094
1296
 
1095
- function disable() {
1096
- exports.enable('');
1097
- }
1297
+ /**
1298
+ * XXX DO NOT USE. This is a temporary stub function.
1299
+ * XXX It WILL be removed in the next major release.
1300
+ */
1301
+ function destroy() {
1302
+ console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');
1303
+ }
1098
1304
 
1099
- /**
1100
- * Returns true if the given mode name is enabled, false otherwise.
1101
- *
1102
- * @param {String} name
1103
- * @return {Boolean}
1104
- * @api public
1105
- */
1305
+ createDebug.enable(createDebug.load());
1106
1306
 
1107
- function enabled(name) {
1108
- var i, len;
1109
- for (i = 0, len = exports.skips.length; i < len; i++) {
1110
- if (exports.skips[i].test(name)) {
1111
- return false;
1112
- }
1113
- }
1114
- for (i = 0, len = exports.names.length; i < len; i++) {
1115
- if (exports.names[i].test(name)) {
1116
- return true;
1117
- }
1118
- }
1119
- return false;
1307
+ return createDebug;
1120
1308
  }
1121
1309
 
1122
- /**
1123
- * Coerce `val`.
1124
- *
1125
- * @param {Mixed} val
1126
- * @return {Mixed}
1127
- * @api private
1128
- */
1129
-
1130
- function coerce(val) {
1131
- if (val instanceof Error) return val.stack || val.message;
1132
- return val;
1133
- }
1310
+ module.exports = setup;
1134
1311
 
1135
1312
 
1136
1313
  /***/ }),
1137
1314
 
1138
- /***/ 408:
1315
+ /***/ 7314:
1139
1316
  /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
1140
1317
 
1141
1318
  /**
1142
- * Detect Electron renderer process, which is node, but we should
1319
+ * Detect Electron renderer / nwjs process, which is node, but we should
1143
1320
  * treat as a browser.
1144
1321
  */
1145
1322
 
1146
- if (typeof process !== 'undefined' && process.type === 'renderer') {
1147
- module.exports = __nccwpck_require__(2932);
1323
+ if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {
1324
+ module.exports = __nccwpck_require__(9698);
1148
1325
  } else {
1149
- module.exports = __nccwpck_require__(1190);
1326
+ module.exports = __nccwpck_require__(296);
1150
1327
  }
1151
1328
 
1152
1329
 
1153
1330
  /***/ }),
1154
1331
 
1155
- /***/ 1190:
1332
+ /***/ 296:
1156
1333
  /***/ ((module, exports, __nccwpck_require__) => {
1157
1334
 
1158
1335
  /**
1159
1336
  * Module dependencies.
1160
1337
  */
1161
1338
 
1162
- var tty = __nccwpck_require__(2018);
1163
- var util = __nccwpck_require__(9023);
1339
+ const tty = __nccwpck_require__(2018);
1340
+ const util = __nccwpck_require__(9023);
1164
1341
 
1165
1342
  /**
1166
1343
  * This is the Node.js implementation of `debug()`.
1167
- *
1168
- * Expose `debug()` as the module.
1169
1344
  */
1170
1345
 
1171
- exports = module.exports = __nccwpck_require__(4055);
1172
1346
  exports.init = init;
1173
1347
  exports.log = log;
1174
1348
  exports.formatArgs = formatArgs;
1175
1349
  exports.save = save;
1176
1350
  exports.load = load;
1177
1351
  exports.useColors = useColors;
1352
+ exports.destroy = util.deprecate(
1353
+ () => {},
1354
+ 'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'
1355
+ );
1178
1356
 
1179
1357
  /**
1180
1358
  * Colors.
@@ -1182,80 +1360,138 @@ exports.useColors = useColors;
1182
1360
 
1183
1361
  exports.colors = [6, 2, 3, 4, 5, 1];
1184
1362
 
1363
+ try {
1364
+ // Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json)
1365
+ // eslint-disable-next-line import/no-extraneous-dependencies
1366
+ const supportsColor = __nccwpck_require__(8794);
1367
+
1368
+ if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {
1369
+ exports.colors = [
1370
+ 20,
1371
+ 21,
1372
+ 26,
1373
+ 27,
1374
+ 32,
1375
+ 33,
1376
+ 38,
1377
+ 39,
1378
+ 40,
1379
+ 41,
1380
+ 42,
1381
+ 43,
1382
+ 44,
1383
+ 45,
1384
+ 56,
1385
+ 57,
1386
+ 62,
1387
+ 63,
1388
+ 68,
1389
+ 69,
1390
+ 74,
1391
+ 75,
1392
+ 76,
1393
+ 77,
1394
+ 78,
1395
+ 79,
1396
+ 80,
1397
+ 81,
1398
+ 92,
1399
+ 93,
1400
+ 98,
1401
+ 99,
1402
+ 112,
1403
+ 113,
1404
+ 128,
1405
+ 129,
1406
+ 134,
1407
+ 135,
1408
+ 148,
1409
+ 149,
1410
+ 160,
1411
+ 161,
1412
+ 162,
1413
+ 163,
1414
+ 164,
1415
+ 165,
1416
+ 166,
1417
+ 167,
1418
+ 168,
1419
+ 169,
1420
+ 170,
1421
+ 171,
1422
+ 172,
1423
+ 173,
1424
+ 178,
1425
+ 179,
1426
+ 184,
1427
+ 185,
1428
+ 196,
1429
+ 197,
1430
+ 198,
1431
+ 199,
1432
+ 200,
1433
+ 201,
1434
+ 202,
1435
+ 203,
1436
+ 204,
1437
+ 205,
1438
+ 206,
1439
+ 207,
1440
+ 208,
1441
+ 209,
1442
+ 214,
1443
+ 215,
1444
+ 220,
1445
+ 221
1446
+ ];
1447
+ }
1448
+ } catch (error) {
1449
+ // Swallow - we only care if `supports-color` is available; it doesn't have to be.
1450
+ }
1451
+
1185
1452
  /**
1186
1453
  * Build up the default `inspectOpts` object from the environment variables.
1187
1454
  *
1188
1455
  * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js
1189
1456
  */
1190
1457
 
1191
- exports.inspectOpts = Object.keys(process.env).filter(function (key) {
1192
- return /^debug_/i.test(key);
1193
- }).reduce(function (obj, key) {
1194
- // camel-case
1195
- var prop = key
1196
- .substring(6)
1197
- .toLowerCase()
1198
- .replace(/_([a-z])/g, function (_, k) { return k.toUpperCase() });
1199
-
1200
- // coerce string value into JS value
1201
- var val = process.env[key];
1202
- if (/^(yes|on|true|enabled)$/i.test(val)) val = true;
1203
- else if (/^(no|off|false|disabled)$/i.test(val)) val = false;
1204
- else if (val === 'null') val = null;
1205
- else val = Number(val);
1458
+ exports.inspectOpts = Object.keys(process.env).filter(key => {
1459
+ return /^debug_/i.test(key);
1460
+ }).reduce((obj, key) => {
1461
+ // Camel-case
1462
+ const prop = key
1463
+ .substring(6)
1464
+ .toLowerCase()
1465
+ .replace(/_([a-z])/g, (_, k) => {
1466
+ return k.toUpperCase();
1467
+ });
1468
+
1469
+ // Coerce string value into JS value
1470
+ let val = process.env[key];
1471
+ if (/^(yes|on|true|enabled)$/i.test(val)) {
1472
+ val = true;
1473
+ } else if (/^(no|off|false|disabled)$/i.test(val)) {
1474
+ val = false;
1475
+ } else if (val === 'null') {
1476
+ val = null;
1477
+ } else {
1478
+ val = Number(val);
1479
+ }
1206
1480
 
1207
- obj[prop] = val;
1208
- return obj;
1481
+ obj[prop] = val;
1482
+ return obj;
1209
1483
  }, {});
1210
1484
 
1211
- /**
1212
- * The file descriptor to write the `debug()` calls to.
1213
- * Set the `DEBUG_FD` env variable to override with another value. i.e.:
1214
- *
1215
- * $ DEBUG_FD=3 node script.js 3>debug.log
1216
- */
1217
-
1218
- var fd = parseInt(process.env.DEBUG_FD, 10) || 2;
1219
-
1220
- if (1 !== fd && 2 !== fd) {
1221
- util.deprecate(function(){}, 'except for stderr(2) and stdout(1), any other usage of DEBUG_FD is deprecated. Override debug.log if you want to use a different log function (https://git.io/debug_fd)')()
1222
- }
1223
-
1224
- var stream = 1 === fd ? process.stdout :
1225
- 2 === fd ? process.stderr :
1226
- createWritableStdioStream(fd);
1227
-
1228
1485
  /**
1229
1486
  * Is stdout a TTY? Colored output is enabled when `true`.
1230
1487
  */
1231
1488
 
1232
1489
  function useColors() {
1233
- return 'colors' in exports.inspectOpts
1234
- ? Boolean(exports.inspectOpts.colors)
1235
- : tty.isatty(fd);
1490
+ return 'colors' in exports.inspectOpts ?
1491
+ Boolean(exports.inspectOpts.colors) :
1492
+ tty.isatty(process.stderr.fd);
1236
1493
  }
1237
1494
 
1238
- /**
1239
- * Map %o to `util.inspect()`, all on a single line.
1240
- */
1241
-
1242
- exports.formatters.o = function(v) {
1243
- this.inspectOpts.colors = this.useColors;
1244
- return util.inspect(v, this.inspectOpts)
1245
- .split('\n').map(function(str) {
1246
- return str.trim()
1247
- }).join(' ');
1248
- };
1249
-
1250
- /**
1251
- * Map %o to `util.inspect()`, allowing multiple lines if needed.
1252
- */
1253
-
1254
- exports.formatters.O = function(v) {
1255
- this.inspectOpts.colors = this.useColors;
1256
- return util.inspect(v, this.inspectOpts);
1257
- };
1258
-
1259
1495
  /**
1260
1496
  * Adds ANSI color escape codes if enabled.
1261
1497
  *
@@ -1263,27 +1499,33 @@ exports.formatters.O = function(v) {
1263
1499
  */
1264
1500
 
1265
1501
  function formatArgs(args) {
1266
- var name = this.namespace;
1267
- var useColors = this.useColors;
1502
+ const {namespace: name, useColors} = this;
1268
1503
 
1269
- if (useColors) {
1270
- var c = this.color;
1271
- var prefix = ' \u001b[3' + c + ';1m' + name + ' ' + '\u001b[0m';
1504
+ if (useColors) {
1505
+ const c = this.color;
1506
+ const colorCode = '\u001B[3' + (c < 8 ? c : '8;5;' + c);
1507
+ const prefix = ` ${colorCode};1m${name} \u001B[0m`;
1272
1508
 
1273
- args[0] = prefix + args[0].split('\n').join('\n' + prefix);
1274
- args.push('\u001b[3' + c + 'm+' + exports.humanize(this.diff) + '\u001b[0m');
1275
- } else {
1276
- args[0] = new Date().toUTCString()
1277
- + ' ' + name + ' ' + args[0];
1278
- }
1509
+ args[0] = prefix + args[0].split('\n').join('\n' + prefix);
1510
+ args.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\u001B[0m');
1511
+ } else {
1512
+ args[0] = getDate() + name + ' ' + args[0];
1513
+ }
1514
+ }
1515
+
1516
+ function getDate() {
1517
+ if (exports.inspectOpts.hideDate) {
1518
+ return '';
1519
+ }
1520
+ return new Date().toISOString() + ' ';
1279
1521
  }
1280
1522
 
1281
1523
  /**
1282
- * Invokes `util.format()` with the specified arguments and writes to `stream`.
1524
+ * Invokes `util.formatWithOptions()` with the specified arguments and writes to stderr.
1283
1525
  */
1284
1526
 
1285
- function log() {
1286
- return stream.write(util.format.apply(util, arguments) + '\n');
1527
+ function log(...args) {
1528
+ return process.stderr.write(util.formatWithOptions(exports.inspectOpts, ...args) + '\n');
1287
1529
  }
1288
1530
 
1289
1531
  /**
@@ -1292,15 +1534,14 @@ function log() {
1292
1534
  * @param {String} namespaces
1293
1535
  * @api private
1294
1536
  */
1295
-
1296
1537
  function save(namespaces) {
1297
- if (null == namespaces) {
1298
- // If you set a process.env field to null or undefined, it gets cast to the
1299
- // string 'null' or 'undefined'. Just delete instead.
1300
- delete process.env.DEBUG;
1301
- } else {
1302
- process.env.DEBUG = namespaces;
1303
- }
1538
+ if (namespaces) {
1539
+ process.env.DEBUG = namespaces;
1540
+ } else {
1541
+ // If you set a process.env field to null or undefined, it gets cast to the
1542
+ // string 'null' or 'undefined'. Just delete instead.
1543
+ delete process.env.DEBUG;
1544
+ }
1304
1545
  }
1305
1546
 
1306
1547
  /**
@@ -1311,98 +1552,49 @@ function save(namespaces) {
1311
1552
  */
1312
1553
 
1313
1554
  function load() {
1314
- return process.env.DEBUG;
1555
+ return process.env.DEBUG;
1315
1556
  }
1316
1557
 
1317
1558
  /**
1318
- * Copied from `node/src/node.js`.
1559
+ * Init logic for `debug` instances.
1319
1560
  *
1320
- * XXX: It's lame that node doesn't expose this API out-of-the-box. It also
1321
- * relies on the undocumented `tty_wrap.guessHandleType()` which is also lame.
1561
+ * Create a new `inspectOpts` object in case `useColors` is set
1562
+ * differently for a particular `debug` instance.
1322
1563
  */
1323
1564
 
1324
- function createWritableStdioStream (fd) {
1325
- var stream;
1326
- var tty_wrap = process.binding('tty_wrap');
1327
-
1328
- // Note stream._type is used for test-module-load-list.js
1329
-
1330
- switch (tty_wrap.guessHandleType(fd)) {
1331
- case 'TTY':
1332
- stream = new tty.WriteStream(fd);
1333
- stream._type = 'tty';
1334
-
1335
- // Hack to have stream not keep the event loop alive.
1336
- // See https://github.com/joyent/node/issues/1726
1337
- if (stream._handle && stream._handle.unref) {
1338
- stream._handle.unref();
1339
- }
1340
- break;
1341
-
1342
- case 'FILE':
1343
- var fs = __nccwpck_require__(9896);
1344
- stream = new fs.SyncWriteStream(fd, { autoClose: false });
1345
- stream._type = 'fs';
1346
- break;
1347
-
1348
- case 'PIPE':
1349
- case 'TCP':
1350
- var net = __nccwpck_require__(9278);
1351
- stream = new net.Socket({
1352
- fd: fd,
1353
- readable: false,
1354
- writable: true
1355
- });
1565
+ function init(debug) {
1566
+ debug.inspectOpts = {};
1356
1567
 
1357
- // FIXME Should probably have an option in net.Socket to create a
1358
- // stream from an existing fd which is writable only. But for now
1359
- // we'll just add this hack and set the `readable` member to false.
1360
- // Test: ./node test/fixtures/echo.js < /etc/passwd
1361
- stream.readable = false;
1362
- stream.read = null;
1363
- stream._type = 'pipe';
1364
-
1365
- // FIXME Hack to have stream not keep the event loop alive.
1366
- // See https://github.com/joyent/node/issues/1726
1367
- if (stream._handle && stream._handle.unref) {
1368
- stream._handle.unref();
1369
- }
1370
- break;
1371
-
1372
- default:
1373
- // Probably an error on in uv_guess_handle()
1374
- throw new Error('Implement me. Unknown stream file type!');
1375
- }
1376
-
1377
- // For supporting legacy API we put the FD here.
1378
- stream.fd = fd;
1568
+ const keys = Object.keys(exports.inspectOpts);
1569
+ for (let i = 0; i < keys.length; i++) {
1570
+ debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];
1571
+ }
1572
+ }
1379
1573
 
1380
- stream._isStdio = true;
1574
+ module.exports = __nccwpck_require__(8541)(exports);
1381
1575
 
1382
- return stream;
1383
- }
1576
+ const {formatters} = module.exports;
1384
1577
 
1385
1578
  /**
1386
- * Init logic for `debug` instances.
1387
- *
1388
- * Create a new `inspectOpts` object in case `useColors` is set
1389
- * differently for a particular `debug` instance.
1579
+ * Map %o to `util.inspect()`, all on a single line.
1390
1580
  */
1391
1581
 
1392
- function init (debug) {
1393
- debug.inspectOpts = {};
1394
-
1395
- var keys = Object.keys(exports.inspectOpts);
1396
- for (var i = 0; i < keys.length; i++) {
1397
- debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];
1398
- }
1399
- }
1582
+ formatters.o = function (v) {
1583
+ this.inspectOpts.colors = this.useColors;
1584
+ return util.inspect(v, this.inspectOpts)
1585
+ .split('\n')
1586
+ .map(str => str.trim())
1587
+ .join(' ');
1588
+ };
1400
1589
 
1401
1590
  /**
1402
- * Enable namespaces listed in `process.env.DEBUG` initially.
1591
+ * Map %O to `util.inspect()`, allowing multiple lines if needed.
1403
1592
  */
1404
1593
 
1405
- exports.enable(load());
1594
+ formatters.O = function (v) {
1595
+ this.inspectOpts.colors = this.useColors;
1596
+ return util.inspect(v, this.inspectOpts);
1597
+ };
1406
1598
 
1407
1599
 
1408
1600
  /***/ }),
@@ -1729,7 +1921,7 @@ module.exports = function () {
1729
1921
  if (!debug) {
1730
1922
  try {
1731
1923
  /* eslint global-require: off */
1732
- debug = __nccwpck_require__(408)("follow-redirects");
1924
+ debug = __nccwpck_require__(7314)("follow-redirects");
1733
1925
  }
1734
1926
  catch (error) { /* */ }
1735
1927
  if (typeof debug !== "function") {
@@ -3540,6 +3732,22 @@ if ($gOPD) {
3540
3732
  module.exports = $gOPD;
3541
3733
 
3542
3734
 
3735
+ /***/ }),
3736
+
3737
+ /***/ 2651:
3738
+ /***/ ((module) => {
3739
+
3740
+ "use strict";
3741
+
3742
+ module.exports = (flag, argv) => {
3743
+ argv = argv || process.argv;
3744
+ const prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');
3745
+ const pos = argv.indexOf(prefix + flag);
3746
+ const terminatorPos = argv.indexOf('--');
3747
+ return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos);
3748
+ };
3749
+
3750
+
3543
3751
  /***/ }),
3544
3752
 
3545
3753
  /***/ 5674:
@@ -3969,7 +4177,7 @@ function populateMaps (extensions, types) {
3969
4177
 
3970
4178
  /***/ }),
3971
4179
 
3972
- /***/ 2916:
4180
+ /***/ 9258:
3973
4181
  /***/ ((module) => {
3974
4182
 
3975
4183
  /**
@@ -3980,6 +4188,7 @@ var s = 1000;
3980
4188
  var m = s * 60;
3981
4189
  var h = m * 60;
3982
4190
  var d = h * 24;
4191
+ var w = d * 7;
3983
4192
  var y = d * 365.25;
3984
4193
 
3985
4194
  /**
@@ -3996,12 +4205,12 @@ var y = d * 365.25;
3996
4205
  * @api public
3997
4206
  */
3998
4207
 
3999
- module.exports = function(val, options) {
4208
+ module.exports = function (val, options) {
4000
4209
  options = options || {};
4001
4210
  var type = typeof val;
4002
4211
  if (type === 'string' && val.length > 0) {
4003
4212
  return parse(val);
4004
- } else if (type === 'number' && isNaN(val) === false) {
4213
+ } else if (type === 'number' && isFinite(val)) {
4005
4214
  return options.long ? fmtLong(val) : fmtShort(val);
4006
4215
  }
4007
4216
  throw new Error(
@@ -4023,7 +4232,7 @@ function parse(str) {
4023
4232
  if (str.length > 100) {
4024
4233
  return;
4025
4234
  }
4026
- var match = /^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(
4235
+ var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
4027
4236
  str
4028
4237
  );
4029
4238
  if (!match) {
@@ -4038,6 +4247,10 @@ function parse(str) {
4038
4247
  case 'yr':
4039
4248
  case 'y':
4040
4249
  return n * y;
4250
+ case 'weeks':
4251
+ case 'week':
4252
+ case 'w':
4253
+ return n * w;
4041
4254
  case 'days':
4042
4255
  case 'day':
4043
4256
  case 'd':
@@ -4080,16 +4293,17 @@ function parse(str) {
4080
4293
  */
4081
4294
 
4082
4295
  function fmtShort(ms) {
4083
- if (ms >= d) {
4296
+ var msAbs = Math.abs(ms);
4297
+ if (msAbs >= d) {
4084
4298
  return Math.round(ms / d) + 'd';
4085
4299
  }
4086
- if (ms >= h) {
4300
+ if (msAbs >= h) {
4087
4301
  return Math.round(ms / h) + 'h';
4088
4302
  }
4089
- if (ms >= m) {
4303
+ if (msAbs >= m) {
4090
4304
  return Math.round(ms / m) + 'm';
4091
4305
  }
4092
- if (ms >= s) {
4306
+ if (msAbs >= s) {
4093
4307
  return Math.round(ms / s) + 's';
4094
4308
  }
4095
4309
  return ms + 'ms';
@@ -4104,25 +4318,29 @@ function fmtShort(ms) {
4104
4318
  */
4105
4319
 
4106
4320
  function fmtLong(ms) {
4107
- return plural(ms, d, 'day') ||
4108
- plural(ms, h, 'hour') ||
4109
- plural(ms, m, 'minute') ||
4110
- plural(ms, s, 'second') ||
4111
- ms + ' ms';
4321
+ var msAbs = Math.abs(ms);
4322
+ if (msAbs >= d) {
4323
+ return plural(ms, msAbs, d, 'day');
4324
+ }
4325
+ if (msAbs >= h) {
4326
+ return plural(ms, msAbs, h, 'hour');
4327
+ }
4328
+ if (msAbs >= m) {
4329
+ return plural(ms, msAbs, m, 'minute');
4330
+ }
4331
+ if (msAbs >= s) {
4332
+ return plural(ms, msAbs, s, 'second');
4333
+ }
4334
+ return ms + ' ms';
4112
4335
  }
4113
4336
 
4114
4337
  /**
4115
4338
  * Pluralization helper.
4116
4339
  */
4117
4340
 
4118
- function plural(ms, n, name) {
4119
- if (ms < n) {
4120
- return;
4121
- }
4122
- if (ms < n * 1.5) {
4123
- return Math.floor(ms / n) + ' ' + name;
4124
- }
4125
- return Math.ceil(ms / n) + ' ' + name + 's';
4341
+ function plural(ms, msAbs, n, name) {
4342
+ var isPlural = msAbs >= n * 1.5;
4343
+ return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');
4126
4344
  }
4127
4345
 
4128
4346
 
@@ -4242,6 +4460,145 @@ function getEnv(key) {
4242
4460
  exports.getProxyForUrl = getProxyForUrl;
4243
4461
 
4244
4462
 
4463
+ /***/ }),
4464
+
4465
+ /***/ 8794:
4466
+ /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
4467
+
4468
+ "use strict";
4469
+
4470
+ const os = __nccwpck_require__(857);
4471
+ const hasFlag = __nccwpck_require__(2651);
4472
+
4473
+ const env = process.env;
4474
+
4475
+ let forceColor;
4476
+ if (hasFlag('no-color') ||
4477
+ hasFlag('no-colors') ||
4478
+ hasFlag('color=false')) {
4479
+ forceColor = false;
4480
+ } else if (hasFlag('color') ||
4481
+ hasFlag('colors') ||
4482
+ hasFlag('color=true') ||
4483
+ hasFlag('color=always')) {
4484
+ forceColor = true;
4485
+ }
4486
+ if ('FORCE_COLOR' in env) {
4487
+ forceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0;
4488
+ }
4489
+
4490
+ function translateLevel(level) {
4491
+ if (level === 0) {
4492
+ return false;
4493
+ }
4494
+
4495
+ return {
4496
+ level,
4497
+ hasBasic: true,
4498
+ has256: level >= 2,
4499
+ has16m: level >= 3
4500
+ };
4501
+ }
4502
+
4503
+ function supportsColor(stream) {
4504
+ if (forceColor === false) {
4505
+ return 0;
4506
+ }
4507
+
4508
+ if (hasFlag('color=16m') ||
4509
+ hasFlag('color=full') ||
4510
+ hasFlag('color=truecolor')) {
4511
+ return 3;
4512
+ }
4513
+
4514
+ if (hasFlag('color=256')) {
4515
+ return 2;
4516
+ }
4517
+
4518
+ if (stream && !stream.isTTY && forceColor !== true) {
4519
+ return 0;
4520
+ }
4521
+
4522
+ const min = forceColor ? 1 : 0;
4523
+
4524
+ if (process.platform === 'win32') {
4525
+ // Node.js 7.5.0 is the first version of Node.js to include a patch to
4526
+ // libuv that enables 256 color output on Windows. Anything earlier and it
4527
+ // won't work. However, here we target Node.js 8 at minimum as it is an LTS
4528
+ // release, and Node.js 7 is not. Windows 10 build 10586 is the first Windows
4529
+ // release that supports 256 colors. Windows 10 build 14931 is the first release
4530
+ // that supports 16m/TrueColor.
4531
+ const osRelease = os.release().split('.');
4532
+ if (
4533
+ Number(process.versions.node.split('.')[0]) >= 8 &&
4534
+ Number(osRelease[0]) >= 10 &&
4535
+ Number(osRelease[2]) >= 10586
4536
+ ) {
4537
+ return Number(osRelease[2]) >= 14931 ? 3 : 2;
4538
+ }
4539
+
4540
+ return 1;
4541
+ }
4542
+
4543
+ if ('CI' in env) {
4544
+ if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env) || env.CI_NAME === 'codeship') {
4545
+ return 1;
4546
+ }
4547
+
4548
+ return min;
4549
+ }
4550
+
4551
+ if ('TEAMCITY_VERSION' in env) {
4552
+ return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
4553
+ }
4554
+
4555
+ if (env.COLORTERM === 'truecolor') {
4556
+ return 3;
4557
+ }
4558
+
4559
+ if ('TERM_PROGRAM' in env) {
4560
+ const version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);
4561
+
4562
+ switch (env.TERM_PROGRAM) {
4563
+ case 'iTerm.app':
4564
+ return version >= 3 ? 3 : 2;
4565
+ case 'Apple_Terminal':
4566
+ return 2;
4567
+ // No default
4568
+ }
4569
+ }
4570
+
4571
+ if (/-256(color)?$/i.test(env.TERM)) {
4572
+ return 2;
4573
+ }
4574
+
4575
+ if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
4576
+ return 1;
4577
+ }
4578
+
4579
+ if ('COLORTERM' in env) {
4580
+ return 1;
4581
+ }
4582
+
4583
+ if (env.TERM === 'dumb') {
4584
+ return min;
4585
+ }
4586
+
4587
+ return min;
4588
+ }
4589
+
4590
+ function getSupportLevel(stream) {
4591
+ const level = supportsColor(stream);
4592
+ return translateLevel(level);
4593
+ }
4594
+
4595
+ module.exports = {
4596
+ supportsColor: getSupportLevel,
4597
+ stdout: getSupportLevel(process.stdout),
4598
+ stderr: getSupportLevel(process.stderr)
4599
+ };
4600
+
4601
+
4245
4602
  /***/ }),
4246
4603
 
4247
4604
  /***/ 2613:
@@ -4292,11 +4649,11 @@ module.exports = require("https");
4292
4649
 
4293
4650
  /***/ }),
4294
4651
 
4295
- /***/ 9278:
4652
+ /***/ 857:
4296
4653
  /***/ ((module) => {
4297
4654
 
4298
4655
  "use strict";
4299
- module.exports = require("net");
4656
+ module.exports = require("os");
4300
4657
 
4301
4658
  /***/ }),
4302
4659