@sap/ux-ui5-tooling 1.5.0 → 1.5.1

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.
@@ -20450,9 +20450,11 @@ var httpFollow = (__webpack_require__(36740).http);
20450
20450
  var httpsFollow = (__webpack_require__(36740).https);
20451
20451
  var url = __webpack_require__(57310);
20452
20452
  var zlib = __webpack_require__(59796);
20453
- var pkg = __webpack_require__(19521);
20453
+ var VERSION = (__webpack_require__(59704).version);
20454
20454
  var createError = __webpack_require__(48839);
20455
20455
  var enhanceError = __webpack_require__(69793);
20456
+ var defaults = __webpack_require__(60130);
20457
+ var Cancel = __webpack_require__(64831);
20456
20458
 
20457
20459
  var isHttps = /https:?/;
20458
20460
 
@@ -20484,27 +20486,45 @@ function setProxy(options, proxy, location) {
20484
20486
  /*eslint consistent-return:0*/
20485
20487
  module.exports = function httpAdapter(config) {
20486
20488
  return new Promise(function dispatchHttpRequest(resolvePromise, rejectPromise) {
20489
+ var onCanceled;
20490
+ function done() {
20491
+ if (config.cancelToken) {
20492
+ config.cancelToken.unsubscribe(onCanceled);
20493
+ }
20494
+
20495
+ if (config.signal) {
20496
+ config.signal.removeEventListener('abort', onCanceled);
20497
+ }
20498
+ }
20487
20499
  var resolve = function resolve(value) {
20500
+ done();
20488
20501
  resolvePromise(value);
20489
20502
  };
20503
+ var rejected = false;
20490
20504
  var reject = function reject(value) {
20505
+ done();
20506
+ rejected = true;
20491
20507
  rejectPromise(value);
20492
20508
  };
20493
20509
  var data = config.data;
20494
20510
  var headers = config.headers;
20511
+ var headerNames = {};
20512
+
20513
+ Object.keys(headers).forEach(function storeLowerName(name) {
20514
+ headerNames[name.toLowerCase()] = name;
20515
+ });
20495
20516
 
20496
20517
  // Set User-Agent (required by some servers)
20497
20518
  // See https://github.com/axios/axios/issues/69
20498
- if ('User-Agent' in headers || 'user-agent' in headers) {
20519
+ if ('user-agent' in headerNames) {
20499
20520
  // User-Agent is specified; handle case where no UA header is desired
20500
- if (!headers['User-Agent'] && !headers['user-agent']) {
20501
- delete headers['User-Agent'];
20502
- delete headers['user-agent'];
20521
+ if (!headers[headerNames['user-agent']]) {
20522
+ delete headers[headerNames['user-agent']];
20503
20523
  }
20504
20524
  // Otherwise, use specified value
20505
20525
  } else {
20506
20526
  // Only set header if it hasn't been set in config
20507
- headers['User-Agent'] = 'axios/' + pkg.version;
20527
+ headers['User-Agent'] = 'axios/' + VERSION;
20508
20528
  }
20509
20529
 
20510
20530
  if (data && !utils.isStream(data)) {
@@ -20521,8 +20541,14 @@ module.exports = function httpAdapter(config) {
20521
20541
  ));
20522
20542
  }
20523
20543
 
20544
+ if (config.maxBodyLength > -1 && data.length > config.maxBodyLength) {
20545
+ return reject(createError('Request body larger than maxBodyLength limit', config));
20546
+ }
20547
+
20524
20548
  // Add Content-Length header if data exists
20525
- headers['Content-Length'] = data.length;
20549
+ if (!headerNames['content-length']) {
20550
+ headers['Content-Length'] = data.length;
20551
+ }
20526
20552
  }
20527
20553
 
20528
20554
  // HTTP basic authentication
@@ -20545,13 +20571,23 @@ module.exports = function httpAdapter(config) {
20545
20571
  auth = urlUsername + ':' + urlPassword;
20546
20572
  }
20547
20573
 
20548
- if (auth) {
20549
- delete headers.Authorization;
20574
+ if (auth && headerNames.authorization) {
20575
+ delete headers[headerNames.authorization];
20550
20576
  }
20551
20577
 
20552
20578
  var isHttpsRequest = isHttps.test(protocol);
20553
20579
  var agent = isHttpsRequest ? config.httpsAgent : config.httpAgent;
20554
20580
 
20581
+ try {
20582
+ buildURL(parsed.path, config.params, config.paramsSerializer).replace(/^\?/, '');
20583
+ } catch (err) {
20584
+ var customErr = new Error(err.message);
20585
+ customErr.config = config;
20586
+ customErr.url = config.url;
20587
+ customErr.exists = true;
20588
+ reject(customErr);
20589
+ }
20590
+
20555
20591
  var options = {
20556
20592
  path: buildURL(parsed.path, config.params, config.paramsSerializer).replace(/^\?/, ''),
20557
20593
  method: config.method.toUpperCase(),
@@ -20638,6 +20674,10 @@ module.exports = function httpAdapter(config) {
20638
20674
  options.maxBodyLength = config.maxBodyLength;
20639
20675
  }
20640
20676
 
20677
+ if (config.insecureHTTPParser) {
20678
+ options.insecureHTTPParser = config.insecureHTTPParser;
20679
+ }
20680
+
20641
20681
  // Create the request
20642
20682
  var req = transport.request(options, function handleResponse(res) {
20643
20683
  if (req.aborted) return;
@@ -20685,27 +20725,40 @@ module.exports = function httpAdapter(config) {
20685
20725
 
20686
20726
  // make sure the content length is not over the maxContentLength if specified
20687
20727
  if (config.maxContentLength > -1 && totalResponseBytes > config.maxContentLength) {
20728
+ // stream.destoy() emit aborted event before calling reject() on Node.js v16
20729
+ rejected = true;
20688
20730
  stream.destroy();
20689
20731
  reject(createError('maxContentLength size of ' + config.maxContentLength + ' exceeded',
20690
20732
  config, null, lastRequest));
20691
20733
  }
20692
20734
  });
20693
20735
 
20736
+ stream.on('aborted', function handlerStreamAborted() {
20737
+ if (rejected) {
20738
+ return;
20739
+ }
20740
+ stream.destroy();
20741
+ reject(createError('error request aborted', config, 'ERR_REQUEST_ABORTED', lastRequest));
20742
+ });
20743
+
20694
20744
  stream.on('error', function handleStreamError(err) {
20695
20745
  if (req.aborted) return;
20696
20746
  reject(enhanceError(err, config, null, lastRequest));
20697
20747
  });
20698
20748
 
20699
20749
  stream.on('end', function handleStreamEnd() {
20700
- var responseData = Buffer.concat(responseBuffer);
20701
- if (config.responseType !== 'arraybuffer') {
20702
- responseData = responseData.toString(config.responseEncoding);
20703
- if (!config.responseEncoding || config.responseEncoding === 'utf8') {
20704
- responseData = utils.stripBOM(responseData);
20750
+ try {
20751
+ var responseData = responseBuffer.length === 1 ? responseBuffer[0] : Buffer.concat(responseBuffer);
20752
+ if (config.responseType !== 'arraybuffer') {
20753
+ responseData = responseData.toString(config.responseEncoding);
20754
+ if (!config.responseEncoding || config.responseEncoding === 'utf8') {
20755
+ responseData = utils.stripBOM(responseData);
20756
+ }
20705
20757
  }
20758
+ response.data = responseData;
20759
+ } catch (err) {
20760
+ reject(enhanceError(err, config, err.code, response.request, response));
20706
20761
  }
20707
-
20708
- response.data = responseData;
20709
20762
  settle(resolve, reject, response);
20710
20763
  });
20711
20764
  }
@@ -20717,6 +20770,12 @@ module.exports = function httpAdapter(config) {
20717
20770
  reject(enhanceError(err, config, null, req));
20718
20771
  });
20719
20772
 
20773
+ // set tcp keep alive to prevent drop connection by peer
20774
+ req.on('socket', function handleRequestSocket(socket) {
20775
+ // default interval of sending ack packet is 1 minute
20776
+ socket.setKeepAlive(true, 1000 * 60);
20777
+ });
20778
+
20720
20779
  // Handle request timeout
20721
20780
  if (config.timeout) {
20722
20781
  // This is forcing a int timeout to avoid problems if the `req` interface doesn't handle other types.
@@ -20740,25 +20799,39 @@ module.exports = function httpAdapter(config) {
20740
20799
  // ClientRequest.setTimeout will be fired on the specify milliseconds, and can make sure that abort() will be fired after connect.
20741
20800
  req.setTimeout(timeout, function handleRequestTimeout() {
20742
20801
  req.abort();
20802
+ var timeoutErrorMessage = '';
20803
+ if (config.timeoutErrorMessage) {
20804
+ timeoutErrorMessage = config.timeoutErrorMessage;
20805
+ } else {
20806
+ timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';
20807
+ }
20808
+ var transitional = config.transitional || defaults.transitional;
20743
20809
  reject(createError(
20744
- 'timeout of ' + timeout + 'ms exceeded',
20810
+ timeoutErrorMessage,
20745
20811
  config,
20746
- config.transitional && config.transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',
20812
+ transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',
20747
20813
  req
20748
20814
  ));
20749
20815
  });
20750
20816
  }
20751
20817
 
20752
- if (config.cancelToken) {
20818
+ if (config.cancelToken || config.signal) {
20753
20819
  // Handle cancellation
20754
- config.cancelToken.promise.then(function onCanceled(cancel) {
20820
+ // eslint-disable-next-line func-names
20821
+ onCanceled = function(cancel) {
20755
20822
  if (req.aborted) return;
20756
20823
 
20757
20824
  req.abort();
20758
- reject(cancel);
20759
- });
20825
+ reject(!cancel || (cancel && cancel.type) ? new Cancel('canceled') : cancel);
20826
+ };
20827
+
20828
+ config.cancelToken && config.cancelToken.subscribe(onCanceled);
20829
+ if (config.signal) {
20830
+ config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);
20831
+ }
20760
20832
  }
20761
20833
 
20834
+
20762
20835
  // Send the request
20763
20836
  if (utils.isStream(data)) {
20764
20837
  data.on('error', function handleStreamError(err) {
@@ -20787,12 +20860,24 @@ var buildFullPath = __webpack_require__(52643);
20787
20860
  var parseHeaders = __webpack_require__(21451);
20788
20861
  var isURLSameOrigin = __webpack_require__(3968);
20789
20862
  var createError = __webpack_require__(48839);
20863
+ var defaults = __webpack_require__(60130);
20864
+ var Cancel = __webpack_require__(64831);
20790
20865
 
20791
20866
  module.exports = function xhrAdapter(config) {
20792
20867
  return new Promise(function dispatchXhrRequest(resolve, reject) {
20793
20868
  var requestData = config.data;
20794
20869
  var requestHeaders = config.headers;
20795
20870
  var responseType = config.responseType;
20871
+ var onCanceled;
20872
+ function done() {
20873
+ if (config.cancelToken) {
20874
+ config.cancelToken.unsubscribe(onCanceled);
20875
+ }
20876
+
20877
+ if (config.signal) {
20878
+ config.signal.removeEventListener('abort', onCanceled);
20879
+ }
20880
+ }
20796
20881
 
20797
20882
  if (utils.isFormData(requestData)) {
20798
20883
  delete requestHeaders['Content-Type']; // Let the browser set it
@@ -20830,7 +20915,13 @@ module.exports = function xhrAdapter(config) {
20830
20915
  request: request
20831
20916
  };
20832
20917
 
20833
- settle(resolve, reject, response);
20918
+ settle(function _resolve(value) {
20919
+ resolve(value);
20920
+ done();
20921
+ }, function _reject(err) {
20922
+ reject(err);
20923
+ done();
20924
+ }, response);
20834
20925
 
20835
20926
  // Clean up request
20836
20927
  request = null;
@@ -20883,14 +20974,15 @@ module.exports = function xhrAdapter(config) {
20883
20974
 
20884
20975
  // Handle timeout
20885
20976
  request.ontimeout = function handleTimeout() {
20886
- var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';
20977
+ var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';
20978
+ var transitional = config.transitional || defaults.transitional;
20887
20979
  if (config.timeoutErrorMessage) {
20888
20980
  timeoutErrorMessage = config.timeoutErrorMessage;
20889
20981
  }
20890
20982
  reject(createError(
20891
20983
  timeoutErrorMessage,
20892
20984
  config,
20893
- config.transitional && config.transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',
20985
+ transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',
20894
20986
  request));
20895
20987
 
20896
20988
  // Clean up request
@@ -20944,18 +21036,22 @@ module.exports = function xhrAdapter(config) {
20944
21036
  request.upload.addEventListener('progress', config.onUploadProgress);
20945
21037
  }
20946
21038
 
20947
- if (config.cancelToken) {
21039
+ if (config.cancelToken || config.signal) {
20948
21040
  // Handle cancellation
20949
- config.cancelToken.promise.then(function onCanceled(cancel) {
21041
+ // eslint-disable-next-line func-names
21042
+ onCanceled = function(cancel) {
20950
21043
  if (!request) {
20951
21044
  return;
20952
21045
  }
20953
-
21046
+ reject(!cancel || (cancel && cancel.type) ? new Cancel('canceled') : cancel);
20954
21047
  request.abort();
20955
- reject(cancel);
20956
- // Clean up request
20957
21048
  request = null;
20958
- });
21049
+ };
21050
+
21051
+ config.cancelToken && config.cancelToken.subscribe(onCanceled);
21052
+ if (config.signal) {
21053
+ config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);
21054
+ }
20959
21055
  }
20960
21056
 
20961
21057
  if (!requestData) {
@@ -20998,6 +21094,11 @@ function createInstance(defaultConfig) {
20998
21094
  // Copy context to instance
20999
21095
  utils.extend(instance, context);
21000
21096
 
21097
+ // Factory for creating new instances
21098
+ instance.create = function create(instanceConfig) {
21099
+ return createInstance(mergeConfig(defaultConfig, instanceConfig));
21100
+ };
21101
+
21001
21102
  return instance;
21002
21103
  }
21003
21104
 
@@ -21007,15 +21108,11 @@ var axios = createInstance(defaults);
21007
21108
  // Expose Axios class to allow class inheritance
21008
21109
  axios.Axios = Axios;
21009
21110
 
21010
- // Factory for creating new instances
21011
- axios.create = function create(instanceConfig) {
21012
- return createInstance(mergeConfig(axios.defaults, instanceConfig));
21013
- };
21014
-
21015
21111
  // Expose Cancel & CancelToken
21016
21112
  axios.Cancel = __webpack_require__(64831);
21017
21113
  axios.CancelToken = __webpack_require__(82086);
21018
21114
  axios.isCancel = __webpack_require__(27777);
21115
+ axios.VERSION = (__webpack_require__(59704).version);
21019
21116
 
21020
21117
  // Expose all/spread
21021
21118
  axios.all = function all(promises) {
@@ -21081,11 +21178,42 @@ function CancelToken(executor) {
21081
21178
  }
21082
21179
 
21083
21180
  var resolvePromise;
21181
+
21084
21182
  this.promise = new Promise(function promiseExecutor(resolve) {
21085
21183
  resolvePromise = resolve;
21086
21184
  });
21087
21185
 
21088
21186
  var token = this;
21187
+
21188
+ // eslint-disable-next-line func-names
21189
+ this.promise.then(function(cancel) {
21190
+ if (!token._listeners) return;
21191
+
21192
+ var i;
21193
+ var l = token._listeners.length;
21194
+
21195
+ for (i = 0; i < l; i++) {
21196
+ token._listeners[i](cancel);
21197
+ }
21198
+ token._listeners = null;
21199
+ });
21200
+
21201
+ // eslint-disable-next-line func-names
21202
+ this.promise.then = function(onfulfilled) {
21203
+ var _resolve;
21204
+ // eslint-disable-next-line func-names
21205
+ var promise = new Promise(function(resolve) {
21206
+ token.subscribe(resolve);
21207
+ _resolve = resolve;
21208
+ }).then(onfulfilled);
21209
+
21210
+ promise.cancel = function reject() {
21211
+ token.unsubscribe(_resolve);
21212
+ };
21213
+
21214
+ return promise;
21215
+ };
21216
+
21089
21217
  executor(function cancel(message) {
21090
21218
  if (token.reason) {
21091
21219
  // Cancellation has already been requested
@@ -21106,6 +21234,37 @@ CancelToken.prototype.throwIfRequested = function throwIfRequested() {
21106
21234
  }
21107
21235
  };
21108
21236
 
21237
+ /**
21238
+ * Subscribe to the cancel signal
21239
+ */
21240
+
21241
+ CancelToken.prototype.subscribe = function subscribe(listener) {
21242
+ if (this.reason) {
21243
+ listener(this.reason);
21244
+ return;
21245
+ }
21246
+
21247
+ if (this._listeners) {
21248
+ this._listeners.push(listener);
21249
+ } else {
21250
+ this._listeners = [listener];
21251
+ }
21252
+ };
21253
+
21254
+ /**
21255
+ * Unsubscribe from the cancel signal
21256
+ */
21257
+
21258
+ CancelToken.prototype.unsubscribe = function unsubscribe(listener) {
21259
+ if (!this._listeners) {
21260
+ return;
21261
+ }
21262
+ var index = this._listeners.indexOf(listener);
21263
+ if (index !== -1) {
21264
+ this._listeners.splice(index, 1);
21265
+ }
21266
+ };
21267
+
21109
21268
  /**
21110
21269
  * Returns an object that contains a new `CancelToken` and a function that, when called,
21111
21270
  * cancels the `CancelToken`.
@@ -21171,14 +21330,14 @@ function Axios(instanceConfig) {
21171
21330
  *
21172
21331
  * @param {Object} config The config specific for this request (merged with this.defaults)
21173
21332
  */
21174
- Axios.prototype.request = function request(config) {
21333
+ Axios.prototype.request = function request(configOrUrl, config) {
21175
21334
  /*eslint no-param-reassign:0*/
21176
21335
  // Allow for axios('example/url'[, config]) a la fetch API
21177
- if (typeof config === 'string') {
21178
- config = arguments[1] || {};
21179
- config.url = arguments[0];
21180
- } else {
21336
+ if (typeof configOrUrl === 'string') {
21181
21337
  config = config || {};
21338
+ config.url = configOrUrl;
21339
+ } else {
21340
+ config = configOrUrl || {};
21182
21341
  }
21183
21342
 
21184
21343
  config = mergeConfig(this.defaults, config);
@@ -21196,9 +21355,9 @@ Axios.prototype.request = function request(config) {
21196
21355
 
21197
21356
  if (transitional !== undefined) {
21198
21357
  validator.assertOptions(transitional, {
21199
- silentJSONParsing: validators.transitional(validators.boolean, '1.0.0'),
21200
- forcedJSONParsing: validators.transitional(validators.boolean, '1.0.0'),
21201
- clarifyTimeoutError: validators.transitional(validators.boolean, '1.0.0')
21358
+ silentJSONParsing: validators.transitional(validators.boolean),
21359
+ forcedJSONParsing: validators.transitional(validators.boolean),
21360
+ clarifyTimeoutError: validators.transitional(validators.boolean)
21202
21361
  }, false);
21203
21362
  }
21204
21363
 
@@ -21421,6 +21580,7 @@ var utils = __webpack_require__(97770);
21421
21580
  var transformData = __webpack_require__(51672);
21422
21581
  var isCancel = __webpack_require__(27777);
21423
21582
  var defaults = __webpack_require__(60130);
21583
+ var Cancel = __webpack_require__(64831);
21424
21584
 
21425
21585
  /**
21426
21586
  * Throws a `Cancel` if cancellation has been requested.
@@ -21429,6 +21589,10 @@ function throwIfCancellationRequested(config) {
21429
21589
  if (config.cancelToken) {
21430
21590
  config.cancelToken.throwIfRequested();
21431
21591
  }
21592
+
21593
+ if (config.signal && config.signal.aborted) {
21594
+ throw new Cancel('canceled');
21595
+ }
21432
21596
  }
21433
21597
 
21434
21598
  /**
@@ -21542,7 +21706,8 @@ module.exports = function enhanceError(error, config, code, request, response) {
21542
21706
  stack: this.stack,
21543
21707
  // Axios
21544
21708
  config: this.config,
21545
- code: this.code
21709
+ code: this.code,
21710
+ status: this.response && this.response.status ? this.response.status : null
21546
21711
  };
21547
21712
  };
21548
21713
  return error;
@@ -21572,17 +21737,6 @@ module.exports = function mergeConfig(config1, config2) {
21572
21737
  config2 = config2 || {};
21573
21738
  var config = {};
21574
21739
 
21575
- var valueFromConfig2Keys = ['url', 'method', 'data'];
21576
- var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];
21577
- var defaultToConfig2Keys = [
21578
- 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',
21579
- 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',
21580
- 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',
21581
- 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',
21582
- 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'
21583
- ];
21584
- var directMergeKeys = ['validateStatus'];
21585
-
21586
21740
  function getMergedValue(target, source) {
21587
21741
  if (utils.isPlainObject(target) && utils.isPlainObject(source)) {
21588
21742
  return utils.merge(target, source);
@@ -21594,51 +21748,74 @@ module.exports = function mergeConfig(config1, config2) {
21594
21748
  return source;
21595
21749
  }
21596
21750
 
21751
+ // eslint-disable-next-line consistent-return
21597
21752
  function mergeDeepProperties(prop) {
21598
21753
  if (!utils.isUndefined(config2[prop])) {
21599
- config[prop] = getMergedValue(config1[prop], config2[prop]);
21754
+ return getMergedValue(config1[prop], config2[prop]);
21600
21755
  } else if (!utils.isUndefined(config1[prop])) {
21601
- config[prop] = getMergedValue(undefined, config1[prop]);
21756
+ return getMergedValue(undefined, config1[prop]);
21602
21757
  }
21603
21758
  }
21604
21759
 
21605
- utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {
21760
+ // eslint-disable-next-line consistent-return
21761
+ function valueFromConfig2(prop) {
21606
21762
  if (!utils.isUndefined(config2[prop])) {
21607
- config[prop] = getMergedValue(undefined, config2[prop]);
21763
+ return getMergedValue(undefined, config2[prop]);
21608
21764
  }
21609
- });
21610
-
21611
- utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);
21765
+ }
21612
21766
 
21613
- utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {
21767
+ // eslint-disable-next-line consistent-return
21768
+ function defaultToConfig2(prop) {
21614
21769
  if (!utils.isUndefined(config2[prop])) {
21615
- config[prop] = getMergedValue(undefined, config2[prop]);
21770
+ return getMergedValue(undefined, config2[prop]);
21616
21771
  } else if (!utils.isUndefined(config1[prop])) {
21617
- config[prop] = getMergedValue(undefined, config1[prop]);
21772
+ return getMergedValue(undefined, config1[prop]);
21618
21773
  }
21619
- });
21774
+ }
21620
21775
 
21621
- utils.forEach(directMergeKeys, function merge(prop) {
21776
+ // eslint-disable-next-line consistent-return
21777
+ function mergeDirectKeys(prop) {
21622
21778
  if (prop in config2) {
21623
- config[prop] = getMergedValue(config1[prop], config2[prop]);
21779
+ return getMergedValue(config1[prop], config2[prop]);
21624
21780
  } else if (prop in config1) {
21625
- config[prop] = getMergedValue(undefined, config1[prop]);
21626
- }
21627
- });
21628
-
21629
- var axiosKeys = valueFromConfig2Keys
21630
- .concat(mergeDeepPropertiesKeys)
21631
- .concat(defaultToConfig2Keys)
21632
- .concat(directMergeKeys);
21633
-
21634
- var otherKeys = Object
21635
- .keys(config1)
21636
- .concat(Object.keys(config2))
21637
- .filter(function filterAxiosKeys(key) {
21638
- return axiosKeys.indexOf(key) === -1;
21639
- });
21781
+ return getMergedValue(undefined, config1[prop]);
21782
+ }
21783
+ }
21784
+
21785
+ var mergeMap = {
21786
+ 'url': valueFromConfig2,
21787
+ 'method': valueFromConfig2,
21788
+ 'data': valueFromConfig2,
21789
+ 'baseURL': defaultToConfig2,
21790
+ 'transformRequest': defaultToConfig2,
21791
+ 'transformResponse': defaultToConfig2,
21792
+ 'paramsSerializer': defaultToConfig2,
21793
+ 'timeout': defaultToConfig2,
21794
+ 'timeoutMessage': defaultToConfig2,
21795
+ 'withCredentials': defaultToConfig2,
21796
+ 'adapter': defaultToConfig2,
21797
+ 'responseType': defaultToConfig2,
21798
+ 'xsrfCookieName': defaultToConfig2,
21799
+ 'xsrfHeaderName': defaultToConfig2,
21800
+ 'onUploadProgress': defaultToConfig2,
21801
+ 'onDownloadProgress': defaultToConfig2,
21802
+ 'decompress': defaultToConfig2,
21803
+ 'maxContentLength': defaultToConfig2,
21804
+ 'maxBodyLength': defaultToConfig2,
21805
+ 'transport': defaultToConfig2,
21806
+ 'httpAgent': defaultToConfig2,
21807
+ 'httpsAgent': defaultToConfig2,
21808
+ 'cancelToken': defaultToConfig2,
21809
+ 'socketPath': defaultToConfig2,
21810
+ 'responseEncoding': defaultToConfig2,
21811
+ 'validateStatus': mergeDirectKeys
21812
+ };
21640
21813
 
21641
- utils.forEach(otherKeys, mergeDeepProperties);
21814
+ utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {
21815
+ var merge = mergeMap[prop] || mergeDeepProperties;
21816
+ var configValue = merge(prop);
21817
+ (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);
21818
+ });
21642
21819
 
21643
21820
  return config;
21644
21821
  };
@@ -21794,7 +21971,7 @@ var defaults = {
21794
21971
  }],
21795
21972
 
21796
21973
  transformResponse: [function transformResponse(data) {
21797
- var transitional = this.transitional;
21974
+ var transitional = this.transitional || defaults.transitional;
21798
21975
  var silentJSONParsing = transitional && transitional.silentJSONParsing;
21799
21976
  var forcedJSONParsing = transitional && transitional.forcedJSONParsing;
21800
21977
  var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';
@@ -21829,12 +22006,12 @@ var defaults = {
21829
22006
 
21830
22007
  validateStatus: function validateStatus(status) {
21831
22008
  return status >= 200 && status < 300;
21832
- }
21833
- };
22009
+ },
21834
22010
 
21835
- defaults.headers = {
21836
- common: {
21837
- 'Accept': 'application/json, text/plain, */*'
22011
+ headers: {
22012
+ common: {
22013
+ 'Accept': 'application/json, text/plain, */*'
22014
+ }
21838
22015
  }
21839
22016
  };
21840
22017
 
@@ -21849,6 +22026,15 @@ utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
21849
22026
  module.exports = defaults;
21850
22027
 
21851
22028
 
22029
+ /***/ }),
22030
+
22031
+ /***/ 59704:
22032
+ /***/ ((module) => {
22033
+
22034
+ module.exports = {
22035
+ "version": "0.26.0"
22036
+ };
22037
+
21852
22038
  /***/ }),
21853
22039
 
21854
22040
  /***/ 36542:
@@ -22047,18 +22233,20 @@ module.exports = function isAbsoluteURL(url) {
22047
22233
  // A URL is considered absolute if it begins with "<scheme>://" or "//" (protocol-relative URL).
22048
22234
  // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed
22049
22235
  // by any combination of letters, digits, plus, period, or hyphen.
22050
- return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url);
22236
+ return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url);
22051
22237
  };
22052
22238
 
22053
22239
 
22054
22240
  /***/ }),
22055
22241
 
22056
22242
  /***/ 4997:
22057
- /***/ ((module) => {
22243
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
22058
22244
 
22059
22245
  "use strict";
22060
22246
 
22061
22247
 
22248
+ var utils = __webpack_require__(97770);
22249
+
22062
22250
  /**
22063
22251
  * Determines whether the payload is an error thrown by Axios
22064
22252
  *
@@ -22066,7 +22254,7 @@ module.exports = function isAbsoluteURL(url) {
22066
22254
  * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false
22067
22255
  */
22068
22256
  module.exports = function isAxiosError(payload) {
22069
- return (typeof payload === 'object') && (payload.isAxiosError === true);
22257
+ return utils.isObject(payload) && (payload.isAxiosError === true);
22070
22258
  };
22071
22259
 
22072
22260
 
@@ -22270,7 +22458,7 @@ module.exports = function spread(callback) {
22270
22458
  "use strict";
22271
22459
 
22272
22460
 
22273
- var pkg = __webpack_require__(19521);
22461
+ var VERSION = (__webpack_require__(59704).version);
22274
22462
 
22275
22463
  var validators = {};
22276
22464
 
@@ -22282,48 +22470,26 @@ var validators = {};
22282
22470
  });
22283
22471
 
22284
22472
  var deprecatedWarnings = {};
22285
- var currentVerArr = pkg.version.split('.');
22286
-
22287
- /**
22288
- * Compare package versions
22289
- * @param {string} version
22290
- * @param {string?} thanVersion
22291
- * @returns {boolean}
22292
- */
22293
- function isOlderVersion(version, thanVersion) {
22294
- var pkgVersionArr = thanVersion ? thanVersion.split('.') : currentVerArr;
22295
- var destVer = version.split('.');
22296
- for (var i = 0; i < 3; i++) {
22297
- if (pkgVersionArr[i] > destVer[i]) {
22298
- return true;
22299
- } else if (pkgVersionArr[i] < destVer[i]) {
22300
- return false;
22301
- }
22302
- }
22303
- return false;
22304
- }
22305
22473
 
22306
22474
  /**
22307
22475
  * Transitional option validator
22308
- * @param {function|boolean?} validator
22309
- * @param {string?} version
22310
- * @param {string} message
22476
+ * @param {function|boolean?} validator - set to false if the transitional option has been removed
22477
+ * @param {string?} version - deprecated version / removed since version
22478
+ * @param {string?} message - some message with additional info
22311
22479
  * @returns {function}
22312
22480
  */
22313
22481
  validators.transitional = function transitional(validator, version, message) {
22314
- var isDeprecated = version && isOlderVersion(version);
22315
-
22316
22482
  function formatMessage(opt, desc) {
22317
- return '[Axios v' + pkg.version + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : '');
22483
+ return '[Axios v' + VERSION + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : '');
22318
22484
  }
22319
22485
 
22320
22486
  // eslint-disable-next-line func-names
22321
22487
  return function(value, opt, opts) {
22322
22488
  if (validator === false) {
22323
- throw new Error(formatMessage(opt, ' has been removed in ' + version));
22489
+ throw new Error(formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')));
22324
22490
  }
22325
22491
 
22326
- if (isDeprecated && !deprecatedWarnings[opt]) {
22492
+ if (version && !deprecatedWarnings[opt]) {
22327
22493
  deprecatedWarnings[opt] = true;
22328
22494
  // eslint-disable-next-line no-console
22329
22495
  console.warn(
@@ -22369,7 +22535,6 @@ function assertOptions(options, schema, allowUnknown) {
22369
22535
  }
22370
22536
 
22371
22537
  module.exports = {
22372
- isOlderVersion: isOlderVersion,
22373
22538
  assertOptions: assertOptions,
22374
22539
  validators: validators
22375
22540
  };
@@ -22396,7 +22561,7 @@ var toString = Object.prototype.toString;
22396
22561
  * @returns {boolean} True if value is an Array, otherwise false
22397
22562
  */
22398
22563
  function isArray(val) {
22399
- return toString.call(val) === '[object Array]';
22564
+ return Array.isArray(val);
22400
22565
  }
22401
22566
 
22402
22567
  /**
@@ -22437,7 +22602,7 @@ function isArrayBuffer(val) {
22437
22602
  * @returns {boolean} True if value is an FormData, otherwise false
22438
22603
  */
22439
22604
  function isFormData(val) {
22440
- return (typeof FormData !== 'undefined') && (val instanceof FormData);
22605
+ return toString.call(val) === '[object FormData]';
22441
22606
  }
22442
22607
 
22443
22608
  /**
@@ -22451,7 +22616,7 @@ function isArrayBufferView(val) {
22451
22616
  if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {
22452
22617
  result = ArrayBuffer.isView(val);
22453
22618
  } else {
22454
- result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);
22619
+ result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));
22455
22620
  }
22456
22621
  return result;
22457
22622
  }
@@ -22558,7 +22723,7 @@ function isStream(val) {
22558
22723
  * @returns {boolean} True if value is a URLSearchParams object, otherwise false
22559
22724
  */
22560
22725
  function isURLSearchParams(val) {
22561
- return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;
22726
+ return toString.call(val) === '[object URLSearchParams]';
22562
22727
  }
22563
22728
 
22564
22729
  /**
@@ -48734,8 +48899,9 @@ RedirectableRequest.prototype._processResponse = function (response) {
48734
48899
  var redirectUrlParts = url.parse(redirectUrl);
48735
48900
  Object.assign(this._options, redirectUrlParts);
48736
48901
 
48737
- // Drop the confidential headers when redirecting to another domain
48738
- if (!(redirectUrlParts.host === currentHost || isSubdomainOf(redirectUrlParts.host, currentHost))) {
48902
+ // Drop confidential headers when redirecting to another scheme:domain
48903
+ if (redirectUrlParts.protocol !== currentUrlParts.protocol ||
48904
+ !isSameOrSubdomain(redirectUrlParts.host, currentHost)) {
48739
48905
  removeMatchingHeaders(/^(?:authorization|cookie)$/i, this._options.headers);
48740
48906
  }
48741
48907
 
@@ -48901,7 +49067,10 @@ function abortRequest(request) {
48901
49067
  request.abort();
48902
49068
  }
48903
49069
 
48904
- function isSubdomainOf(subdomain, domain) {
49070
+ function isSameOrSubdomain(subdomain, domain) {
49071
+ if (subdomain === domain) {
49072
+ return true;
49073
+ }
48905
49074
  const dot = subdomain.length - domain.length - 1;
48906
49075
  return dot > 0 && subdomain[dot] === "." && subdomain.endsWith(domain);
48907
49076
  }
@@ -79083,6 +79252,348 @@ function stubFalse() {
79083
79252
  module.exports = stubFalse;
79084
79253
 
79085
79254
 
79255
+ /***/ }),
79256
+
79257
+ /***/ 42696:
79258
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
79259
+
79260
+ "use strict";
79261
+
79262
+
79263
+ // A linked list to keep track of recently-used-ness
79264
+ const Yallist = __webpack_require__(25204)
79265
+
79266
+ const MAX = Symbol('max')
79267
+ const LENGTH = Symbol('length')
79268
+ const LENGTH_CALCULATOR = Symbol('lengthCalculator')
79269
+ const ALLOW_STALE = Symbol('allowStale')
79270
+ const MAX_AGE = Symbol('maxAge')
79271
+ const DISPOSE = Symbol('dispose')
79272
+ const NO_DISPOSE_ON_SET = Symbol('noDisposeOnSet')
79273
+ const LRU_LIST = Symbol('lruList')
79274
+ const CACHE = Symbol('cache')
79275
+ const UPDATE_AGE_ON_GET = Symbol('updateAgeOnGet')
79276
+
79277
+ const naiveLength = () => 1
79278
+
79279
+ // lruList is a yallist where the head is the youngest
79280
+ // item, and the tail is the oldest. the list contains the Hit
79281
+ // objects as the entries.
79282
+ // Each Hit object has a reference to its Yallist.Node. This
79283
+ // never changes.
79284
+ //
79285
+ // cache is a Map (or PseudoMap) that matches the keys to
79286
+ // the Yallist.Node object.
79287
+ class LRUCache {
79288
+ constructor (options) {
79289
+ if (typeof options === 'number')
79290
+ options = { max: options }
79291
+
79292
+ if (!options)
79293
+ options = {}
79294
+
79295
+ if (options.max && (typeof options.max !== 'number' || options.max < 0))
79296
+ throw new TypeError('max must be a non-negative number')
79297
+ // Kind of weird to have a default max of Infinity, but oh well.
79298
+ const max = this[MAX] = options.max || Infinity
79299
+
79300
+ const lc = options.length || naiveLength
79301
+ this[LENGTH_CALCULATOR] = (typeof lc !== 'function') ? naiveLength : lc
79302
+ this[ALLOW_STALE] = options.stale || false
79303
+ if (options.maxAge && typeof options.maxAge !== 'number')
79304
+ throw new TypeError('maxAge must be a number')
79305
+ this[MAX_AGE] = options.maxAge || 0
79306
+ this[DISPOSE] = options.dispose
79307
+ this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false
79308
+ this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false
79309
+ this.reset()
79310
+ }
79311
+
79312
+ // resize the cache when the max changes.
79313
+ set max (mL) {
79314
+ if (typeof mL !== 'number' || mL < 0)
79315
+ throw new TypeError('max must be a non-negative number')
79316
+
79317
+ this[MAX] = mL || Infinity
79318
+ trim(this)
79319
+ }
79320
+ get max () {
79321
+ return this[MAX]
79322
+ }
79323
+
79324
+ set allowStale (allowStale) {
79325
+ this[ALLOW_STALE] = !!allowStale
79326
+ }
79327
+ get allowStale () {
79328
+ return this[ALLOW_STALE]
79329
+ }
79330
+
79331
+ set maxAge (mA) {
79332
+ if (typeof mA !== 'number')
79333
+ throw new TypeError('maxAge must be a non-negative number')
79334
+
79335
+ this[MAX_AGE] = mA
79336
+ trim(this)
79337
+ }
79338
+ get maxAge () {
79339
+ return this[MAX_AGE]
79340
+ }
79341
+
79342
+ // resize the cache when the lengthCalculator changes.
79343
+ set lengthCalculator (lC) {
79344
+ if (typeof lC !== 'function')
79345
+ lC = naiveLength
79346
+
79347
+ if (lC !== this[LENGTH_CALCULATOR]) {
79348
+ this[LENGTH_CALCULATOR] = lC
79349
+ this[LENGTH] = 0
79350
+ this[LRU_LIST].forEach(hit => {
79351
+ hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key)
79352
+ this[LENGTH] += hit.length
79353
+ })
79354
+ }
79355
+ trim(this)
79356
+ }
79357
+ get lengthCalculator () { return this[LENGTH_CALCULATOR] }
79358
+
79359
+ get length () { return this[LENGTH] }
79360
+ get itemCount () { return this[LRU_LIST].length }
79361
+
79362
+ rforEach (fn, thisp) {
79363
+ thisp = thisp || this
79364
+ for (let walker = this[LRU_LIST].tail; walker !== null;) {
79365
+ const prev = walker.prev
79366
+ forEachStep(this, fn, walker, thisp)
79367
+ walker = prev
79368
+ }
79369
+ }
79370
+
79371
+ forEach (fn, thisp) {
79372
+ thisp = thisp || this
79373
+ for (let walker = this[LRU_LIST].head; walker !== null;) {
79374
+ const next = walker.next
79375
+ forEachStep(this, fn, walker, thisp)
79376
+ walker = next
79377
+ }
79378
+ }
79379
+
79380
+ keys () {
79381
+ return this[LRU_LIST].toArray().map(k => k.key)
79382
+ }
79383
+
79384
+ values () {
79385
+ return this[LRU_LIST].toArray().map(k => k.value)
79386
+ }
79387
+
79388
+ reset () {
79389
+ if (this[DISPOSE] &&
79390
+ this[LRU_LIST] &&
79391
+ this[LRU_LIST].length) {
79392
+ this[LRU_LIST].forEach(hit => this[DISPOSE](hit.key, hit.value))
79393
+ }
79394
+
79395
+ this[CACHE] = new Map() // hash of items by key
79396
+ this[LRU_LIST] = new Yallist() // list of items in order of use recency
79397
+ this[LENGTH] = 0 // length of items in the list
79398
+ }
79399
+
79400
+ dump () {
79401
+ return this[LRU_LIST].map(hit =>
79402
+ isStale(this, hit) ? false : {
79403
+ k: hit.key,
79404
+ v: hit.value,
79405
+ e: hit.now + (hit.maxAge || 0)
79406
+ }).toArray().filter(h => h)
79407
+ }
79408
+
79409
+ dumpLru () {
79410
+ return this[LRU_LIST]
79411
+ }
79412
+
79413
+ set (key, value, maxAge) {
79414
+ maxAge = maxAge || this[MAX_AGE]
79415
+
79416
+ if (maxAge && typeof maxAge !== 'number')
79417
+ throw new TypeError('maxAge must be a number')
79418
+
79419
+ const now = maxAge ? Date.now() : 0
79420
+ const len = this[LENGTH_CALCULATOR](value, key)
79421
+
79422
+ if (this[CACHE].has(key)) {
79423
+ if (len > this[MAX]) {
79424
+ del(this, this[CACHE].get(key))
79425
+ return false
79426
+ }
79427
+
79428
+ const node = this[CACHE].get(key)
79429
+ const item = node.value
79430
+
79431
+ // dispose of the old one before overwriting
79432
+ // split out into 2 ifs for better coverage tracking
79433
+ if (this[DISPOSE]) {
79434
+ if (!this[NO_DISPOSE_ON_SET])
79435
+ this[DISPOSE](key, item.value)
79436
+ }
79437
+
79438
+ item.now = now
79439
+ item.maxAge = maxAge
79440
+ item.value = value
79441
+ this[LENGTH] += len - item.length
79442
+ item.length = len
79443
+ this.get(key)
79444
+ trim(this)
79445
+ return true
79446
+ }
79447
+
79448
+ const hit = new Entry(key, value, len, now, maxAge)
79449
+
79450
+ // oversized objects fall out of cache automatically.
79451
+ if (hit.length > this[MAX]) {
79452
+ if (this[DISPOSE])
79453
+ this[DISPOSE](key, value)
79454
+
79455
+ return false
79456
+ }
79457
+
79458
+ this[LENGTH] += hit.length
79459
+ this[LRU_LIST].unshift(hit)
79460
+ this[CACHE].set(key, this[LRU_LIST].head)
79461
+ trim(this)
79462
+ return true
79463
+ }
79464
+
79465
+ has (key) {
79466
+ if (!this[CACHE].has(key)) return false
79467
+ const hit = this[CACHE].get(key).value
79468
+ return !isStale(this, hit)
79469
+ }
79470
+
79471
+ get (key) {
79472
+ return get(this, key, true)
79473
+ }
79474
+
79475
+ peek (key) {
79476
+ return get(this, key, false)
79477
+ }
79478
+
79479
+ pop () {
79480
+ const node = this[LRU_LIST].tail
79481
+ if (!node)
79482
+ return null
79483
+
79484
+ del(this, node)
79485
+ return node.value
79486
+ }
79487
+
79488
+ del (key) {
79489
+ del(this, this[CACHE].get(key))
79490
+ }
79491
+
79492
+ load (arr) {
79493
+ // reset the cache
79494
+ this.reset()
79495
+
79496
+ const now = Date.now()
79497
+ // A previous serialized cache has the most recent items first
79498
+ for (let l = arr.length - 1; l >= 0; l--) {
79499
+ const hit = arr[l]
79500
+ const expiresAt = hit.e || 0
79501
+ if (expiresAt === 0)
79502
+ // the item was created without expiration in a non aged cache
79503
+ this.set(hit.k, hit.v)
79504
+ else {
79505
+ const maxAge = expiresAt - now
79506
+ // dont add already expired items
79507
+ if (maxAge > 0) {
79508
+ this.set(hit.k, hit.v, maxAge)
79509
+ }
79510
+ }
79511
+ }
79512
+ }
79513
+
79514
+ prune () {
79515
+ this[CACHE].forEach((value, key) => get(this, key, false))
79516
+ }
79517
+ }
79518
+
79519
+ const get = (self, key, doUse) => {
79520
+ const node = self[CACHE].get(key)
79521
+ if (node) {
79522
+ const hit = node.value
79523
+ if (isStale(self, hit)) {
79524
+ del(self, node)
79525
+ if (!self[ALLOW_STALE])
79526
+ return undefined
79527
+ } else {
79528
+ if (doUse) {
79529
+ if (self[UPDATE_AGE_ON_GET])
79530
+ node.value.now = Date.now()
79531
+ self[LRU_LIST].unshiftNode(node)
79532
+ }
79533
+ }
79534
+ return hit.value
79535
+ }
79536
+ }
79537
+
79538
+ const isStale = (self, hit) => {
79539
+ if (!hit || (!hit.maxAge && !self[MAX_AGE]))
79540
+ return false
79541
+
79542
+ const diff = Date.now() - hit.now
79543
+ return hit.maxAge ? diff > hit.maxAge
79544
+ : self[MAX_AGE] && (diff > self[MAX_AGE])
79545
+ }
79546
+
79547
+ const trim = self => {
79548
+ if (self[LENGTH] > self[MAX]) {
79549
+ for (let walker = self[LRU_LIST].tail;
79550
+ self[LENGTH] > self[MAX] && walker !== null;) {
79551
+ // We know that we're about to delete this one, and also
79552
+ // what the next least recently used key will be, so just
79553
+ // go ahead and set it now.
79554
+ const prev = walker.prev
79555
+ del(self, walker)
79556
+ walker = prev
79557
+ }
79558
+ }
79559
+ }
79560
+
79561
+ const del = (self, node) => {
79562
+ if (node) {
79563
+ const hit = node.value
79564
+ if (self[DISPOSE])
79565
+ self[DISPOSE](hit.key, hit.value)
79566
+
79567
+ self[LENGTH] -= hit.length
79568
+ self[CACHE].delete(hit.key)
79569
+ self[LRU_LIST].removeNode(node)
79570
+ }
79571
+ }
79572
+
79573
+ class Entry {
79574
+ constructor (key, value, length, now, maxAge) {
79575
+ this.key = key
79576
+ this.value = value
79577
+ this.length = length
79578
+ this.now = now
79579
+ this.maxAge = maxAge || 0
79580
+ }
79581
+ }
79582
+
79583
+ const forEachStep = (self, fn, node, thisp) => {
79584
+ let hit = node.value
79585
+ if (isStale(self, hit)) {
79586
+ del(self, node)
79587
+ if (!self[ALLOW_STALE])
79588
+ hit = undefined
79589
+ }
79590
+ if (hit)
79591
+ fn.call(thisp, hit.value, hit.key, self)
79592
+ }
79593
+
79594
+ module.exports = LRUCache
79595
+
79596
+
79086
79597
  /***/ }),
79087
79598
 
79088
79599
  /***/ 25745:
@@ -90320,6 +90831,26 @@ if (!safer.constants) {
90320
90831
  module.exports = safer
90321
90832
 
90322
90833
 
90834
+ /***/ }),
90835
+
90836
+ /***/ 96155:
90837
+ /***/ ((module) => {
90838
+
90839
+ module.exports = function cmp (a, b) {
90840
+ var pa = a.split('.');
90841
+ var pb = b.split('.');
90842
+ for (var i = 0; i < 3; i++) {
90843
+ var na = Number(pa[i]);
90844
+ var nb = Number(pb[i]);
90845
+ if (na > nb) return 1;
90846
+ if (nb > na) return -1;
90847
+ if (!isNaN(na) && isNaN(nb)) return 1;
90848
+ if (isNaN(na) && !isNaN(nb)) return -1;
90849
+ }
90850
+ return 0;
90851
+ };
90852
+
90853
+
90323
90854
  /***/ }),
90324
90855
 
90325
90856
  /***/ 10241:
@@ -105303,6 +105834,456 @@ function getWellformedEdit(textEdit) {
105303
105834
  }
105304
105835
 
105305
105836
 
105837
+ /***/ }),
105838
+
105839
+ /***/ 53262:
105840
+ /***/ ((module) => {
105841
+
105842
+ "use strict";
105843
+
105844
+ module.exports = function (Yallist) {
105845
+ Yallist.prototype[Symbol.iterator] = function* () {
105846
+ for (let walker = this.head; walker; walker = walker.next) {
105847
+ yield walker.value
105848
+ }
105849
+ }
105850
+ }
105851
+
105852
+
105853
+ /***/ }),
105854
+
105855
+ /***/ 25204:
105856
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
105857
+
105858
+ "use strict";
105859
+
105860
+ module.exports = Yallist
105861
+
105862
+ Yallist.Node = Node
105863
+ Yallist.create = Yallist
105864
+
105865
+ function Yallist (list) {
105866
+ var self = this
105867
+ if (!(self instanceof Yallist)) {
105868
+ self = new Yallist()
105869
+ }
105870
+
105871
+ self.tail = null
105872
+ self.head = null
105873
+ self.length = 0
105874
+
105875
+ if (list && typeof list.forEach === 'function') {
105876
+ list.forEach(function (item) {
105877
+ self.push(item)
105878
+ })
105879
+ } else if (arguments.length > 0) {
105880
+ for (var i = 0, l = arguments.length; i < l; i++) {
105881
+ self.push(arguments[i])
105882
+ }
105883
+ }
105884
+
105885
+ return self
105886
+ }
105887
+
105888
+ Yallist.prototype.removeNode = function (node) {
105889
+ if (node.list !== this) {
105890
+ throw new Error('removing node which does not belong to this list')
105891
+ }
105892
+
105893
+ var next = node.next
105894
+ var prev = node.prev
105895
+
105896
+ if (next) {
105897
+ next.prev = prev
105898
+ }
105899
+
105900
+ if (prev) {
105901
+ prev.next = next
105902
+ }
105903
+
105904
+ if (node === this.head) {
105905
+ this.head = next
105906
+ }
105907
+ if (node === this.tail) {
105908
+ this.tail = prev
105909
+ }
105910
+
105911
+ node.list.length--
105912
+ node.next = null
105913
+ node.prev = null
105914
+ node.list = null
105915
+
105916
+ return next
105917
+ }
105918
+
105919
+ Yallist.prototype.unshiftNode = function (node) {
105920
+ if (node === this.head) {
105921
+ return
105922
+ }
105923
+
105924
+ if (node.list) {
105925
+ node.list.removeNode(node)
105926
+ }
105927
+
105928
+ var head = this.head
105929
+ node.list = this
105930
+ node.next = head
105931
+ if (head) {
105932
+ head.prev = node
105933
+ }
105934
+
105935
+ this.head = node
105936
+ if (!this.tail) {
105937
+ this.tail = node
105938
+ }
105939
+ this.length++
105940
+ }
105941
+
105942
+ Yallist.prototype.pushNode = function (node) {
105943
+ if (node === this.tail) {
105944
+ return
105945
+ }
105946
+
105947
+ if (node.list) {
105948
+ node.list.removeNode(node)
105949
+ }
105950
+
105951
+ var tail = this.tail
105952
+ node.list = this
105953
+ node.prev = tail
105954
+ if (tail) {
105955
+ tail.next = node
105956
+ }
105957
+
105958
+ this.tail = node
105959
+ if (!this.head) {
105960
+ this.head = node
105961
+ }
105962
+ this.length++
105963
+ }
105964
+
105965
+ Yallist.prototype.push = function () {
105966
+ for (var i = 0, l = arguments.length; i < l; i++) {
105967
+ push(this, arguments[i])
105968
+ }
105969
+ return this.length
105970
+ }
105971
+
105972
+ Yallist.prototype.unshift = function () {
105973
+ for (var i = 0, l = arguments.length; i < l; i++) {
105974
+ unshift(this, arguments[i])
105975
+ }
105976
+ return this.length
105977
+ }
105978
+
105979
+ Yallist.prototype.pop = function () {
105980
+ if (!this.tail) {
105981
+ return undefined
105982
+ }
105983
+
105984
+ var res = this.tail.value
105985
+ this.tail = this.tail.prev
105986
+ if (this.tail) {
105987
+ this.tail.next = null
105988
+ } else {
105989
+ this.head = null
105990
+ }
105991
+ this.length--
105992
+ return res
105993
+ }
105994
+
105995
+ Yallist.prototype.shift = function () {
105996
+ if (!this.head) {
105997
+ return undefined
105998
+ }
105999
+
106000
+ var res = this.head.value
106001
+ this.head = this.head.next
106002
+ if (this.head) {
106003
+ this.head.prev = null
106004
+ } else {
106005
+ this.tail = null
106006
+ }
106007
+ this.length--
106008
+ return res
106009
+ }
106010
+
106011
+ Yallist.prototype.forEach = function (fn, thisp) {
106012
+ thisp = thisp || this
106013
+ for (var walker = this.head, i = 0; walker !== null; i++) {
106014
+ fn.call(thisp, walker.value, i, this)
106015
+ walker = walker.next
106016
+ }
106017
+ }
106018
+
106019
+ Yallist.prototype.forEachReverse = function (fn, thisp) {
106020
+ thisp = thisp || this
106021
+ for (var walker = this.tail, i = this.length - 1; walker !== null; i--) {
106022
+ fn.call(thisp, walker.value, i, this)
106023
+ walker = walker.prev
106024
+ }
106025
+ }
106026
+
106027
+ Yallist.prototype.get = function (n) {
106028
+ for (var i = 0, walker = this.head; walker !== null && i < n; i++) {
106029
+ // abort out of the list early if we hit a cycle
106030
+ walker = walker.next
106031
+ }
106032
+ if (i === n && walker !== null) {
106033
+ return walker.value
106034
+ }
106035
+ }
106036
+
106037
+ Yallist.prototype.getReverse = function (n) {
106038
+ for (var i = 0, walker = this.tail; walker !== null && i < n; i++) {
106039
+ // abort out of the list early if we hit a cycle
106040
+ walker = walker.prev
106041
+ }
106042
+ if (i === n && walker !== null) {
106043
+ return walker.value
106044
+ }
106045
+ }
106046
+
106047
+ Yallist.prototype.map = function (fn, thisp) {
106048
+ thisp = thisp || this
106049
+ var res = new Yallist()
106050
+ for (var walker = this.head; walker !== null;) {
106051
+ res.push(fn.call(thisp, walker.value, this))
106052
+ walker = walker.next
106053
+ }
106054
+ return res
106055
+ }
106056
+
106057
+ Yallist.prototype.mapReverse = function (fn, thisp) {
106058
+ thisp = thisp || this
106059
+ var res = new Yallist()
106060
+ for (var walker = this.tail; walker !== null;) {
106061
+ res.push(fn.call(thisp, walker.value, this))
106062
+ walker = walker.prev
106063
+ }
106064
+ return res
106065
+ }
106066
+
106067
+ Yallist.prototype.reduce = function (fn, initial) {
106068
+ var acc
106069
+ var walker = this.head
106070
+ if (arguments.length > 1) {
106071
+ acc = initial
106072
+ } else if (this.head) {
106073
+ walker = this.head.next
106074
+ acc = this.head.value
106075
+ } else {
106076
+ throw new TypeError('Reduce of empty list with no initial value')
106077
+ }
106078
+
106079
+ for (var i = 0; walker !== null; i++) {
106080
+ acc = fn(acc, walker.value, i)
106081
+ walker = walker.next
106082
+ }
106083
+
106084
+ return acc
106085
+ }
106086
+
106087
+ Yallist.prototype.reduceReverse = function (fn, initial) {
106088
+ var acc
106089
+ var walker = this.tail
106090
+ if (arguments.length > 1) {
106091
+ acc = initial
106092
+ } else if (this.tail) {
106093
+ walker = this.tail.prev
106094
+ acc = this.tail.value
106095
+ } else {
106096
+ throw new TypeError('Reduce of empty list with no initial value')
106097
+ }
106098
+
106099
+ for (var i = this.length - 1; walker !== null; i--) {
106100
+ acc = fn(acc, walker.value, i)
106101
+ walker = walker.prev
106102
+ }
106103
+
106104
+ return acc
106105
+ }
106106
+
106107
+ Yallist.prototype.toArray = function () {
106108
+ var arr = new Array(this.length)
106109
+ for (var i = 0, walker = this.head; walker !== null; i++) {
106110
+ arr[i] = walker.value
106111
+ walker = walker.next
106112
+ }
106113
+ return arr
106114
+ }
106115
+
106116
+ Yallist.prototype.toArrayReverse = function () {
106117
+ var arr = new Array(this.length)
106118
+ for (var i = 0, walker = this.tail; walker !== null; i++) {
106119
+ arr[i] = walker.value
106120
+ walker = walker.prev
106121
+ }
106122
+ return arr
106123
+ }
106124
+
106125
+ Yallist.prototype.slice = function (from, to) {
106126
+ to = to || this.length
106127
+ if (to < 0) {
106128
+ to += this.length
106129
+ }
106130
+ from = from || 0
106131
+ if (from < 0) {
106132
+ from += this.length
106133
+ }
106134
+ var ret = new Yallist()
106135
+ if (to < from || to < 0) {
106136
+ return ret
106137
+ }
106138
+ if (from < 0) {
106139
+ from = 0
106140
+ }
106141
+ if (to > this.length) {
106142
+ to = this.length
106143
+ }
106144
+ for (var i = 0, walker = this.head; walker !== null && i < from; i++) {
106145
+ walker = walker.next
106146
+ }
106147
+ for (; walker !== null && i < to; i++, walker = walker.next) {
106148
+ ret.push(walker.value)
106149
+ }
106150
+ return ret
106151
+ }
106152
+
106153
+ Yallist.prototype.sliceReverse = function (from, to) {
106154
+ to = to || this.length
106155
+ if (to < 0) {
106156
+ to += this.length
106157
+ }
106158
+ from = from || 0
106159
+ if (from < 0) {
106160
+ from += this.length
106161
+ }
106162
+ var ret = new Yallist()
106163
+ if (to < from || to < 0) {
106164
+ return ret
106165
+ }
106166
+ if (from < 0) {
106167
+ from = 0
106168
+ }
106169
+ if (to > this.length) {
106170
+ to = this.length
106171
+ }
106172
+ for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) {
106173
+ walker = walker.prev
106174
+ }
106175
+ for (; walker !== null && i > from; i--, walker = walker.prev) {
106176
+ ret.push(walker.value)
106177
+ }
106178
+ return ret
106179
+ }
106180
+
106181
+ Yallist.prototype.splice = function (start, deleteCount, ...nodes) {
106182
+ if (start > this.length) {
106183
+ start = this.length - 1
106184
+ }
106185
+ if (start < 0) {
106186
+ start = this.length + start;
106187
+ }
106188
+
106189
+ for (var i = 0, walker = this.head; walker !== null && i < start; i++) {
106190
+ walker = walker.next
106191
+ }
106192
+
106193
+ var ret = []
106194
+ for (var i = 0; walker && i < deleteCount; i++) {
106195
+ ret.push(walker.value)
106196
+ walker = this.removeNode(walker)
106197
+ }
106198
+ if (walker === null) {
106199
+ walker = this.tail
106200
+ }
106201
+
106202
+ if (walker !== this.head && walker !== this.tail) {
106203
+ walker = walker.prev
106204
+ }
106205
+
106206
+ for (var i = 0; i < nodes.length; i++) {
106207
+ walker = insert(this, walker, nodes[i])
106208
+ }
106209
+ return ret;
106210
+ }
106211
+
106212
+ Yallist.prototype.reverse = function () {
106213
+ var head = this.head
106214
+ var tail = this.tail
106215
+ for (var walker = head; walker !== null; walker = walker.prev) {
106216
+ var p = walker.prev
106217
+ walker.prev = walker.next
106218
+ walker.next = p
106219
+ }
106220
+ this.head = tail
106221
+ this.tail = head
106222
+ return this
106223
+ }
106224
+
106225
+ function insert (self, node, value) {
106226
+ var inserted = node === self.head ?
106227
+ new Node(value, null, node, self) :
106228
+ new Node(value, node, node.next, self)
106229
+
106230
+ if (inserted.next === null) {
106231
+ self.tail = inserted
106232
+ }
106233
+ if (inserted.prev === null) {
106234
+ self.head = inserted
106235
+ }
106236
+
106237
+ self.length++
106238
+
106239
+ return inserted
106240
+ }
106241
+
106242
+ function push (self, item) {
106243
+ self.tail = new Node(item, self.tail, null, self)
106244
+ if (!self.head) {
106245
+ self.head = self.tail
106246
+ }
106247
+ self.length++
106248
+ }
106249
+
106250
+ function unshift (self, item) {
106251
+ self.head = new Node(item, null, self.head, self)
106252
+ if (!self.tail) {
106253
+ self.tail = self.head
106254
+ }
106255
+ self.length++
106256
+ }
106257
+
106258
+ function Node (value, prev, next, list) {
106259
+ if (!(this instanceof Node)) {
106260
+ return new Node(value, prev, next, list)
106261
+ }
106262
+
106263
+ this.list = list
106264
+ this.value = value
106265
+
106266
+ if (prev) {
106267
+ prev.next = this
106268
+ this.prev = prev
106269
+ } else {
106270
+ this.prev = null
106271
+ }
106272
+
106273
+ if (next) {
106274
+ next.prev = this
106275
+ this.next = next
106276
+ } else {
106277
+ this.next = null
106278
+ }
106279
+ }
106280
+
106281
+ try {
106282
+ // add if support for Symbol.iterator is present
106283
+ __webpack_require__(53262)(Yallist)
106284
+ } catch (er) {}
106285
+
106286
+
105306
106287
  /***/ }),
105307
106288
 
105308
106289
  /***/ 24227:
@@ -109678,10 +110659,7 @@ async function newHttpClient({ system, credentials, log, existingConnection, aut
109678
110659
  postConnectionCallback
109679
110660
  }));
109680
110661
  const headers = {
109681
- Cookie: connection.cookies.toString(),
109682
- common: {
109683
- Accept: 'application/json,application/xml,text/plain,*/*'
109684
- }
110662
+ Cookie: connection.cookies.toString()
109685
110663
  };
109686
110664
  if (connection.xsrfToken) {
109687
110665
  headers['x-csrf-token'] = connection.xsrfToken;
@@ -109697,6 +110675,8 @@ async function newHttpClient({ system, credentials, log, existingConnection, aut
109697
110675
  if (connection === null || connection === void 0 ? void 0 : connection.auth) {
109698
110676
  config.auth = connection.auth;
109699
110677
  }
110678
+ // @see https://axios-http.com/docs/config_defaults
110679
+ axios_1.default.defaults.headers.common['Accept'] = 'application/json,application/xml,text/plain,*/*';
109700
110680
  const httpClient = axios_1.default.create(config);
109701
110681
  return { connection, httpClient };
109702
110682
  }
@@ -112077,7 +113057,7 @@ exports.guessAuthType = guessAuthType;
112077
113057
  */
112078
113058
  async function getOnPremSystem(system) {
112079
113059
  let sapSystem = await __1.getSapSystem(system.url, system.client);
112080
- let isNewSystem = false;
113060
+ let isNewSapSystem = false;
112081
113061
  const creds = {
112082
113062
  username: system.credentials.systemUsername,
112083
113063
  password: system.credentials.systemPassword
@@ -112088,9 +113068,9 @@ async function getOnPremSystem(system) {
112088
113068
  }
112089
113069
  else {
112090
113070
  sapSystem = __1.newSapSystem(system.name || '', system.url, system.client, creds, true);
112091
- isNewSystem = true;
113071
+ isNewSapSystem = true;
112092
113072
  }
112093
- return [sapSystem, isNewSystem];
113073
+ return { sapSystem, isNewSapSystem };
112094
113074
  }
112095
113075
  exports.getOnPremSystem = getOnPremSystem;
112096
113076
  /**
@@ -112100,7 +113080,8 @@ exports.getOnPremSystem = getOnPremSystem;
112100
113080
  */
112101
113081
  async function getBTPSystem(system, savedSapSystemServiceKey) {
112102
113082
  let sapSystem;
112103
- let isNewSystem = false;
113083
+ let isNewSapSystem = false;
113084
+ // same as original system opened
112104
113085
  if (system.url && system.credentials === savedSapSystemServiceKey) {
112105
113086
  sapSystem = await __1.getSapSystem(system.url, system.client);
112106
113087
  }
@@ -112108,12 +113089,15 @@ async function getBTPSystem(system, savedSapSystemServiceKey) {
112108
113089
  sapSystem.name = system.name || '';
112109
113090
  }
112110
113091
  else {
112111
- sapSystem = __1.newSapSystemForSteampunk(system.name || '', system.credentials);
112112
- if (sapSystem) {
112113
- isNewSystem = true;
113092
+ const newBTPSapSystem = __1.newSapSystemForSteampunk(system.name || '', system.credentials);
113093
+ // check if 'new' system already exists in store
113094
+ sapSystem = await __1.getSapSystem(newBTPSapSystem.url, newBTPSapSystem.client);
113095
+ if (!sapSystem) {
113096
+ isNewSapSystem = true;
113097
+ sapSystem = newBTPSapSystem;
112114
113098
  }
112115
113099
  }
112116
- return [sapSystem, isNewSystem];
113100
+ return { sapSystem, isNewSapSystem };
112117
113101
  }
112118
113102
  exports.getBTPSystem = getBTPSystem;
112119
113103
  async function isSystemNameValid(newName, savedSystemName) {
@@ -117760,10 +118744,6 @@ var EventName;
117760
118744
  EventName["APP_INFO_COMMAND_STARTED"] = "APP_INFO_COMMAND_STARTED";
117761
118745
  EventName["APP_INFO_LINK_CLICKED"] = "APP_INFO_LINK_CLICKED";
117762
118746
  EventName["APP_INFO_STARTUP_TIME"] = "APP_INFO_STARTUP_TIME";
117763
- // Unique to Application Generator
117764
- EventName["GENERATION_SUCCESS"] = "GENERATION_SUCCESS";
117765
- EventName["GENERATION_INSTALL_FAIL"] = "GENERATION_INSTALL_FAIL";
117766
- EventName["GENERATION_WRITING_FAIL"] = "GENERATION_WRITING_FAIL";
117767
118747
  // Unique to Service Modeler
117768
118748
  EventName["SRV_MODELLER_SETTINGS_CHANGED"] = "SRV_MODELER_SETTINGS_CHANGED";
117769
118749
  EventName["SRV_MODELER_ACTIVATED"] = "SRV_MODELER_ACTIVATED";
@@ -117782,6 +118762,8 @@ var EventName;
117782
118762
  EventName["MIGRATION_ACTIVATED"] = "MIGRATION_ACTIVATED";
117783
118763
  EventName["MIGRATION_BACKEND_LOAD"] = "MIGRATION_BACKEND_LOAD";
117784
118764
  EventName["MIGRATION_COMPLETED"] = "MIGRATION_COMPLETED";
118765
+ EventName["MIGRATION_SUCCESS"] = "MIGRATION_SUCCESS";
118766
+ EventName["MIGRATION_FAILED"] = "MIGRATION_FAILED";
117785
118767
  EventName["MIGRATION_SHOW_INFO_PAGE"] = "MIGRATION_SHOW_INFO_PAGE";
117786
118768
  EventName["DEPLOY_CONFIG"] = "DEPLOY_CONFIG";
117787
118769
  EventName["DEPLOY"] = "DEPLOY";
@@ -118465,6 +119447,7 @@ class ToolsSuiteTelemetryClient extends appInsightClient_1.ApplicationInsightCli
118465
119447
  super(applicationKey, extensionName, extensionVersion);
118466
119448
  }
118467
119449
  /**
119450
+ * @deprecated
118468
119451
  * Send a telemetry event to Azure Application Insights
118469
119452
  * @param eventName Categorize the type of the event within the scope of an extension.
118470
119453
  * @param properties A set of string properties to be reported
@@ -118474,14 +119457,40 @@ class ToolsSuiteTelemetryClient extends appInsightClient_1.ApplicationInsightCli
118474
119457
  * @param ignoreSettings Ignore telemetryEnabled settings and skip submitting telemetry data
118475
119458
  */
118476
119459
  async report(eventName, properties, measurements, sampleRate, telemetryHelperProperties, ignoreSettings) {
118477
- const commonProperties = await toolsSuiteTelemetry_1.processToolsSuiteTelemetry(telemetryHelperProperties);
119460
+ const fioriProjectCommonProperties = await toolsSuiteTelemetry_1.processToolsSuiteTelemetry(telemetryHelperProperties);
119461
+ const commonProperties = {
119462
+ v: this.extensionVersion,
119463
+ datetime: date_1.localDatetimeToUTC()
119464
+ };
118478
119465
  const finalProperties = {
118479
119466
  ...properties,
118480
- ...commonProperties,
119467
+ ...fioriProjectCommonProperties,
119468
+ ...commonProperties
119469
+ };
119470
+ await super.report(eventName, finalProperties, measurements, sampleRate, telemetryHelperProperties, ignoreSettings);
119471
+ }
119472
+ /**
119473
+ * Send a telemetry event to Azure Application Insights
119474
+ * @param event Telemetry Event
119475
+ * @param sampleRate Sampling the event to be sent
119476
+ * @param telemetryHelperProperties Properties that are passed to the processCommonPropertiesHelper function to assit generate project specific telemetry data
119477
+ * @param ignoreSettings Ignore telemetryEnabled settings and skip submitting telemetry data
119478
+ */
119479
+ async reportEvent(event, sampleRate, telemetryHelperProperties, ignoreSettings) {
119480
+ const fioriProjectCommonProperties = await toolsSuiteTelemetry_1.processToolsSuiteTelemetry(telemetryHelperProperties);
119481
+ const telemetryEventCommonProperties = {
118481
119482
  v: this.extensionVersion,
118482
119483
  datetime: date_1.localDatetimeToUTC()
118483
119484
  };
118484
- await super.report(eventName, finalProperties, measurements, sampleRate, telemetryHelperProperties, ignoreSettings);
119485
+ const finalProperties = {
119486
+ ...event.properties,
119487
+ ...fioriProjectCommonProperties,
119488
+ ...telemetryEventCommonProperties
119489
+ };
119490
+ const finalMeasurements = {
119491
+ ...event.measurements
119492
+ };
119493
+ await super.report(event.eventName, finalProperties, finalMeasurements, sampleRate, telemetryHelperProperties, ignoreSettings);
118485
119494
  }
118486
119495
  }
118487
119496
  exports.ToolsSuiteTelemetryClient = ToolsSuiteTelemetryClient;
@@ -118525,7 +119534,7 @@ const ux_feature_toggle_1 = __webpack_require__(69513);
118525
119534
  async function processToolsSuiteTelemetry(telemetryHelperProperties) {
118526
119535
  const commonProperties = {};
118527
119536
  commonProperties[types_1.CommonProperties.DevSpace] = await getSbasDevspace();
118528
- commonProperties[types_1.CommonProperties.AppStudio] = `${ux_common_utils_1.isAppStudio()}`;
119537
+ commonProperties[types_1.CommonProperties.AppStudio] = ux_common_utils_1.isAppStudio();
118529
119538
  commonProperties[types_1.CommonProperties.AppStudioBackwardCompatible] = commonProperties[types_1.CommonProperties.AppStudio];
118530
119539
  commonProperties[types_1.CommonProperties.InternlVsExternal] = getInternalVsExternal();
118531
119540
  commonProperties[types_1.CommonProperties.InternlVsExternalBackwardCompatible] =
@@ -119062,6 +120071,501 @@ function configAzureTelemetryClient(client) {
119062
120071
  exports.configAzureTelemetryClient = configAzureTelemetryClient;
119063
120072
 
119064
120073
 
120074
+ /***/ }),
120075
+
120076
+ /***/ 51592:
120077
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
120078
+
120079
+ "use strict";
120080
+
120081
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
120082
+ const child_process_1 = __webpack_require__(32081);
120083
+ class CommandRunner {
120084
+ run(cmd, args = []) {
120085
+ return new Promise((resolve, reject) => {
120086
+ const stack = [];
120087
+ const spawnedCmd = child_process_1.spawn(cmd, args, {});
120088
+ spawnedCmd.stdout.setEncoding('utf8');
120089
+ let response;
120090
+ spawnedCmd.stdout.on('data', (data) => {
120091
+ response = data.toString();
120092
+ });
120093
+ spawnedCmd.stderr.on('data', (data) => {
120094
+ stack.push(data.toString());
120095
+ });
120096
+ spawnedCmd.on('close', (errorCode) => {
120097
+ if (errorCode !== 0) {
120098
+ reject(`Command failed, \`${cmd} ${args.join(' ')}\`, ${stack.join(', ')}`);
120099
+ }
120100
+ resolve(response);
120101
+ });
120102
+ });
120103
+ }
120104
+ }
120105
+ exports.CommandRunner = CommandRunner;
120106
+
120107
+
120108
+ /***/ }),
120109
+
120110
+ /***/ 68545:
120111
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
120112
+
120113
+ "use strict";
120114
+
120115
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
120116
+ var commandRunner_1 = __webpack_require__(51592);
120117
+ exports.CommandRunner = commandRunner_1.CommandRunner;
120118
+ var ui5_info_1 = __webpack_require__(94155);
120119
+ exports.MIN_UI5_VERSION_V4_TEMPLATE = ui5_info_1.MIN_UI5_VERSION_V4_TEMPLATE;
120120
+ exports.MIN_UI5_VERSION = ui5_info_1.MIN_UI5_VERSION;
120121
+ exports.MIN_UI5_VERSION_ALP_V4_TEMPLATE = ui5_info_1.MIN_UI5_VERSION_ALP_V4_TEMPLATE;
120122
+ exports.MIN_UI5_VERSION_FORM_ENTRY_TEMPLATE = ui5_info_1.MIN_UI5_VERSION_FORM_ENTRY_TEMPLATE;
120123
+ exports.retrieveUI5Versions = ui5_info_1.retrieveUI5Versions;
120124
+ exports.getUi5Themes = ui5_info_1.getUi5Themes;
120125
+ exports.getManifestVersion = ui5_info_1.getManifestVersion;
120126
+ exports.uI5VersionsWithCodeAssist = ui5_info_1.uI5VersionsWithCodeAssist;
120127
+ exports.getUI5Versions = ui5_info_1.getUI5Versions;
120128
+ exports.getSapSystemUI5Version = ui5_info_1.getSapSystemUI5Version;
120129
+ var types_1 = __webpack_require__(8450);
120130
+ exports.FioriElementsVersion = types_1.FioriElementsVersion;
120131
+ exports.minUI5VersionForLocalDev = types_1.minUI5VersionForLocalDev;
120132
+ exports.UI5Info = types_1.UI5Info;
120133
+
120134
+
120135
+ /***/ }),
120136
+
120137
+ /***/ 8450:
120138
+ /***/ ((__unused_webpack_module, exports) => {
120139
+
120140
+ "use strict";
120141
+
120142
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
120143
+ var UI5Info;
120144
+ (function (UI5Info) {
120145
+ UI5Info["OfficialUrl"] = "https://ui5.sap.com";
120146
+ UI5Info["SnapshotUrl"] = "https://sapui5preview-sapui5.dispatcher.int.sap.eu2.hana.ondemand.com";
120147
+ UI5Info["VersionsFile"] = "neo-app.json";
120148
+ UI5Info["DefaultVersion"] = "Latest";
120149
+ UI5Info["DefaultTheme"] = "sap_fiori_3";
120150
+ UI5Info["LatestVersionString"] = "Latest";
120151
+ })(UI5Info = exports.UI5Info || (exports.UI5Info = {}));
120152
+ var FioriElementsVersion;
120153
+ (function (FioriElementsVersion) {
120154
+ FioriElementsVersion["v2"] = "v2";
120155
+ FioriElementsVersion["v4"] = "v4";
120156
+ })(FioriElementsVersion = exports.FioriElementsVersion || (exports.FioriElementsVersion = {}));
120157
+ exports.minUI5VersionForLocalDev = 1.76;
120158
+
120159
+
120160
+ /***/ }),
120161
+
120162
+ /***/ 94155:
120163
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
120164
+
120165
+ "use strict";
120166
+
120167
+ var __importDefault = (this && this.__importDefault) || function (mod) {
120168
+ return (mod && mod.__esModule) ? mod : { "default": mod };
120169
+ };
120170
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
120171
+ const semver_compare_1 = __importDefault(__webpack_require__(96155));
120172
+ const ux_odata_client_1 = __webpack_require__(24951);
120173
+ const ux_feature_toggle_1 = __webpack_require__(69513);
120174
+ const commandRunner_1 = __webpack_require__(51592);
120175
+ const axios_1 = __importDefault(__webpack_require__(61674));
120176
+ const https_1 = __importDefault(__webpack_require__(95687));
120177
+ exports.MIN_UI5_VERSION_V4_TEMPLATE = '1.84.0';
120178
+ exports.MIN_UI5_VERSION = '1.65.0';
120179
+ exports.MIN_UI5_VERSION_ALP_V4_TEMPLATE = '1.90.0';
120180
+ exports.MIN_UI5_VERSION_FORM_ENTRY_TEMPLATE = '1.86.0';
120181
+ const MIN_UI5_VERSION_V2_TEMPLATE = '1.76.0';
120182
+ const MIN_UI5_DARK_THEME = '1.72.0';
120183
+ const SPECIFIC_UI5_HORIZON_THEME = '1.93.3';
120184
+ const MIN_UI5_HORIZON_THEME = '1.96.0';
120185
+ const MIN_UI5_VERSION_CODE_ASSIST = '1.76.0';
120186
+ const DEFAULT_UI5_VERSIONS = [
120187
+ "Latest" /* DefaultVersion */,
120188
+ '1.84.0',
120189
+ '1.82.0',
120190
+ '1.81.0',
120191
+ '1.80.0',
120192
+ '1.79.0',
120193
+ '1.78.0',
120194
+ '1.77.0',
120195
+ '1.76.0',
120196
+ '1.75.0',
120197
+ '1.74.0',
120198
+ '1.73.0',
120199
+ '1.72.0',
120200
+ '1.71.0',
120201
+ '1.70.0',
120202
+ '1.69.0',
120203
+ '1.68.0',
120204
+ '1.67.0',
120205
+ '1.66.0',
120206
+ exports.MIN_UI5_VERSION
120207
+ ];
120208
+ const THEMES = [
120209
+ {
120210
+ themeid: 'sap_belize',
120211
+ label: 'SAP Belize'
120212
+ },
120213
+ {
120214
+ themeid: 'sap_fiori_3',
120215
+ label: 'SAP Quartz Light'
120216
+ },
120217
+ {
120218
+ themeid: 'sap_fiori_3_dark',
120219
+ label: 'SAP Quartz Dark'
120220
+ },
120221
+ {
120222
+ themeid: 'sap_horizon',
120223
+ label: 'SAP Horizon (experimental)'
120224
+ }
120225
+ ];
120226
+ const LATEST_MANIFEST_VERSION = '1.32.0';
120227
+ const manifestVersions = {
120228
+ '1.30': '1.1.0',
120229
+ '1.32': '1.2.0',
120230
+ '1.34': '1.3.0',
120231
+ '1.38': '1.4.0',
120232
+ '1.42': '1.5.0',
120233
+ '1.46': '1.6.0',
120234
+ '1.48': '1.7.0',
120235
+ '1.50': '1.8.0',
120236
+ '1.52': '1.9.0',
120237
+ '1.54': '1.10.0',
120238
+ '1.56': '1.11.0',
120239
+ '1.58': '1.12.0',
120240
+ '1.61': '1.13.0',
120241
+ '1.62': '1.14.0',
120242
+ '1.66': '1.15.0',
120243
+ '1.70': '1.16.0',
120244
+ '1.71': '1.17.0',
120245
+ '1.74': '1.18.0',
120246
+ '1.75': '1.19.0',
120247
+ '1.76': '1.20.0',
120248
+ '1.77': '1.21.0',
120249
+ '1.78': '1.22.0',
120250
+ '1.79': '1.23.0',
120251
+ '1.80': '1.24.0',
120252
+ '1.81': '1.25.0',
120253
+ '1.82': '1.26.0',
120254
+ '1.83': '1.27.0',
120255
+ '1.84': '1.28.0',
120256
+ '1.85': '1.29.0',
120257
+ '1.86': '1.30.0',
120258
+ '1.87': '1.31.0',
120259
+ '1.88': LATEST_MANIFEST_VERSION
120260
+ };
120261
+ const consoleLogger = {
120262
+ warning: (message) => {
120263
+ console.warn(message);
120264
+ },
120265
+ error: (message) => {
120266
+ console.error(message);
120267
+ }
120268
+ };
120269
+ const PASS_THROUGH_STRINGS = new Set(['snapshot', 'snapshot-untested', "Latest" /* LatestVersionString */]);
120270
+ // This one holds the actual version, not 'Latest'
120271
+ let latestUI5Version;
120272
+ /**
120273
+ * Get manifest version from UI5 version
120274
+ * @param ui5Version - selected UI5 version
120275
+ */
120276
+ function getManifestVersion(ui5Version) {
120277
+ const isSnapshot = ui5Version.includes('snapshot');
120278
+ ui5Version = ui5Version.replace('snapshot-', '');
120279
+ ui5Version = ui5Version.replace('snapshot', '');
120280
+ const manifestKeys = Object.keys(manifestVersions).sort(semver_compare_1.default);
120281
+ let matchedVersion;
120282
+ if (ui5Version && ui5Version !== "Latest" /* DefaultVersion */) {
120283
+ for (const [, v] of manifestKeys.entries()) {
120284
+ if (ui5Version >= v) {
120285
+ matchedVersion = v;
120286
+ }
120287
+ }
120288
+ }
120289
+ if (!matchedVersion) {
120290
+ if (isSnapshot) {
120291
+ // For values "snapshot" and "snapshot-untested"
120292
+ matchedVersion = LATEST_MANIFEST_VERSION;
120293
+ }
120294
+ else {
120295
+ // For values e.g. "Latest", "snapshot-1.85", "1.78.0", "1.67.0" etc.
120296
+ matchedVersion =
120297
+ latestUI5Version !== undefined ? latestUI5Version.substring(0, 4) : LATEST_MANIFEST_VERSION;
120298
+ }
120299
+ }
120300
+ return manifestVersions[matchedVersion] || LATEST_MANIFEST_VERSION;
120301
+ }
120302
+ exports.getManifestVersion = getManifestVersion;
120303
+ /**
120304
+ * Sort function for snapshot versions
120305
+ * @param a
120306
+ * @param b
120307
+ */
120308
+ function snapshotSort(a, b) {
120309
+ a = a.replace('snapshot-', '');
120310
+ b = b.replace('snapshot-', '');
120311
+ const versions = ["Latest" /* DefaultVersion */, 'snapshot', 'untested'];
120312
+ // Sort 'Latest', 'snapshot' and 'snapshot-untested' in order
120313
+ if (versions.indexOf(a) > -1 && versions.indexOf(b) > -1) {
120314
+ return a.localeCompare(b);
120315
+ }
120316
+ // Sort 'Latest', 'snapshot' and 'snapshot-untested' to the top of the UI5 version list
120317
+ if (versions.indexOf(a) > -1 || versions.indexOf(b) > -1) {
120318
+ return semver_compare_1.default(a, b);
120319
+ }
120320
+ // Ensure snapshot is sorted to top of patch versions
120321
+ return semver_compare_1.default(b + '.999', a + '.999');
120322
+ }
120323
+ /**
120324
+ * Filters an array of versions and returns versions that are equal or higher minVersion
120325
+ * @param versions - array of versions
120326
+ * @param minVersion - minimum version to filter
120327
+ */
120328
+ function filterNewerEqual(versions, minVersion) {
120329
+ return versions.filter((version) => {
120330
+ if (PASS_THROUGH_STRINGS.has(version)) {
120331
+ return true;
120332
+ }
120333
+ else if (version.startsWith('snapshot-')) {
120334
+ version = version.replace('snapshot-', '');
120335
+ }
120336
+ return semver_compare_1.default(version, minVersion) >= 0;
120337
+ });
120338
+ }
120339
+ /**
120340
+ * Return the list of UI5 versions for a given URL
120341
+ * @param url - URL to retrieve the versions from, either official URL or snapshot URL
120342
+ */
120343
+ async function getUI5Versions(url) {
120344
+ const { system } = ux_odata_client_1.newSapSystemForServiceUrl(url);
120345
+ system.config.service = `/${"neo-app.json" /* VersionsFile */}`;
120346
+ const odataClient = new ux_odata_client_1.ODataClient({
120347
+ system: system.config,
120348
+ autoAddTrailingSlash: false,
120349
+ timeout: 4000
120350
+ });
120351
+ const response = await odataClient.get();
120352
+ const result = JSON.parse(JSON.stringify(response)).routes.map((route) => {
120353
+ if (route.path === '/') {
120354
+ latestUI5Version = route.target.version;
120355
+ }
120356
+ const version = route.path === '/' ? "Latest" /* DefaultVersion */ : route.target.version;
120357
+ return version;
120358
+ });
120359
+ return result;
120360
+ }
120361
+ exports.getUI5Versions = getUI5Versions;
120362
+ /**
120363
+ * Return a list of UI5 versions.
120364
+ * @param filterOptions - filter the UI5 versions returned
120365
+ * @param logger
120366
+ * @param returnLatestValue - returns the actual value of 'Latest'
120367
+ */
120368
+ async function retrieveUI5Versions(filterOptions, logger = consoleLogger, returnLatestValue) {
120369
+ let officialVersions = [];
120370
+ let snapshotVersions = [];
120371
+ try {
120372
+ officialVersions = (filterOptions === null || filterOptions === void 0 ? void 0 : filterOptions.onlyNpmVersion) ? await retrieveNpmUI5Versions(filterOptions.fioriElementsVersion || "v2" /* v2 */, filterOptions.ui5SelectedVersion)
120373
+ : await getUI5Versions("https://ui5.sap.com" /* OfficialUrl */);
120374
+ }
120375
+ catch (error) {
120376
+ logger.warning(`Request to '${"https://ui5.sap.com" /* OfficialUrl */}' failed. Error was: '${error.message}'. Fallback to default UI5 versions`);
120377
+ officialVersions = DEFAULT_UI5_VERSIONS.slice();
120378
+ }
120379
+ if (filterOptions === null || filterOptions === void 0 ? void 0 : filterOptions.includeSnapshots) {
120380
+ try {
120381
+ snapshotVersions = await getUI5Versions("https://sapui5preview-sapui5.dispatcher.int.sap.eu2.hana.ondemand.com" /* SnapshotUrl */);
120382
+ }
120383
+ catch (error) {
120384
+ logger.error(`Request to '${"https://sapui5preview-sapui5.dispatcher.int.sap.eu2.hana.ondemand.com" /* SnapshotUrl */}' failed. Error was: '${error.message}'`);
120385
+ }
120386
+ }
120387
+ let versions = [...officialVersions, ...snapshotVersions].sort(snapshotSort);
120388
+ if (filterOptions === null || filterOptions === void 0 ? void 0 : filterOptions.minSupportedUI5Version) {
120389
+ versions = filterNewerEqual(versions, filterOptions === null || filterOptions === void 0 ? void 0 : filterOptions.minSupportedUI5Version);
120390
+ }
120391
+ else if (filterOptions === null || filterOptions === void 0 ? void 0 : filterOptions.fioriElementsVersion) {
120392
+ versions =
120393
+ filterOptions.fioriElementsVersion === "v4" /* v4 */
120394
+ ? filterNewerEqual(versions, exports.MIN_UI5_VERSION_V4_TEMPLATE)
120395
+ : filterNewerEqual(versions, exports.MIN_UI5_VERSION);
120396
+ }
120397
+ else {
120398
+ versions = filterNewerEqual(versions, exports.MIN_UI5_VERSION);
120399
+ }
120400
+ if (filterOptions === null || filterOptions === void 0 ? void 0 : filterOptions.onlyVersionNumbers) {
120401
+ versions = versions.filter((ele) => ele && /^\d+(\.\d+)*$/.test(ele));
120402
+ }
120403
+ if (returnLatestValue && versions[0].includes("Latest" /* LatestVersionString */)) {
120404
+ versions[0] = latestUI5Version;
120405
+ }
120406
+ return versions;
120407
+ }
120408
+ exports.retrieveUI5Versions = retrieveUI5Versions;
120409
+ /**
120410
+ * Return supported UI5 themes
120411
+ * @param [ui5Version] - optional, UI5 version to get themes for
120412
+ */
120413
+ function getUi5Themes(ui5Version = "Latest" /* DefaultVersion */) {
120414
+ let filteredUi5Version = ui5Version.replace('snapshot-', '');
120415
+ filteredUi5Version = zeroExtendUI5Version(filteredUi5Version);
120416
+ const filteredThemes = [];
120417
+ for (const theme of THEMES) {
120418
+ switch (theme.themeid) {
120419
+ case 'sap_belize':
120420
+ case 'sap_fiori_3':
120421
+ filteredThemes.push(theme);
120422
+ break;
120423
+ case 'sap_fiori_3_dark':
120424
+ (ui5VersionCheck(filteredUi5Version) || semver_compare_1.default(filteredUi5Version, MIN_UI5_DARK_THEME) >= 0) &&
120425
+ filteredThemes.push(theme);
120426
+ break;
120427
+ case 'sap_horizon':
120428
+ (filteredUi5Version === SPECIFIC_UI5_HORIZON_THEME ||
120429
+ ui5VersionCheck(filteredUi5Version) ||
120430
+ semver_compare_1.default(filteredUi5Version, MIN_UI5_HORIZON_THEME) >= 0) &&
120431
+ ux_feature_toggle_1.isFeatureEnabled(ux_feature_toggle_1.ExperimentalFeatures) &&
120432
+ filteredThemes.push(theme);
120433
+ break;
120434
+ }
120435
+ }
120436
+ return filteredThemes;
120437
+ }
120438
+ exports.getUi5Themes = getUi5Themes;
120439
+ /**
120440
+ * Adds '.0' to the ui5Version string if required
120441
+ * @param ui5version - version to be checked
120442
+ * @returns string
120443
+ */
120444
+ function zeroExtendUI5Version(ui5Version) {
120445
+ const versionParts = ui5Version.split('.');
120446
+ if (versionParts.length < 3 && !ui5VersionCheck(ui5Version)) {
120447
+ ui5Version = ui5Version.concat('.0');
120448
+ }
120449
+ return ui5Version;
120450
+ }
120451
+ /**
120452
+ * Determines if UI5 version is 'Latest' / 'untested' / 'snapshot'
120453
+ * @param ui5version - version to be checked
120454
+ * @returns boolean
120455
+ */
120456
+ function ui5VersionCheck(ui5version) {
120457
+ return ui5version === "Latest" /* LatestVersionString */ || ui5version === 'untested' || ui5version === 'snapshot';
120458
+ }
120459
+ /**
120460
+ * Sorts UI5 versions
120461
+ * @param ui5versions - versions to be sorted
120462
+ * @returns string[]
120463
+ */
120464
+ function sortUI5Versions(ui5Versions) {
120465
+ return ui5Versions
120466
+ .filter(Boolean)
120467
+ .sort((a, b) => {
120468
+ const a1 = a.split('.');
120469
+ const b1 = b.split('.');
120470
+ const len = Math.max(a1.length, b1.length);
120471
+ for (let i = 0; i < len; i++) {
120472
+ const _a = +a1[i] || 0;
120473
+ const _b = +b1[i] || 0;
120474
+ if (_a === _b) {
120475
+ continue;
120476
+ }
120477
+ else {
120478
+ return _a > _b ? 1 : -1;
120479
+ }
120480
+ }
120481
+ return 0;
120482
+ })
120483
+ .reverse(); // Safety check to always ensure the list is sorted
120484
+ }
120485
+ /**
120486
+ * Filters an array of versions based on a ui5 version parameter and returns a boolean for code assist libraries enablement
120487
+ * @param versions - array of versions
120488
+ * @param ui5Version - minimum version to filter
120489
+ */
120490
+ function uI5VersionsWithCodeAssist(versions, ui5Version) {
120491
+ return (filterNewerEqual(versions, MIN_UI5_VERSION_CODE_ASSIST).includes(ui5Version) ||
120492
+ ui5Version === "Latest" /* DefaultVersion */);
120493
+ }
120494
+ exports.uI5VersionsWithCodeAssist = uI5VersionsWithCodeAssist;
120495
+ /**
120496
+ * Retrieve a list of versions based on the odata version i.e. v2 | v4. If a known version is passed in and is a supported version, then only that version is returned.
120497
+ *
120498
+ * @param {FioriElementsVersion} fioriElementsVersion - OData Service v2 | v4
120499
+ * @param {string|undefined} ui5SelectedVersion - selected version i.e. 1.80.0 | latest | ''
120500
+ */
120501
+ async function retrieveNpmUI5Versions(fioriElementsVersion, ui5SelectedVersion = undefined) {
120502
+ const defaultMinVersion = fioriElementsVersion === "v2" /* v2 */ ? MIN_UI5_VERSION_V2_TEMPLATE : exports.MIN_UI5_VERSION_V4_TEMPLATE;
120503
+ let results = [];
120504
+ try {
120505
+ const runner = new commandRunner_1.CommandRunner();
120506
+ const npm = process.platform === 'win32' ? 'npm.cmd' : 'npm';
120507
+ const npmVersions = await runner.run(npm, ['show', '@sapui5/distribution-metadata', 'versions', '--no-color']);
120508
+ results = npmVersions
120509
+ .replace(/[\r?\n|\r[\] ']/g, '') // Remove all chars, new lines and empty space
120510
+ .trim()
120511
+ .split(',');
120512
+ }
120513
+ catch (e) {
120514
+ results = DEFAULT_UI5_VERSIONS.slice();
120515
+ }
120516
+ const sortedUI5Versions = sortUI5Versions(results);
120517
+ const versions = filterNewerEqual(sortedUI5Versions, defaultMinVersion);
120518
+ let latestVersions = versions.length
120519
+ ? versions.filter((ele) => ele && /^\d+(\.\d+)*$/.test(ele))
120520
+ : [defaultMinVersion];
120521
+ if (ui5SelectedVersion && ui5SelectedVersion.length) {
120522
+ const latestMinIdx = latestVersions.findIndex((v) => v === ui5SelectedVersion);
120523
+ if (latestMinIdx === -1) {
120524
+ // Return lowest supported version if selected version is lower
120525
+ if (ui5SelectedVersion < latestVersions.slice(-1)[0]) {
120526
+ latestVersions = latestVersions.slice(-1);
120527
+ }
120528
+ }
120529
+ else {
120530
+ // Return the selected version as the top item as its supported!
120531
+ latestVersions = latestVersions.slice(latestMinIdx);
120532
+ }
120533
+ }
120534
+ return latestVersions;
120535
+ }
120536
+ /**
120537
+ * Query the UI5 version used by backend system.
120538
+ * @param sapSystemHost Host URL of sap system retrieves from service inquiry step
120539
+ * @param rejectUnauthorized Set to true to reject querying hosts with self-signed https certificates. Default to false.
120540
+ * @returns Semantic version of UI5 version. Possible to be undefined.
120541
+ */
120542
+ async function getSapSystemUI5Version(sapSystemHost, rejectUnauthorized = false) {
120543
+ if (!sapSystemHost) {
120544
+ return undefined;
120545
+ }
120546
+ const url = new URL('/sap/public/bc/ui5_ui5/bootstrap_info.json', sapSystemHost).toString();
120547
+ let version = '';
120548
+ try {
120549
+ const response = await axios_1.default.get(url, {
120550
+ httpsAgent: new https_1.default.Agent({
120551
+ rejectUnauthorized
120552
+ })
120553
+ });
120554
+ if (response.status === 200) {
120555
+ const versionInfo = response.data;
120556
+ version = versionInfo.Version;
120557
+ }
120558
+ }
120559
+ catch {
120560
+ // Best effort attempt to retrieve UI5 version number from backend system.
120561
+ // No need to handle the error and version is undefined if not possible to
120562
+ // query UI5 version.
120563
+ }
120564
+ return version;
120565
+ }
120566
+ exports.getSapSystemUI5Version = getSapSystemUI5Version;
120567
+
120568
+
119065
120569
  /***/ }),
119066
120570
 
119067
120571
  /***/ 42745:
@@ -125899,6 +127403,2274 @@ module.exports = (msg, opts = {}) => {
125899
127403
  };
125900
127404
 
125901
127405
 
127406
+ /***/ }),
127407
+
127408
+ /***/ 88428:
127409
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
127410
+
127411
+ const ANY = Symbol('SemVer ANY')
127412
+ // hoisted class for cyclic dependency
127413
+ class Comparator {
127414
+ static get ANY () {
127415
+ return ANY
127416
+ }
127417
+ constructor (comp, options) {
127418
+ options = parseOptions(options)
127419
+
127420
+ if (comp instanceof Comparator) {
127421
+ if (comp.loose === !!options.loose) {
127422
+ return comp
127423
+ } else {
127424
+ comp = comp.value
127425
+ }
127426
+ }
127427
+
127428
+ debug('comparator', comp, options)
127429
+ this.options = options
127430
+ this.loose = !!options.loose
127431
+ this.parse(comp)
127432
+
127433
+ if (this.semver === ANY) {
127434
+ this.value = ''
127435
+ } else {
127436
+ this.value = this.operator + this.semver.version
127437
+ }
127438
+
127439
+ debug('comp', this)
127440
+ }
127441
+
127442
+ parse (comp) {
127443
+ const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]
127444
+ const m = comp.match(r)
127445
+
127446
+ if (!m) {
127447
+ throw new TypeError(`Invalid comparator: ${comp}`)
127448
+ }
127449
+
127450
+ this.operator = m[1] !== undefined ? m[1] : ''
127451
+ if (this.operator === '=') {
127452
+ this.operator = ''
127453
+ }
127454
+
127455
+ // if it literally is just '>' or '' then allow anything.
127456
+ if (!m[2]) {
127457
+ this.semver = ANY
127458
+ } else {
127459
+ this.semver = new SemVer(m[2], this.options.loose)
127460
+ }
127461
+ }
127462
+
127463
+ toString () {
127464
+ return this.value
127465
+ }
127466
+
127467
+ test (version) {
127468
+ debug('Comparator.test', version, this.options.loose)
127469
+
127470
+ if (this.semver === ANY || version === ANY) {
127471
+ return true
127472
+ }
127473
+
127474
+ if (typeof version === 'string') {
127475
+ try {
127476
+ version = new SemVer(version, this.options)
127477
+ } catch (er) {
127478
+ return false
127479
+ }
127480
+ }
127481
+
127482
+ return cmp(version, this.operator, this.semver, this.options)
127483
+ }
127484
+
127485
+ intersects (comp, options) {
127486
+ if (!(comp instanceof Comparator)) {
127487
+ throw new TypeError('a Comparator is required')
127488
+ }
127489
+
127490
+ if (!options || typeof options !== 'object') {
127491
+ options = {
127492
+ loose: !!options,
127493
+ includePrerelease: false
127494
+ }
127495
+ }
127496
+
127497
+ if (this.operator === '') {
127498
+ if (this.value === '') {
127499
+ return true
127500
+ }
127501
+ return new Range(comp.value, options).test(this.value)
127502
+ } else if (comp.operator === '') {
127503
+ if (comp.value === '') {
127504
+ return true
127505
+ }
127506
+ return new Range(this.value, options).test(comp.semver)
127507
+ }
127508
+
127509
+ const sameDirectionIncreasing =
127510
+ (this.operator === '>=' || this.operator === '>') &&
127511
+ (comp.operator === '>=' || comp.operator === '>')
127512
+ const sameDirectionDecreasing =
127513
+ (this.operator === '<=' || this.operator === '<') &&
127514
+ (comp.operator === '<=' || comp.operator === '<')
127515
+ const sameSemVer = this.semver.version === comp.semver.version
127516
+ const differentDirectionsInclusive =
127517
+ (this.operator === '>=' || this.operator === '<=') &&
127518
+ (comp.operator === '>=' || comp.operator === '<=')
127519
+ const oppositeDirectionsLessThan =
127520
+ cmp(this.semver, '<', comp.semver, options) &&
127521
+ (this.operator === '>=' || this.operator === '>') &&
127522
+ (comp.operator === '<=' || comp.operator === '<')
127523
+ const oppositeDirectionsGreaterThan =
127524
+ cmp(this.semver, '>', comp.semver, options) &&
127525
+ (this.operator === '<=' || this.operator === '<') &&
127526
+ (comp.operator === '>=' || comp.operator === '>')
127527
+
127528
+ return (
127529
+ sameDirectionIncreasing ||
127530
+ sameDirectionDecreasing ||
127531
+ (sameSemVer && differentDirectionsInclusive) ||
127532
+ oppositeDirectionsLessThan ||
127533
+ oppositeDirectionsGreaterThan
127534
+ )
127535
+ }
127536
+ }
127537
+
127538
+ module.exports = Comparator
127539
+
127540
+ const parseOptions = __webpack_require__(12288)
127541
+ const {re, t} = __webpack_require__(48378)
127542
+ const cmp = __webpack_require__(69686)
127543
+ const debug = __webpack_require__(72569)
127544
+ const SemVer = __webpack_require__(97767)
127545
+ const Range = __webpack_require__(89058)
127546
+
127547
+
127548
+ /***/ }),
127549
+
127550
+ /***/ 89058:
127551
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
127552
+
127553
+ // hoisted class for cyclic dependency
127554
+ class Range {
127555
+ constructor (range, options) {
127556
+ options = parseOptions(options)
127557
+
127558
+ if (range instanceof Range) {
127559
+ if (
127560
+ range.loose === !!options.loose &&
127561
+ range.includePrerelease === !!options.includePrerelease
127562
+ ) {
127563
+ return range
127564
+ } else {
127565
+ return new Range(range.raw, options)
127566
+ }
127567
+ }
127568
+
127569
+ if (range instanceof Comparator) {
127570
+ // just put it in the set and return
127571
+ this.raw = range.value
127572
+ this.set = [[range]]
127573
+ this.format()
127574
+ return this
127575
+ }
127576
+
127577
+ this.options = options
127578
+ this.loose = !!options.loose
127579
+ this.includePrerelease = !!options.includePrerelease
127580
+
127581
+ // First, split based on boolean or ||
127582
+ this.raw = range
127583
+ this.set = range
127584
+ .split(/\s*\|\|\s*/)
127585
+ // map the range to a 2d array of comparators
127586
+ .map(range => this.parseRange(range.trim()))
127587
+ // throw out any comparator lists that are empty
127588
+ // this generally means that it was not a valid range, which is allowed
127589
+ // in loose mode, but will still throw if the WHOLE range is invalid.
127590
+ .filter(c => c.length)
127591
+
127592
+ if (!this.set.length) {
127593
+ throw new TypeError(`Invalid SemVer Range: ${range}`)
127594
+ }
127595
+
127596
+ // if we have any that are not the null set, throw out null sets.
127597
+ if (this.set.length > 1) {
127598
+ // keep the first one, in case they're all null sets
127599
+ const first = this.set[0]
127600
+ this.set = this.set.filter(c => !isNullSet(c[0]))
127601
+ if (this.set.length === 0)
127602
+ this.set = [first]
127603
+ else if (this.set.length > 1) {
127604
+ // if we have any that are *, then the range is just *
127605
+ for (const c of this.set) {
127606
+ if (c.length === 1 && isAny(c[0])) {
127607
+ this.set = [c]
127608
+ break
127609
+ }
127610
+ }
127611
+ }
127612
+ }
127613
+
127614
+ this.format()
127615
+ }
127616
+
127617
+ format () {
127618
+ this.range = this.set
127619
+ .map((comps) => {
127620
+ return comps.join(' ').trim()
127621
+ })
127622
+ .join('||')
127623
+ .trim()
127624
+ return this.range
127625
+ }
127626
+
127627
+ toString () {
127628
+ return this.range
127629
+ }
127630
+
127631
+ parseRange (range) {
127632
+ range = range.trim()
127633
+
127634
+ // memoize range parsing for performance.
127635
+ // this is a very hot path, and fully deterministic.
127636
+ const memoOpts = Object.keys(this.options).join(',')
127637
+ const memoKey = `parseRange:${memoOpts}:${range}`
127638
+ const cached = cache.get(memoKey)
127639
+ if (cached)
127640
+ return cached
127641
+
127642
+ const loose = this.options.loose
127643
+ // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`
127644
+ const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]
127645
+ range = range.replace(hr, hyphenReplace(this.options.includePrerelease))
127646
+ debug('hyphen replace', range)
127647
+ // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`
127648
+ range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace)
127649
+ debug('comparator trim', range, re[t.COMPARATORTRIM])
127650
+
127651
+ // `~ 1.2.3` => `~1.2.3`
127652
+ range = range.replace(re[t.TILDETRIM], tildeTrimReplace)
127653
+
127654
+ // `^ 1.2.3` => `^1.2.3`
127655
+ range = range.replace(re[t.CARETTRIM], caretTrimReplace)
127656
+
127657
+ // normalize spaces
127658
+ range = range.split(/\s+/).join(' ')
127659
+
127660
+ // At this point, the range is completely trimmed and
127661
+ // ready to be split into comparators.
127662
+
127663
+ const compRe = loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]
127664
+ const rangeList = range
127665
+ .split(' ')
127666
+ .map(comp => parseComparator(comp, this.options))
127667
+ .join(' ')
127668
+ .split(/\s+/)
127669
+ // >=0.0.0 is equivalent to *
127670
+ .map(comp => replaceGTE0(comp, this.options))
127671
+ // in loose mode, throw out any that are not valid comparators
127672
+ .filter(this.options.loose ? comp => !!comp.match(compRe) : () => true)
127673
+ .map(comp => new Comparator(comp, this.options))
127674
+
127675
+ // if any comparators are the null set, then replace with JUST null set
127676
+ // if more than one comparator, remove any * comparators
127677
+ // also, don't include the same comparator more than once
127678
+ const l = rangeList.length
127679
+ const rangeMap = new Map()
127680
+ for (const comp of rangeList) {
127681
+ if (isNullSet(comp))
127682
+ return [comp]
127683
+ rangeMap.set(comp.value, comp)
127684
+ }
127685
+ if (rangeMap.size > 1 && rangeMap.has(''))
127686
+ rangeMap.delete('')
127687
+
127688
+ const result = [...rangeMap.values()]
127689
+ cache.set(memoKey, result)
127690
+ return result
127691
+ }
127692
+
127693
+ intersects (range, options) {
127694
+ if (!(range instanceof Range)) {
127695
+ throw new TypeError('a Range is required')
127696
+ }
127697
+
127698
+ return this.set.some((thisComparators) => {
127699
+ return (
127700
+ isSatisfiable(thisComparators, options) &&
127701
+ range.set.some((rangeComparators) => {
127702
+ return (
127703
+ isSatisfiable(rangeComparators, options) &&
127704
+ thisComparators.every((thisComparator) => {
127705
+ return rangeComparators.every((rangeComparator) => {
127706
+ return thisComparator.intersects(rangeComparator, options)
127707
+ })
127708
+ })
127709
+ )
127710
+ })
127711
+ )
127712
+ })
127713
+ }
127714
+
127715
+ // if ANY of the sets match ALL of its comparators, then pass
127716
+ test (version) {
127717
+ if (!version) {
127718
+ return false
127719
+ }
127720
+
127721
+ if (typeof version === 'string') {
127722
+ try {
127723
+ version = new SemVer(version, this.options)
127724
+ } catch (er) {
127725
+ return false
127726
+ }
127727
+ }
127728
+
127729
+ for (let i = 0; i < this.set.length; i++) {
127730
+ if (testSet(this.set[i], version, this.options)) {
127731
+ return true
127732
+ }
127733
+ }
127734
+ return false
127735
+ }
127736
+ }
127737
+ module.exports = Range
127738
+
127739
+ const LRU = __webpack_require__(42696)
127740
+ const cache = new LRU({ max: 1000 })
127741
+
127742
+ const parseOptions = __webpack_require__(12288)
127743
+ const Comparator = __webpack_require__(88428)
127744
+ const debug = __webpack_require__(72569)
127745
+ const SemVer = __webpack_require__(97767)
127746
+ const {
127747
+ re,
127748
+ t,
127749
+ comparatorTrimReplace,
127750
+ tildeTrimReplace,
127751
+ caretTrimReplace
127752
+ } = __webpack_require__(48378)
127753
+
127754
+ const isNullSet = c => c.value === '<0.0.0-0'
127755
+ const isAny = c => c.value === ''
127756
+
127757
+ // take a set of comparators and determine whether there
127758
+ // exists a version which can satisfy it
127759
+ const isSatisfiable = (comparators, options) => {
127760
+ let result = true
127761
+ const remainingComparators = comparators.slice()
127762
+ let testComparator = remainingComparators.pop()
127763
+
127764
+ while (result && remainingComparators.length) {
127765
+ result = remainingComparators.every((otherComparator) => {
127766
+ return testComparator.intersects(otherComparator, options)
127767
+ })
127768
+
127769
+ testComparator = remainingComparators.pop()
127770
+ }
127771
+
127772
+ return result
127773
+ }
127774
+
127775
+ // comprised of xranges, tildes, stars, and gtlt's at this point.
127776
+ // already replaced the hyphen ranges
127777
+ // turn into a set of JUST comparators.
127778
+ const parseComparator = (comp, options) => {
127779
+ debug('comp', comp, options)
127780
+ comp = replaceCarets(comp, options)
127781
+ debug('caret', comp)
127782
+ comp = replaceTildes(comp, options)
127783
+ debug('tildes', comp)
127784
+ comp = replaceXRanges(comp, options)
127785
+ debug('xrange', comp)
127786
+ comp = replaceStars(comp, options)
127787
+ debug('stars', comp)
127788
+ return comp
127789
+ }
127790
+
127791
+ const isX = id => !id || id.toLowerCase() === 'x' || id === '*'
127792
+
127793
+ // ~, ~> --> * (any, kinda silly)
127794
+ // ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0
127795
+ // ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0
127796
+ // ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0
127797
+ // ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0
127798
+ // ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0
127799
+ const replaceTildes = (comp, options) =>
127800
+ comp.trim().split(/\s+/).map((comp) => {
127801
+ return replaceTilde(comp, options)
127802
+ }).join(' ')
127803
+
127804
+ const replaceTilde = (comp, options) => {
127805
+ const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]
127806
+ return comp.replace(r, (_, M, m, p, pr) => {
127807
+ debug('tilde', comp, _, M, m, p, pr)
127808
+ let ret
127809
+
127810
+ if (isX(M)) {
127811
+ ret = ''
127812
+ } else if (isX(m)) {
127813
+ ret = `>=${M}.0.0 <${+M + 1}.0.0-0`
127814
+ } else if (isX(p)) {
127815
+ // ~1.2 == >=1.2.0 <1.3.0-0
127816
+ ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`
127817
+ } else if (pr) {
127818
+ debug('replaceTilde pr', pr)
127819
+ ret = `>=${M}.${m}.${p}-${pr
127820
+ } <${M}.${+m + 1}.0-0`
127821
+ } else {
127822
+ // ~1.2.3 == >=1.2.3 <1.3.0-0
127823
+ ret = `>=${M}.${m}.${p
127824
+ } <${M}.${+m + 1}.0-0`
127825
+ }
127826
+
127827
+ debug('tilde return', ret)
127828
+ return ret
127829
+ })
127830
+ }
127831
+
127832
+ // ^ --> * (any, kinda silly)
127833
+ // ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0
127834
+ // ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0
127835
+ // ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0
127836
+ // ^1.2.3 --> >=1.2.3 <2.0.0-0
127837
+ // ^1.2.0 --> >=1.2.0 <2.0.0-0
127838
+ const replaceCarets = (comp, options) =>
127839
+ comp.trim().split(/\s+/).map((comp) => {
127840
+ return replaceCaret(comp, options)
127841
+ }).join(' ')
127842
+
127843
+ const replaceCaret = (comp, options) => {
127844
+ debug('caret', comp, options)
127845
+ const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]
127846
+ const z = options.includePrerelease ? '-0' : ''
127847
+ return comp.replace(r, (_, M, m, p, pr) => {
127848
+ debug('caret', comp, _, M, m, p, pr)
127849
+ let ret
127850
+
127851
+ if (isX(M)) {
127852
+ ret = ''
127853
+ } else if (isX(m)) {
127854
+ ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`
127855
+ } else if (isX(p)) {
127856
+ if (M === '0') {
127857
+ ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`
127858
+ } else {
127859
+ ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`
127860
+ }
127861
+ } else if (pr) {
127862
+ debug('replaceCaret pr', pr)
127863
+ if (M === '0') {
127864
+ if (m === '0') {
127865
+ ret = `>=${M}.${m}.${p}-${pr
127866
+ } <${M}.${m}.${+p + 1}-0`
127867
+ } else {
127868
+ ret = `>=${M}.${m}.${p}-${pr
127869
+ } <${M}.${+m + 1}.0-0`
127870
+ }
127871
+ } else {
127872
+ ret = `>=${M}.${m}.${p}-${pr
127873
+ } <${+M + 1}.0.0-0`
127874
+ }
127875
+ } else {
127876
+ debug('no pr')
127877
+ if (M === '0') {
127878
+ if (m === '0') {
127879
+ ret = `>=${M}.${m}.${p
127880
+ }${z} <${M}.${m}.${+p + 1}-0`
127881
+ } else {
127882
+ ret = `>=${M}.${m}.${p
127883
+ }${z} <${M}.${+m + 1}.0-0`
127884
+ }
127885
+ } else {
127886
+ ret = `>=${M}.${m}.${p
127887
+ } <${+M + 1}.0.0-0`
127888
+ }
127889
+ }
127890
+
127891
+ debug('caret return', ret)
127892
+ return ret
127893
+ })
127894
+ }
127895
+
127896
+ const replaceXRanges = (comp, options) => {
127897
+ debug('replaceXRanges', comp, options)
127898
+ return comp.split(/\s+/).map((comp) => {
127899
+ return replaceXRange(comp, options)
127900
+ }).join(' ')
127901
+ }
127902
+
127903
+ const replaceXRange = (comp, options) => {
127904
+ comp = comp.trim()
127905
+ const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]
127906
+ return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
127907
+ debug('xRange', comp, ret, gtlt, M, m, p, pr)
127908
+ const xM = isX(M)
127909
+ const xm = xM || isX(m)
127910
+ const xp = xm || isX(p)
127911
+ const anyX = xp
127912
+
127913
+ if (gtlt === '=' && anyX) {
127914
+ gtlt = ''
127915
+ }
127916
+
127917
+ // if we're including prereleases in the match, then we need
127918
+ // to fix this to -0, the lowest possible prerelease value
127919
+ pr = options.includePrerelease ? '-0' : ''
127920
+
127921
+ if (xM) {
127922
+ if (gtlt === '>' || gtlt === '<') {
127923
+ // nothing is allowed
127924
+ ret = '<0.0.0-0'
127925
+ } else {
127926
+ // nothing is forbidden
127927
+ ret = '*'
127928
+ }
127929
+ } else if (gtlt && anyX) {
127930
+ // we know patch is an x, because we have any x at all.
127931
+ // replace X with 0
127932
+ if (xm) {
127933
+ m = 0
127934
+ }
127935
+ p = 0
127936
+
127937
+ if (gtlt === '>') {
127938
+ // >1 => >=2.0.0
127939
+ // >1.2 => >=1.3.0
127940
+ gtlt = '>='
127941
+ if (xm) {
127942
+ M = +M + 1
127943
+ m = 0
127944
+ p = 0
127945
+ } else {
127946
+ m = +m + 1
127947
+ p = 0
127948
+ }
127949
+ } else if (gtlt === '<=') {
127950
+ // <=0.7.x is actually <0.8.0, since any 0.7.x should
127951
+ // pass. Similarly, <=7.x is actually <8.0.0, etc.
127952
+ gtlt = '<'
127953
+ if (xm) {
127954
+ M = +M + 1
127955
+ } else {
127956
+ m = +m + 1
127957
+ }
127958
+ }
127959
+
127960
+ if (gtlt === '<')
127961
+ pr = '-0'
127962
+
127963
+ ret = `${gtlt + M}.${m}.${p}${pr}`
127964
+ } else if (xm) {
127965
+ ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`
127966
+ } else if (xp) {
127967
+ ret = `>=${M}.${m}.0${pr
127968
+ } <${M}.${+m + 1}.0-0`
127969
+ }
127970
+
127971
+ debug('xRange return', ret)
127972
+
127973
+ return ret
127974
+ })
127975
+ }
127976
+
127977
+ // Because * is AND-ed with everything else in the comparator,
127978
+ // and '' means "any version", just remove the *s entirely.
127979
+ const replaceStars = (comp, options) => {
127980
+ debug('replaceStars', comp, options)
127981
+ // Looseness is ignored here. star is always as loose as it gets!
127982
+ return comp.trim().replace(re[t.STAR], '')
127983
+ }
127984
+
127985
+ const replaceGTE0 = (comp, options) => {
127986
+ debug('replaceGTE0', comp, options)
127987
+ return comp.trim()
127988
+ .replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '')
127989
+ }
127990
+
127991
+ // This function is passed to string.replace(re[t.HYPHENRANGE])
127992
+ // M, m, patch, prerelease, build
127993
+ // 1.2 - 3.4.5 => >=1.2.0 <=3.4.5
127994
+ // 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do
127995
+ // 1.2 - 3.4 => >=1.2.0 <3.5.0-0
127996
+ const hyphenReplace = incPr => ($0,
127997
+ from, fM, fm, fp, fpr, fb,
127998
+ to, tM, tm, tp, tpr, tb) => {
127999
+ if (isX(fM)) {
128000
+ from = ''
128001
+ } else if (isX(fm)) {
128002
+ from = `>=${fM}.0.0${incPr ? '-0' : ''}`
128003
+ } else if (isX(fp)) {
128004
+ from = `>=${fM}.${fm}.0${incPr ? '-0' : ''}`
128005
+ } else if (fpr) {
128006
+ from = `>=${from}`
128007
+ } else {
128008
+ from = `>=${from}${incPr ? '-0' : ''}`
128009
+ }
128010
+
128011
+ if (isX(tM)) {
128012
+ to = ''
128013
+ } else if (isX(tm)) {
128014
+ to = `<${+tM + 1}.0.0-0`
128015
+ } else if (isX(tp)) {
128016
+ to = `<${tM}.${+tm + 1}.0-0`
128017
+ } else if (tpr) {
128018
+ to = `<=${tM}.${tm}.${tp}-${tpr}`
128019
+ } else if (incPr) {
128020
+ to = `<${tM}.${tm}.${+tp + 1}-0`
128021
+ } else {
128022
+ to = `<=${to}`
128023
+ }
128024
+
128025
+ return (`${from} ${to}`).trim()
128026
+ }
128027
+
128028
+ const testSet = (set, version, options) => {
128029
+ for (let i = 0; i < set.length; i++) {
128030
+ if (!set[i].test(version)) {
128031
+ return false
128032
+ }
128033
+ }
128034
+
128035
+ if (version.prerelease.length && !options.includePrerelease) {
128036
+ // Find the set of versions that are allowed to have prereleases
128037
+ // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0
128038
+ // That should allow `1.2.3-pr.2` to pass.
128039
+ // However, `1.2.4-alpha.notready` should NOT be allowed,
128040
+ // even though it's within the range set by the comparators.
128041
+ for (let i = 0; i < set.length; i++) {
128042
+ debug(set[i].semver)
128043
+ if (set[i].semver === Comparator.ANY) {
128044
+ continue
128045
+ }
128046
+
128047
+ if (set[i].semver.prerelease.length > 0) {
128048
+ const allowed = set[i].semver
128049
+ if (allowed.major === version.major &&
128050
+ allowed.minor === version.minor &&
128051
+ allowed.patch === version.patch) {
128052
+ return true
128053
+ }
128054
+ }
128055
+ }
128056
+
128057
+ // Version has a -pre, but it's not one of the ones we like.
128058
+ return false
128059
+ }
128060
+
128061
+ return true
128062
+ }
128063
+
128064
+
128065
+ /***/ }),
128066
+
128067
+ /***/ 97767:
128068
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
128069
+
128070
+ const debug = __webpack_require__(72569)
128071
+ const { MAX_LENGTH, MAX_SAFE_INTEGER } = __webpack_require__(85230)
128072
+ const { re, t } = __webpack_require__(48378)
128073
+
128074
+ const parseOptions = __webpack_require__(12288)
128075
+ const { compareIdentifiers } = __webpack_require__(21101)
128076
+ class SemVer {
128077
+ constructor (version, options) {
128078
+ options = parseOptions(options)
128079
+
128080
+ if (version instanceof SemVer) {
128081
+ if (version.loose === !!options.loose &&
128082
+ version.includePrerelease === !!options.includePrerelease) {
128083
+ return version
128084
+ } else {
128085
+ version = version.version
128086
+ }
128087
+ } else if (typeof version !== 'string') {
128088
+ throw new TypeError(`Invalid Version: ${version}`)
128089
+ }
128090
+
128091
+ if (version.length > MAX_LENGTH) {
128092
+ throw new TypeError(
128093
+ `version is longer than ${MAX_LENGTH} characters`
128094
+ )
128095
+ }
128096
+
128097
+ debug('SemVer', version, options)
128098
+ this.options = options
128099
+ this.loose = !!options.loose
128100
+ // this isn't actually relevant for versions, but keep it so that we
128101
+ // don't run into trouble passing this.options around.
128102
+ this.includePrerelease = !!options.includePrerelease
128103
+
128104
+ const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])
128105
+
128106
+ if (!m) {
128107
+ throw new TypeError(`Invalid Version: ${version}`)
128108
+ }
128109
+
128110
+ this.raw = version
128111
+
128112
+ // these are actually numbers
128113
+ this.major = +m[1]
128114
+ this.minor = +m[2]
128115
+ this.patch = +m[3]
128116
+
128117
+ if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
128118
+ throw new TypeError('Invalid major version')
128119
+ }
128120
+
128121
+ if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
128122
+ throw new TypeError('Invalid minor version')
128123
+ }
128124
+
128125
+ if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
128126
+ throw new TypeError('Invalid patch version')
128127
+ }
128128
+
128129
+ // numberify any prerelease numeric ids
128130
+ if (!m[4]) {
128131
+ this.prerelease = []
128132
+ } else {
128133
+ this.prerelease = m[4].split('.').map((id) => {
128134
+ if (/^[0-9]+$/.test(id)) {
128135
+ const num = +id
128136
+ if (num >= 0 && num < MAX_SAFE_INTEGER) {
128137
+ return num
128138
+ }
128139
+ }
128140
+ return id
128141
+ })
128142
+ }
128143
+
128144
+ this.build = m[5] ? m[5].split('.') : []
128145
+ this.format()
128146
+ }
128147
+
128148
+ format () {
128149
+ this.version = `${this.major}.${this.minor}.${this.patch}`
128150
+ if (this.prerelease.length) {
128151
+ this.version += `-${this.prerelease.join('.')}`
128152
+ }
128153
+ return this.version
128154
+ }
128155
+
128156
+ toString () {
128157
+ return this.version
128158
+ }
128159
+
128160
+ compare (other) {
128161
+ debug('SemVer.compare', this.version, this.options, other)
128162
+ if (!(other instanceof SemVer)) {
128163
+ if (typeof other === 'string' && other === this.version) {
128164
+ return 0
128165
+ }
128166
+ other = new SemVer(other, this.options)
128167
+ }
128168
+
128169
+ if (other.version === this.version) {
128170
+ return 0
128171
+ }
128172
+
128173
+ return this.compareMain(other) || this.comparePre(other)
128174
+ }
128175
+
128176
+ compareMain (other) {
128177
+ if (!(other instanceof SemVer)) {
128178
+ other = new SemVer(other, this.options)
128179
+ }
128180
+
128181
+ return (
128182
+ compareIdentifiers(this.major, other.major) ||
128183
+ compareIdentifiers(this.minor, other.minor) ||
128184
+ compareIdentifiers(this.patch, other.patch)
128185
+ )
128186
+ }
128187
+
128188
+ comparePre (other) {
128189
+ if (!(other instanceof SemVer)) {
128190
+ other = new SemVer(other, this.options)
128191
+ }
128192
+
128193
+ // NOT having a prerelease is > having one
128194
+ if (this.prerelease.length && !other.prerelease.length) {
128195
+ return -1
128196
+ } else if (!this.prerelease.length && other.prerelease.length) {
128197
+ return 1
128198
+ } else if (!this.prerelease.length && !other.prerelease.length) {
128199
+ return 0
128200
+ }
128201
+
128202
+ let i = 0
128203
+ do {
128204
+ const a = this.prerelease[i]
128205
+ const b = other.prerelease[i]
128206
+ debug('prerelease compare', i, a, b)
128207
+ if (a === undefined && b === undefined) {
128208
+ return 0
128209
+ } else if (b === undefined) {
128210
+ return 1
128211
+ } else if (a === undefined) {
128212
+ return -1
128213
+ } else if (a === b) {
128214
+ continue
128215
+ } else {
128216
+ return compareIdentifiers(a, b)
128217
+ }
128218
+ } while (++i)
128219
+ }
128220
+
128221
+ compareBuild (other) {
128222
+ if (!(other instanceof SemVer)) {
128223
+ other = new SemVer(other, this.options)
128224
+ }
128225
+
128226
+ let i = 0
128227
+ do {
128228
+ const a = this.build[i]
128229
+ const b = other.build[i]
128230
+ debug('prerelease compare', i, a, b)
128231
+ if (a === undefined && b === undefined) {
128232
+ return 0
128233
+ } else if (b === undefined) {
128234
+ return 1
128235
+ } else if (a === undefined) {
128236
+ return -1
128237
+ } else if (a === b) {
128238
+ continue
128239
+ } else {
128240
+ return compareIdentifiers(a, b)
128241
+ }
128242
+ } while (++i)
128243
+ }
128244
+
128245
+ // preminor will bump the version up to the next minor release, and immediately
128246
+ // down to pre-release. premajor and prepatch work the same way.
128247
+ inc (release, identifier) {
128248
+ switch (release) {
128249
+ case 'premajor':
128250
+ this.prerelease.length = 0
128251
+ this.patch = 0
128252
+ this.minor = 0
128253
+ this.major++
128254
+ this.inc('pre', identifier)
128255
+ break
128256
+ case 'preminor':
128257
+ this.prerelease.length = 0
128258
+ this.patch = 0
128259
+ this.minor++
128260
+ this.inc('pre', identifier)
128261
+ break
128262
+ case 'prepatch':
128263
+ // If this is already a prerelease, it will bump to the next version
128264
+ // drop any prereleases that might already exist, since they are not
128265
+ // relevant at this point.
128266
+ this.prerelease.length = 0
128267
+ this.inc('patch', identifier)
128268
+ this.inc('pre', identifier)
128269
+ break
128270
+ // If the input is a non-prerelease version, this acts the same as
128271
+ // prepatch.
128272
+ case 'prerelease':
128273
+ if (this.prerelease.length === 0) {
128274
+ this.inc('patch', identifier)
128275
+ }
128276
+ this.inc('pre', identifier)
128277
+ break
128278
+
128279
+ case 'major':
128280
+ // If this is a pre-major version, bump up to the same major version.
128281
+ // Otherwise increment major.
128282
+ // 1.0.0-5 bumps to 1.0.0
128283
+ // 1.1.0 bumps to 2.0.0
128284
+ if (
128285
+ this.minor !== 0 ||
128286
+ this.patch !== 0 ||
128287
+ this.prerelease.length === 0
128288
+ ) {
128289
+ this.major++
128290
+ }
128291
+ this.minor = 0
128292
+ this.patch = 0
128293
+ this.prerelease = []
128294
+ break
128295
+ case 'minor':
128296
+ // If this is a pre-minor version, bump up to the same minor version.
128297
+ // Otherwise increment minor.
128298
+ // 1.2.0-5 bumps to 1.2.0
128299
+ // 1.2.1 bumps to 1.3.0
128300
+ if (this.patch !== 0 || this.prerelease.length === 0) {
128301
+ this.minor++
128302
+ }
128303
+ this.patch = 0
128304
+ this.prerelease = []
128305
+ break
128306
+ case 'patch':
128307
+ // If this is not a pre-release version, it will increment the patch.
128308
+ // If it is a pre-release it will bump up to the same patch version.
128309
+ // 1.2.0-5 patches to 1.2.0
128310
+ // 1.2.0 patches to 1.2.1
128311
+ if (this.prerelease.length === 0) {
128312
+ this.patch++
128313
+ }
128314
+ this.prerelease = []
128315
+ break
128316
+ // This probably shouldn't be used publicly.
128317
+ // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.
128318
+ case 'pre':
128319
+ if (this.prerelease.length === 0) {
128320
+ this.prerelease = [0]
128321
+ } else {
128322
+ let i = this.prerelease.length
128323
+ while (--i >= 0) {
128324
+ if (typeof this.prerelease[i] === 'number') {
128325
+ this.prerelease[i]++
128326
+ i = -2
128327
+ }
128328
+ }
128329
+ if (i === -1) {
128330
+ // didn't increment anything
128331
+ this.prerelease.push(0)
128332
+ }
128333
+ }
128334
+ if (identifier) {
128335
+ // 1.2.0-beta.1 bumps to 1.2.0-beta.2,
128336
+ // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0
128337
+ if (this.prerelease[0] === identifier) {
128338
+ if (isNaN(this.prerelease[1])) {
128339
+ this.prerelease = [identifier, 0]
128340
+ }
128341
+ } else {
128342
+ this.prerelease = [identifier, 0]
128343
+ }
128344
+ }
128345
+ break
128346
+
128347
+ default:
128348
+ throw new Error(`invalid increment argument: ${release}`)
128349
+ }
128350
+ this.format()
128351
+ this.raw = this.version
128352
+ return this
128353
+ }
128354
+ }
128355
+
128356
+ module.exports = SemVer
128357
+
128358
+
128359
+ /***/ }),
128360
+
128361
+ /***/ 18987:
128362
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
128363
+
128364
+ const parse = __webpack_require__(35325)
128365
+ const clean = (version, options) => {
128366
+ const s = parse(version.trim().replace(/^[=v]+/, ''), options)
128367
+ return s ? s.version : null
128368
+ }
128369
+ module.exports = clean
128370
+
128371
+
128372
+ /***/ }),
128373
+
128374
+ /***/ 69686:
128375
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
128376
+
128377
+ const eq = __webpack_require__(84560)
128378
+ const neq = __webpack_require__(87269)
128379
+ const gt = __webpack_require__(29962)
128380
+ const gte = __webpack_require__(10566)
128381
+ const lt = __webpack_require__(98784)
128382
+ const lte = __webpack_require__(54356)
128383
+
128384
+ const cmp = (a, op, b, loose) => {
128385
+ switch (op) {
128386
+ case '===':
128387
+ if (typeof a === 'object')
128388
+ a = a.version
128389
+ if (typeof b === 'object')
128390
+ b = b.version
128391
+ return a === b
128392
+
128393
+ case '!==':
128394
+ if (typeof a === 'object')
128395
+ a = a.version
128396
+ if (typeof b === 'object')
128397
+ b = b.version
128398
+ return a !== b
128399
+
128400
+ case '':
128401
+ case '=':
128402
+ case '==':
128403
+ return eq(a, b, loose)
128404
+
128405
+ case '!=':
128406
+ return neq(a, b, loose)
128407
+
128408
+ case '>':
128409
+ return gt(a, b, loose)
128410
+
128411
+ case '>=':
128412
+ return gte(a, b, loose)
128413
+
128414
+ case '<':
128415
+ return lt(a, b, loose)
128416
+
128417
+ case '<=':
128418
+ return lte(a, b, loose)
128419
+
128420
+ default:
128421
+ throw new TypeError(`Invalid operator: ${op}`)
128422
+ }
128423
+ }
128424
+ module.exports = cmp
128425
+
128426
+
128427
+ /***/ }),
128428
+
128429
+ /***/ 86414:
128430
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
128431
+
128432
+ const SemVer = __webpack_require__(97767)
128433
+ const parse = __webpack_require__(35325)
128434
+ const {re, t} = __webpack_require__(48378)
128435
+
128436
+ const coerce = (version, options) => {
128437
+ if (version instanceof SemVer) {
128438
+ return version
128439
+ }
128440
+
128441
+ if (typeof version === 'number') {
128442
+ version = String(version)
128443
+ }
128444
+
128445
+ if (typeof version !== 'string') {
128446
+ return null
128447
+ }
128448
+
128449
+ options = options || {}
128450
+
128451
+ let match = null
128452
+ if (!options.rtl) {
128453
+ match = version.match(re[t.COERCE])
128454
+ } else {
128455
+ // Find the right-most coercible string that does not share
128456
+ // a terminus with a more left-ward coercible string.
128457
+ // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4'
128458
+ //
128459
+ // Walk through the string checking with a /g regexp
128460
+ // Manually set the index so as to pick up overlapping matches.
128461
+ // Stop when we get a match that ends at the string end, since no
128462
+ // coercible string can be more right-ward without the same terminus.
128463
+ let next
128464
+ while ((next = re[t.COERCERTL].exec(version)) &&
128465
+ (!match || match.index + match[0].length !== version.length)
128466
+ ) {
128467
+ if (!match ||
128468
+ next.index + next[0].length !== match.index + match[0].length) {
128469
+ match = next
128470
+ }
128471
+ re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length
128472
+ }
128473
+ // leave it in a clean state
128474
+ re[t.COERCERTL].lastIndex = -1
128475
+ }
128476
+
128477
+ if (match === null)
128478
+ return null
128479
+
128480
+ return parse(`${match[2]}.${match[3] || '0'}.${match[4] || '0'}`, options)
128481
+ }
128482
+ module.exports = coerce
128483
+
128484
+
128485
+ /***/ }),
128486
+
128487
+ /***/ 71526:
128488
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
128489
+
128490
+ const SemVer = __webpack_require__(97767)
128491
+ const compareBuild = (a, b, loose) => {
128492
+ const versionA = new SemVer(a, loose)
128493
+ const versionB = new SemVer(b, loose)
128494
+ return versionA.compare(versionB) || versionA.compareBuild(versionB)
128495
+ }
128496
+ module.exports = compareBuild
128497
+
128498
+
128499
+ /***/ }),
128500
+
128501
+ /***/ 9328:
128502
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
128503
+
128504
+ const compare = __webpack_require__(29437)
128505
+ const compareLoose = (a, b) => compare(a, b, true)
128506
+ module.exports = compareLoose
128507
+
128508
+
128509
+ /***/ }),
128510
+
128511
+ /***/ 29437:
128512
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
128513
+
128514
+ const SemVer = __webpack_require__(97767)
128515
+ const compare = (a, b, loose) =>
128516
+ new SemVer(a, loose).compare(new SemVer(b, loose))
128517
+
128518
+ module.exports = compare
128519
+
128520
+
128521
+ /***/ }),
128522
+
128523
+ /***/ 65669:
128524
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
128525
+
128526
+ const parse = __webpack_require__(35325)
128527
+ const eq = __webpack_require__(84560)
128528
+
128529
+ const diff = (version1, version2) => {
128530
+ if (eq(version1, version2)) {
128531
+ return null
128532
+ } else {
128533
+ const v1 = parse(version1)
128534
+ const v2 = parse(version2)
128535
+ const hasPre = v1.prerelease.length || v2.prerelease.length
128536
+ const prefix = hasPre ? 'pre' : ''
128537
+ const defaultResult = hasPre ? 'prerelease' : ''
128538
+ for (const key in v1) {
128539
+ if (key === 'major' || key === 'minor' || key === 'patch') {
128540
+ if (v1[key] !== v2[key]) {
128541
+ return prefix + key
128542
+ }
128543
+ }
128544
+ }
128545
+ return defaultResult // may be undefined
128546
+ }
128547
+ }
128548
+ module.exports = diff
128549
+
128550
+
128551
+ /***/ }),
128552
+
128553
+ /***/ 84560:
128554
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
128555
+
128556
+ const compare = __webpack_require__(29437)
128557
+ const eq = (a, b, loose) => compare(a, b, loose) === 0
128558
+ module.exports = eq
128559
+
128560
+
128561
+ /***/ }),
128562
+
128563
+ /***/ 29962:
128564
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
128565
+
128566
+ const compare = __webpack_require__(29437)
128567
+ const gt = (a, b, loose) => compare(a, b, loose) > 0
128568
+ module.exports = gt
128569
+
128570
+
128571
+ /***/ }),
128572
+
128573
+ /***/ 10566:
128574
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
128575
+
128576
+ const compare = __webpack_require__(29437)
128577
+ const gte = (a, b, loose) => compare(a, b, loose) >= 0
128578
+ module.exports = gte
128579
+
128580
+
128581
+ /***/ }),
128582
+
128583
+ /***/ 47067:
128584
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
128585
+
128586
+ const SemVer = __webpack_require__(97767)
128587
+
128588
+ const inc = (version, release, options, identifier) => {
128589
+ if (typeof (options) === 'string') {
128590
+ identifier = options
128591
+ options = undefined
128592
+ }
128593
+
128594
+ try {
128595
+ return new SemVer(version, options).inc(release, identifier).version
128596
+ } catch (er) {
128597
+ return null
128598
+ }
128599
+ }
128600
+ module.exports = inc
128601
+
128602
+
128603
+ /***/ }),
128604
+
128605
+ /***/ 98784:
128606
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
128607
+
128608
+ const compare = __webpack_require__(29437)
128609
+ const lt = (a, b, loose) => compare(a, b, loose) < 0
128610
+ module.exports = lt
128611
+
128612
+
128613
+ /***/ }),
128614
+
128615
+ /***/ 54356:
128616
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
128617
+
128618
+ const compare = __webpack_require__(29437)
128619
+ const lte = (a, b, loose) => compare(a, b, loose) <= 0
128620
+ module.exports = lte
128621
+
128622
+
128623
+ /***/ }),
128624
+
128625
+ /***/ 71309:
128626
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
128627
+
128628
+ const SemVer = __webpack_require__(97767)
128629
+ const major = (a, loose) => new SemVer(a, loose).major
128630
+ module.exports = major
128631
+
128632
+
128633
+ /***/ }),
128634
+
128635
+ /***/ 16037:
128636
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
128637
+
128638
+ const SemVer = __webpack_require__(97767)
128639
+ const minor = (a, loose) => new SemVer(a, loose).minor
128640
+ module.exports = minor
128641
+
128642
+
128643
+ /***/ }),
128644
+
128645
+ /***/ 87269:
128646
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
128647
+
128648
+ const compare = __webpack_require__(29437)
128649
+ const neq = (a, b, loose) => compare(a, b, loose) !== 0
128650
+ module.exports = neq
128651
+
128652
+
128653
+ /***/ }),
128654
+
128655
+ /***/ 35325:
128656
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
128657
+
128658
+ const {MAX_LENGTH} = __webpack_require__(85230)
128659
+ const { re, t } = __webpack_require__(48378)
128660
+ const SemVer = __webpack_require__(97767)
128661
+
128662
+ const parseOptions = __webpack_require__(12288)
128663
+ const parse = (version, options) => {
128664
+ options = parseOptions(options)
128665
+
128666
+ if (version instanceof SemVer) {
128667
+ return version
128668
+ }
128669
+
128670
+ if (typeof version !== 'string') {
128671
+ return null
128672
+ }
128673
+
128674
+ if (version.length > MAX_LENGTH) {
128675
+ return null
128676
+ }
128677
+
128678
+ const r = options.loose ? re[t.LOOSE] : re[t.FULL]
128679
+ if (!r.test(version)) {
128680
+ return null
128681
+ }
128682
+
128683
+ try {
128684
+ return new SemVer(version, options)
128685
+ } catch (er) {
128686
+ return null
128687
+ }
128688
+ }
128689
+
128690
+ module.exports = parse
128691
+
128692
+
128693
+ /***/ }),
128694
+
128695
+ /***/ 12523:
128696
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
128697
+
128698
+ const SemVer = __webpack_require__(97767)
128699
+ const patch = (a, loose) => new SemVer(a, loose).patch
128700
+ module.exports = patch
128701
+
128702
+
128703
+ /***/ }),
128704
+
128705
+ /***/ 21274:
128706
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
128707
+
128708
+ const parse = __webpack_require__(35325)
128709
+ const prerelease = (version, options) => {
128710
+ const parsed = parse(version, options)
128711
+ return (parsed && parsed.prerelease.length) ? parsed.prerelease : null
128712
+ }
128713
+ module.exports = prerelease
128714
+
128715
+
128716
+ /***/ }),
128717
+
128718
+ /***/ 159:
128719
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
128720
+
128721
+ const compare = __webpack_require__(29437)
128722
+ const rcompare = (a, b, loose) => compare(b, a, loose)
128723
+ module.exports = rcompare
128724
+
128725
+
128726
+ /***/ }),
128727
+
128728
+ /***/ 5430:
128729
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
128730
+
128731
+ const compareBuild = __webpack_require__(71526)
128732
+ const rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose))
128733
+ module.exports = rsort
128734
+
128735
+
128736
+ /***/ }),
128737
+
128738
+ /***/ 63126:
128739
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
128740
+
128741
+ const Range = __webpack_require__(89058)
128742
+ const satisfies = (version, range, options) => {
128743
+ try {
128744
+ range = new Range(range, options)
128745
+ } catch (er) {
128746
+ return false
128747
+ }
128748
+ return range.test(version)
128749
+ }
128750
+ module.exports = satisfies
128751
+
128752
+
128753
+ /***/ }),
128754
+
128755
+ /***/ 65788:
128756
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
128757
+
128758
+ const compareBuild = __webpack_require__(71526)
128759
+ const sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose))
128760
+ module.exports = sort
128761
+
128762
+
128763
+ /***/ }),
128764
+
128765
+ /***/ 36334:
128766
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
128767
+
128768
+ const parse = __webpack_require__(35325)
128769
+ const valid = (version, options) => {
128770
+ const v = parse(version, options)
128771
+ return v ? v.version : null
128772
+ }
128773
+ module.exports = valid
128774
+
128775
+
128776
+ /***/ }),
128777
+
128778
+ /***/ 45327:
128779
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
128780
+
128781
+ // just pre-load all the stuff that index.js lazily exports
128782
+ const internalRe = __webpack_require__(48378)
128783
+ module.exports = {
128784
+ re: internalRe.re,
128785
+ src: internalRe.src,
128786
+ tokens: internalRe.t,
128787
+ SEMVER_SPEC_VERSION: (__webpack_require__(85230).SEMVER_SPEC_VERSION),
128788
+ SemVer: __webpack_require__(97767),
128789
+ compareIdentifiers: (__webpack_require__(21101).compareIdentifiers),
128790
+ rcompareIdentifiers: (__webpack_require__(21101).rcompareIdentifiers),
128791
+ parse: __webpack_require__(35325),
128792
+ valid: __webpack_require__(36334),
128793
+ clean: __webpack_require__(18987),
128794
+ inc: __webpack_require__(47067),
128795
+ diff: __webpack_require__(65669),
128796
+ major: __webpack_require__(71309),
128797
+ minor: __webpack_require__(16037),
128798
+ patch: __webpack_require__(12523),
128799
+ prerelease: __webpack_require__(21274),
128800
+ compare: __webpack_require__(29437),
128801
+ rcompare: __webpack_require__(159),
128802
+ compareLoose: __webpack_require__(9328),
128803
+ compareBuild: __webpack_require__(71526),
128804
+ sort: __webpack_require__(65788),
128805
+ rsort: __webpack_require__(5430),
128806
+ gt: __webpack_require__(29962),
128807
+ lt: __webpack_require__(98784),
128808
+ eq: __webpack_require__(84560),
128809
+ neq: __webpack_require__(87269),
128810
+ gte: __webpack_require__(10566),
128811
+ lte: __webpack_require__(54356),
128812
+ cmp: __webpack_require__(69686),
128813
+ coerce: __webpack_require__(86414),
128814
+ Comparator: __webpack_require__(88428),
128815
+ Range: __webpack_require__(89058),
128816
+ satisfies: __webpack_require__(63126),
128817
+ toComparators: __webpack_require__(7319),
128818
+ maxSatisfying: __webpack_require__(13092),
128819
+ minSatisfying: __webpack_require__(71650),
128820
+ minVersion: __webpack_require__(84347),
128821
+ validRange: __webpack_require__(6125),
128822
+ outside: __webpack_require__(64656),
128823
+ gtr: __webpack_require__(92439),
128824
+ ltr: __webpack_require__(85063),
128825
+ intersects: __webpack_require__(15879),
128826
+ simplifyRange: __webpack_require__(93778),
128827
+ subset: __webpack_require__(7066),
128828
+ }
128829
+
128830
+
128831
+ /***/ }),
128832
+
128833
+ /***/ 85230:
128834
+ /***/ ((module) => {
128835
+
128836
+ // Note: this is the semver.org version of the spec that it implements
128837
+ // Not necessarily the package version of this code.
128838
+ const SEMVER_SPEC_VERSION = '2.0.0'
128839
+
128840
+ const MAX_LENGTH = 256
128841
+ const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||
128842
+ /* istanbul ignore next */ 9007199254740991
128843
+
128844
+ // Max safe segment length for coercion.
128845
+ const MAX_SAFE_COMPONENT_LENGTH = 16
128846
+
128847
+ module.exports = {
128848
+ SEMVER_SPEC_VERSION,
128849
+ MAX_LENGTH,
128850
+ MAX_SAFE_INTEGER,
128851
+ MAX_SAFE_COMPONENT_LENGTH
128852
+ }
128853
+
128854
+
128855
+ /***/ }),
128856
+
128857
+ /***/ 72569:
128858
+ /***/ ((module) => {
128859
+
128860
+ const debug = (
128861
+ typeof process === 'object' &&
128862
+ process.env &&
128863
+ process.env.NODE_DEBUG &&
128864
+ /\bsemver\b/i.test(process.env.NODE_DEBUG)
128865
+ ) ? (...args) => console.error('SEMVER', ...args)
128866
+ : () => {}
128867
+
128868
+ module.exports = debug
128869
+
128870
+
128871
+ /***/ }),
128872
+
128873
+ /***/ 21101:
128874
+ /***/ ((module) => {
128875
+
128876
+ const numeric = /^[0-9]+$/
128877
+ const compareIdentifiers = (a, b) => {
128878
+ const anum = numeric.test(a)
128879
+ const bnum = numeric.test(b)
128880
+
128881
+ if (anum && bnum) {
128882
+ a = +a
128883
+ b = +b
128884
+ }
128885
+
128886
+ return a === b ? 0
128887
+ : (anum && !bnum) ? -1
128888
+ : (bnum && !anum) ? 1
128889
+ : a < b ? -1
128890
+ : 1
128891
+ }
128892
+
128893
+ const rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)
128894
+
128895
+ module.exports = {
128896
+ compareIdentifiers,
128897
+ rcompareIdentifiers
128898
+ }
128899
+
128900
+
128901
+ /***/ }),
128902
+
128903
+ /***/ 12288:
128904
+ /***/ ((module) => {
128905
+
128906
+ // parse out just the options we care about so we always get a consistent
128907
+ // obj with keys in a consistent order.
128908
+ const opts = ['includePrerelease', 'loose', 'rtl']
128909
+ const parseOptions = options =>
128910
+ !options ? {}
128911
+ : typeof options !== 'object' ? { loose: true }
128912
+ : opts.filter(k => options[k]).reduce((options, k) => {
128913
+ options[k] = true
128914
+ return options
128915
+ }, {})
128916
+ module.exports = parseOptions
128917
+
128918
+
128919
+ /***/ }),
128920
+
128921
+ /***/ 48378:
128922
+ /***/ ((module, exports, __webpack_require__) => {
128923
+
128924
+ const { MAX_SAFE_COMPONENT_LENGTH } = __webpack_require__(85230)
128925
+ const debug = __webpack_require__(72569)
128926
+ exports = module.exports = {}
128927
+
128928
+ // The actual regexps go on exports.re
128929
+ const re = exports.re = []
128930
+ const src = exports.src = []
128931
+ const t = exports.t = {}
128932
+ let R = 0
128933
+
128934
+ const createToken = (name, value, isGlobal) => {
128935
+ const index = R++
128936
+ debug(index, value)
128937
+ t[name] = index
128938
+ src[index] = value
128939
+ re[index] = new RegExp(value, isGlobal ? 'g' : undefined)
128940
+ }
128941
+
128942
+ // The following Regular Expressions can be used for tokenizing,
128943
+ // validating, and parsing SemVer version strings.
128944
+
128945
+ // ## Numeric Identifier
128946
+ // A single `0`, or a non-zero digit followed by zero or more digits.
128947
+
128948
+ createToken('NUMERICIDENTIFIER', '0|[1-9]\\d*')
128949
+ createToken('NUMERICIDENTIFIERLOOSE', '[0-9]+')
128950
+
128951
+ // ## Non-numeric Identifier
128952
+ // Zero or more digits, followed by a letter or hyphen, and then zero or
128953
+ // more letters, digits, or hyphens.
128954
+
128955
+ createToken('NONNUMERICIDENTIFIER', '\\d*[a-zA-Z-][a-zA-Z0-9-]*')
128956
+
128957
+ // ## Main Version
128958
+ // Three dot-separated numeric identifiers.
128959
+
128960
+ createToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\.` +
128961
+ `(${src[t.NUMERICIDENTIFIER]})\\.` +
128962
+ `(${src[t.NUMERICIDENTIFIER]})`)
128963
+
128964
+ createToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` +
128965
+ `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` +
128966
+ `(${src[t.NUMERICIDENTIFIERLOOSE]})`)
128967
+
128968
+ // ## Pre-release Version Identifier
128969
+ // A numeric identifier, or a non-numeric identifier.
128970
+
128971
+ createToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]
128972
+ }|${src[t.NONNUMERICIDENTIFIER]})`)
128973
+
128974
+ createToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]
128975
+ }|${src[t.NONNUMERICIDENTIFIER]})`)
128976
+
128977
+ // ## Pre-release Version
128978
+ // Hyphen, followed by one or more dot-separated pre-release version
128979
+ // identifiers.
128980
+
128981
+ createToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]
128982
+ }(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`)
128983
+
128984
+ createToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]
128985
+ }(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)
128986
+
128987
+ // ## Build Metadata Identifier
128988
+ // Any combination of digits, letters, or hyphens.
128989
+
128990
+ createToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+')
128991
+
128992
+ // ## Build Metadata
128993
+ // Plus sign, followed by one or more period-separated build metadata
128994
+ // identifiers.
128995
+
128996
+ createToken('BUILD', `(?:\\+(${src[t.BUILDIDENTIFIER]
128997
+ }(?:\\.${src[t.BUILDIDENTIFIER]})*))`)
128998
+
128999
+ // ## Full Version String
129000
+ // A main version, followed optionally by a pre-release version and
129001
+ // build metadata.
129002
+
129003
+ // Note that the only major, minor, patch, and pre-release sections of
129004
+ // the version string are capturing groups. The build metadata is not a
129005
+ // capturing group, because it should not ever be used in version
129006
+ // comparison.
129007
+
129008
+ createToken('FULLPLAIN', `v?${src[t.MAINVERSION]
129009
+ }${src[t.PRERELEASE]}?${
129010
+ src[t.BUILD]}?`)
129011
+
129012
+ createToken('FULL', `^${src[t.FULLPLAIN]}$`)
129013
+
129014
+ // like full, but allows v1.2.3 and =1.2.3, which people do sometimes.
129015
+ // also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty
129016
+ // common in the npm registry.
129017
+ createToken('LOOSEPLAIN', `[v=\\s]*${src[t.MAINVERSIONLOOSE]
129018
+ }${src[t.PRERELEASELOOSE]}?${
129019
+ src[t.BUILD]}?`)
129020
+
129021
+ createToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)
129022
+
129023
+ createToken('GTLT', '((?:<|>)?=?)')
129024
+
129025
+ // Something like "2.*" or "1.2.x".
129026
+ // Note that "x.x" is a valid xRange identifer, meaning "any version"
129027
+ // Only the first item is strictly required.
129028
+ createToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`)
129029
+ createToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`)
129030
+
129031
+ createToken('XRANGEPLAIN', `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})` +
129032
+ `(?:\\.(${src[t.XRANGEIDENTIFIER]})` +
129033
+ `(?:\\.(${src[t.XRANGEIDENTIFIER]})` +
129034
+ `(?:${src[t.PRERELEASE]})?${
129035
+ src[t.BUILD]}?` +
129036
+ `)?)?`)
129037
+
129038
+ createToken('XRANGEPLAINLOOSE', `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +
129039
+ `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +
129040
+ `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +
129041
+ `(?:${src[t.PRERELEASELOOSE]})?${
129042
+ src[t.BUILD]}?` +
129043
+ `)?)?`)
129044
+
129045
+ createToken('XRANGE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`)
129046
+ createToken('XRANGELOOSE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`)
129047
+
129048
+ // Coercion.
129049
+ // Extract anything that could conceivably be a part of a valid semver
129050
+ createToken('COERCE', `${'(^|[^\\d])' +
129051
+ '(\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +
129052
+ `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +
129053
+ `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +
129054
+ `(?:$|[^\\d])`)
129055
+ createToken('COERCERTL', src[t.COERCE], true)
129056
+
129057
+ // Tilde ranges.
129058
+ // Meaning is "reasonably at or greater than"
129059
+ createToken('LONETILDE', '(?:~>?)')
129060
+
129061
+ createToken('TILDETRIM', `(\\s*)${src[t.LONETILDE]}\\s+`, true)
129062
+ exports.tildeTrimReplace = '$1~'
129063
+
129064
+ createToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)
129065
+ createToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)
129066
+
129067
+ // Caret ranges.
129068
+ // Meaning is "at least and backwards compatible with"
129069
+ createToken('LONECARET', '(?:\\^)')
129070
+
129071
+ createToken('CARETTRIM', `(\\s*)${src[t.LONECARET]}\\s+`, true)
129072
+ exports.caretTrimReplace = '$1^'
129073
+
129074
+ createToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)
129075
+ createToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)
129076
+
129077
+ // A simple gt/lt/eq thing, or just "" to indicate "any version"
129078
+ createToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`)
129079
+ createToken('COMPARATOR', `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`)
129080
+
129081
+ // An expression to strip any whitespace between the gtlt and the thing
129082
+ // it modifies, so that `> 1.2.3` ==> `>1.2.3`
129083
+ createToken('COMPARATORTRIM', `(\\s*)${src[t.GTLT]
129084
+ }\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)
129085
+ exports.comparatorTrimReplace = '$1$2$3'
129086
+
129087
+ // Something like `1.2.3 - 1.2.4`
129088
+ // Note that these all use the loose form, because they'll be
129089
+ // checked against either the strict or loose comparator form
129090
+ // later.
129091
+ createToken('HYPHENRANGE', `^\\s*(${src[t.XRANGEPLAIN]})` +
129092
+ `\\s+-\\s+` +
129093
+ `(${src[t.XRANGEPLAIN]})` +
129094
+ `\\s*$`)
129095
+
129096
+ createToken('HYPHENRANGELOOSE', `^\\s*(${src[t.XRANGEPLAINLOOSE]})` +
129097
+ `\\s+-\\s+` +
129098
+ `(${src[t.XRANGEPLAINLOOSE]})` +
129099
+ `\\s*$`)
129100
+
129101
+ // Star ranges basically just allow anything at all.
129102
+ createToken('STAR', '(<|>)?=?\\s*\\*')
129103
+ // >=0.0.0 is like a star
129104
+ createToken('GTE0', '^\\s*>=\\s*0\.0\.0\\s*$')
129105
+ createToken('GTE0PRE', '^\\s*>=\\s*0\.0\.0-0\\s*$')
129106
+
129107
+
129108
+ /***/ }),
129109
+
129110
+ /***/ 92439:
129111
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
129112
+
129113
+ // Determine if version is greater than all the versions possible in the range.
129114
+ const outside = __webpack_require__(64656)
129115
+ const gtr = (version, range, options) => outside(version, range, '>', options)
129116
+ module.exports = gtr
129117
+
129118
+
129119
+ /***/ }),
129120
+
129121
+ /***/ 15879:
129122
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
129123
+
129124
+ const Range = __webpack_require__(89058)
129125
+ const intersects = (r1, r2, options) => {
129126
+ r1 = new Range(r1, options)
129127
+ r2 = new Range(r2, options)
129128
+ return r1.intersects(r2)
129129
+ }
129130
+ module.exports = intersects
129131
+
129132
+
129133
+ /***/ }),
129134
+
129135
+ /***/ 85063:
129136
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
129137
+
129138
+ const outside = __webpack_require__(64656)
129139
+ // Determine if version is less than all the versions possible in the range
129140
+ const ltr = (version, range, options) => outside(version, range, '<', options)
129141
+ module.exports = ltr
129142
+
129143
+
129144
+ /***/ }),
129145
+
129146
+ /***/ 13092:
129147
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
129148
+
129149
+ const SemVer = __webpack_require__(97767)
129150
+ const Range = __webpack_require__(89058)
129151
+
129152
+ const maxSatisfying = (versions, range, options) => {
129153
+ let max = null
129154
+ let maxSV = null
129155
+ let rangeObj = null
129156
+ try {
129157
+ rangeObj = new Range(range, options)
129158
+ } catch (er) {
129159
+ return null
129160
+ }
129161
+ versions.forEach((v) => {
129162
+ if (rangeObj.test(v)) {
129163
+ // satisfies(v, range, options)
129164
+ if (!max || maxSV.compare(v) === -1) {
129165
+ // compare(max, v, true)
129166
+ max = v
129167
+ maxSV = new SemVer(max, options)
129168
+ }
129169
+ }
129170
+ })
129171
+ return max
129172
+ }
129173
+ module.exports = maxSatisfying
129174
+
129175
+
129176
+ /***/ }),
129177
+
129178
+ /***/ 71650:
129179
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
129180
+
129181
+ const SemVer = __webpack_require__(97767)
129182
+ const Range = __webpack_require__(89058)
129183
+ const minSatisfying = (versions, range, options) => {
129184
+ let min = null
129185
+ let minSV = null
129186
+ let rangeObj = null
129187
+ try {
129188
+ rangeObj = new Range(range, options)
129189
+ } catch (er) {
129190
+ return null
129191
+ }
129192
+ versions.forEach((v) => {
129193
+ if (rangeObj.test(v)) {
129194
+ // satisfies(v, range, options)
129195
+ if (!min || minSV.compare(v) === 1) {
129196
+ // compare(min, v, true)
129197
+ min = v
129198
+ minSV = new SemVer(min, options)
129199
+ }
129200
+ }
129201
+ })
129202
+ return min
129203
+ }
129204
+ module.exports = minSatisfying
129205
+
129206
+
129207
+ /***/ }),
129208
+
129209
+ /***/ 84347:
129210
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
129211
+
129212
+ const SemVer = __webpack_require__(97767)
129213
+ const Range = __webpack_require__(89058)
129214
+ const gt = __webpack_require__(29962)
129215
+
129216
+ const minVersion = (range, loose) => {
129217
+ range = new Range(range, loose)
129218
+
129219
+ let minver = new SemVer('0.0.0')
129220
+ if (range.test(minver)) {
129221
+ return minver
129222
+ }
129223
+
129224
+ minver = new SemVer('0.0.0-0')
129225
+ if (range.test(minver)) {
129226
+ return minver
129227
+ }
129228
+
129229
+ minver = null
129230
+ for (let i = 0; i < range.set.length; ++i) {
129231
+ const comparators = range.set[i]
129232
+
129233
+ let setMin = null
129234
+ comparators.forEach((comparator) => {
129235
+ // Clone to avoid manipulating the comparator's semver object.
129236
+ const compver = new SemVer(comparator.semver.version)
129237
+ switch (comparator.operator) {
129238
+ case '>':
129239
+ if (compver.prerelease.length === 0) {
129240
+ compver.patch++
129241
+ } else {
129242
+ compver.prerelease.push(0)
129243
+ }
129244
+ compver.raw = compver.format()
129245
+ /* fallthrough */
129246
+ case '':
129247
+ case '>=':
129248
+ if (!setMin || gt(compver, setMin)) {
129249
+ setMin = compver
129250
+ }
129251
+ break
129252
+ case '<':
129253
+ case '<=':
129254
+ /* Ignore maximum versions */
129255
+ break
129256
+ /* istanbul ignore next */
129257
+ default:
129258
+ throw new Error(`Unexpected operation: ${comparator.operator}`)
129259
+ }
129260
+ })
129261
+ if (setMin && (!minver || gt(minver, setMin)))
129262
+ minver = setMin
129263
+ }
129264
+
129265
+ if (minver && range.test(minver)) {
129266
+ return minver
129267
+ }
129268
+
129269
+ return null
129270
+ }
129271
+ module.exports = minVersion
129272
+
129273
+
129274
+ /***/ }),
129275
+
129276
+ /***/ 64656:
129277
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
129278
+
129279
+ const SemVer = __webpack_require__(97767)
129280
+ const Comparator = __webpack_require__(88428)
129281
+ const {ANY} = Comparator
129282
+ const Range = __webpack_require__(89058)
129283
+ const satisfies = __webpack_require__(63126)
129284
+ const gt = __webpack_require__(29962)
129285
+ const lt = __webpack_require__(98784)
129286
+ const lte = __webpack_require__(54356)
129287
+ const gte = __webpack_require__(10566)
129288
+
129289
+ const outside = (version, range, hilo, options) => {
129290
+ version = new SemVer(version, options)
129291
+ range = new Range(range, options)
129292
+
129293
+ let gtfn, ltefn, ltfn, comp, ecomp
129294
+ switch (hilo) {
129295
+ case '>':
129296
+ gtfn = gt
129297
+ ltefn = lte
129298
+ ltfn = lt
129299
+ comp = '>'
129300
+ ecomp = '>='
129301
+ break
129302
+ case '<':
129303
+ gtfn = lt
129304
+ ltefn = gte
129305
+ ltfn = gt
129306
+ comp = '<'
129307
+ ecomp = '<='
129308
+ break
129309
+ default:
129310
+ throw new TypeError('Must provide a hilo val of "<" or ">"')
129311
+ }
129312
+
129313
+ // If it satisfies the range it is not outside
129314
+ if (satisfies(version, range, options)) {
129315
+ return false
129316
+ }
129317
+
129318
+ // From now on, variable terms are as if we're in "gtr" mode.
129319
+ // but note that everything is flipped for the "ltr" function.
129320
+
129321
+ for (let i = 0; i < range.set.length; ++i) {
129322
+ const comparators = range.set[i]
129323
+
129324
+ let high = null
129325
+ let low = null
129326
+
129327
+ comparators.forEach((comparator) => {
129328
+ if (comparator.semver === ANY) {
129329
+ comparator = new Comparator('>=0.0.0')
129330
+ }
129331
+ high = high || comparator
129332
+ low = low || comparator
129333
+ if (gtfn(comparator.semver, high.semver, options)) {
129334
+ high = comparator
129335
+ } else if (ltfn(comparator.semver, low.semver, options)) {
129336
+ low = comparator
129337
+ }
129338
+ })
129339
+
129340
+ // If the edge version comparator has a operator then our version
129341
+ // isn't outside it
129342
+ if (high.operator === comp || high.operator === ecomp) {
129343
+ return false
129344
+ }
129345
+
129346
+ // If the lowest version comparator has an operator and our version
129347
+ // is less than it then it isn't higher than the range
129348
+ if ((!low.operator || low.operator === comp) &&
129349
+ ltefn(version, low.semver)) {
129350
+ return false
129351
+ } else if (low.operator === ecomp && ltfn(version, low.semver)) {
129352
+ return false
129353
+ }
129354
+ }
129355
+ return true
129356
+ }
129357
+
129358
+ module.exports = outside
129359
+
129360
+
129361
+ /***/ }),
129362
+
129363
+ /***/ 93778:
129364
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
129365
+
129366
+ // given a set of versions and a range, create a "simplified" range
129367
+ // that includes the same versions that the original range does
129368
+ // If the original range is shorter than the simplified one, return that.
129369
+ const satisfies = __webpack_require__(63126)
129370
+ const compare = __webpack_require__(29437)
129371
+ module.exports = (versions, range, options) => {
129372
+ const set = []
129373
+ let min = null
129374
+ let prev = null
129375
+ const v = versions.sort((a, b) => compare(a, b, options))
129376
+ for (const version of v) {
129377
+ const included = satisfies(version, range, options)
129378
+ if (included) {
129379
+ prev = version
129380
+ if (!min)
129381
+ min = version
129382
+ } else {
129383
+ if (prev) {
129384
+ set.push([min, prev])
129385
+ }
129386
+ prev = null
129387
+ min = null
129388
+ }
129389
+ }
129390
+ if (min)
129391
+ set.push([min, null])
129392
+
129393
+ const ranges = []
129394
+ for (const [min, max] of set) {
129395
+ if (min === max)
129396
+ ranges.push(min)
129397
+ else if (!max && min === v[0])
129398
+ ranges.push('*')
129399
+ else if (!max)
129400
+ ranges.push(`>=${min}`)
129401
+ else if (min === v[0])
129402
+ ranges.push(`<=${max}`)
129403
+ else
129404
+ ranges.push(`${min} - ${max}`)
129405
+ }
129406
+ const simplified = ranges.join(' || ')
129407
+ const original = typeof range.raw === 'string' ? range.raw : String(range)
129408
+ return simplified.length < original.length ? simplified : range
129409
+ }
129410
+
129411
+
129412
+ /***/ }),
129413
+
129414
+ /***/ 7066:
129415
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
129416
+
129417
+ const Range = __webpack_require__(89058)
129418
+ const Comparator = __webpack_require__(88428)
129419
+ const { ANY } = Comparator
129420
+ const satisfies = __webpack_require__(63126)
129421
+ const compare = __webpack_require__(29437)
129422
+
129423
+ // Complex range `r1 || r2 || ...` is a subset of `R1 || R2 || ...` iff:
129424
+ // - Every simple range `r1, r2, ...` is a null set, OR
129425
+ // - Every simple range `r1, r2, ...` which is not a null set is a subset of
129426
+ // some `R1, R2, ...`
129427
+ //
129428
+ // Simple range `c1 c2 ...` is a subset of simple range `C1 C2 ...` iff:
129429
+ // - If c is only the ANY comparator
129430
+ // - If C is only the ANY comparator, return true
129431
+ // - Else if in prerelease mode, return false
129432
+ // - else replace c with `[>=0.0.0]`
129433
+ // - If C is only the ANY comparator
129434
+ // - if in prerelease mode, return true
129435
+ // - else replace C with `[>=0.0.0]`
129436
+ // - Let EQ be the set of = comparators in c
129437
+ // - If EQ is more than one, return true (null set)
129438
+ // - Let GT be the highest > or >= comparator in c
129439
+ // - Let LT be the lowest < or <= comparator in c
129440
+ // - If GT and LT, and GT.semver > LT.semver, return true (null set)
129441
+ // - If any C is a = range, and GT or LT are set, return false
129442
+ // - If EQ
129443
+ // - If GT, and EQ does not satisfy GT, return true (null set)
129444
+ // - If LT, and EQ does not satisfy LT, return true (null set)
129445
+ // - If EQ satisfies every C, return true
129446
+ // - Else return false
129447
+ // - If GT
129448
+ // - If GT.semver is lower than any > or >= comp in C, return false
129449
+ // - If GT is >=, and GT.semver does not satisfy every C, return false
129450
+ // - If GT.semver has a prerelease, and not in prerelease mode
129451
+ // - If no C has a prerelease and the GT.semver tuple, return false
129452
+ // - If LT
129453
+ // - If LT.semver is greater than any < or <= comp in C, return false
129454
+ // - If LT is <=, and LT.semver does not satisfy every C, return false
129455
+ // - If GT.semver has a prerelease, and not in prerelease mode
129456
+ // - If no C has a prerelease and the LT.semver tuple, return false
129457
+ // - Else return true
129458
+
129459
+ const subset = (sub, dom, options = {}) => {
129460
+ if (sub === dom)
129461
+ return true
129462
+
129463
+ sub = new Range(sub, options)
129464
+ dom = new Range(dom, options)
129465
+ let sawNonNull = false
129466
+
129467
+ OUTER: for (const simpleSub of sub.set) {
129468
+ for (const simpleDom of dom.set) {
129469
+ const isSub = simpleSubset(simpleSub, simpleDom, options)
129470
+ sawNonNull = sawNonNull || isSub !== null
129471
+ if (isSub)
129472
+ continue OUTER
129473
+ }
129474
+ // the null set is a subset of everything, but null simple ranges in
129475
+ // a complex range should be ignored. so if we saw a non-null range,
129476
+ // then we know this isn't a subset, but if EVERY simple range was null,
129477
+ // then it is a subset.
129478
+ if (sawNonNull)
129479
+ return false
129480
+ }
129481
+ return true
129482
+ }
129483
+
129484
+ const simpleSubset = (sub, dom, options) => {
129485
+ if (sub === dom)
129486
+ return true
129487
+
129488
+ if (sub.length === 1 && sub[0].semver === ANY) {
129489
+ if (dom.length === 1 && dom[0].semver === ANY)
129490
+ return true
129491
+ else if (options.includePrerelease)
129492
+ sub = [ new Comparator('>=0.0.0-0') ]
129493
+ else
129494
+ sub = [ new Comparator('>=0.0.0') ]
129495
+ }
129496
+
129497
+ if (dom.length === 1 && dom[0].semver === ANY) {
129498
+ if (options.includePrerelease)
129499
+ return true
129500
+ else
129501
+ dom = [ new Comparator('>=0.0.0') ]
129502
+ }
129503
+
129504
+ const eqSet = new Set()
129505
+ let gt, lt
129506
+ for (const c of sub) {
129507
+ if (c.operator === '>' || c.operator === '>=')
129508
+ gt = higherGT(gt, c, options)
129509
+ else if (c.operator === '<' || c.operator === '<=')
129510
+ lt = lowerLT(lt, c, options)
129511
+ else
129512
+ eqSet.add(c.semver)
129513
+ }
129514
+
129515
+ if (eqSet.size > 1)
129516
+ return null
129517
+
129518
+ let gtltComp
129519
+ if (gt && lt) {
129520
+ gtltComp = compare(gt.semver, lt.semver, options)
129521
+ if (gtltComp > 0)
129522
+ return null
129523
+ else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<='))
129524
+ return null
129525
+ }
129526
+
129527
+ // will iterate one or zero times
129528
+ for (const eq of eqSet) {
129529
+ if (gt && !satisfies(eq, String(gt), options))
129530
+ return null
129531
+
129532
+ if (lt && !satisfies(eq, String(lt), options))
129533
+ return null
129534
+
129535
+ for (const c of dom) {
129536
+ if (!satisfies(eq, String(c), options))
129537
+ return false
129538
+ }
129539
+
129540
+ return true
129541
+ }
129542
+
129543
+ let higher, lower
129544
+ let hasDomLT, hasDomGT
129545
+ // if the subset has a prerelease, we need a comparator in the superset
129546
+ // with the same tuple and a prerelease, or it's not a subset
129547
+ let needDomLTPre = lt &&
129548
+ !options.includePrerelease &&
129549
+ lt.semver.prerelease.length ? lt.semver : false
129550
+ let needDomGTPre = gt &&
129551
+ !options.includePrerelease &&
129552
+ gt.semver.prerelease.length ? gt.semver : false
129553
+ // exception: <1.2.3-0 is the same as <1.2.3
129554
+ if (needDomLTPre && needDomLTPre.prerelease.length === 1 &&
129555
+ lt.operator === '<' && needDomLTPre.prerelease[0] === 0) {
129556
+ needDomLTPre = false
129557
+ }
129558
+
129559
+ for (const c of dom) {
129560
+ hasDomGT = hasDomGT || c.operator === '>' || c.operator === '>='
129561
+ hasDomLT = hasDomLT || c.operator === '<' || c.operator === '<='
129562
+ if (gt) {
129563
+ if (needDomGTPre) {
129564
+ if (c.semver.prerelease && c.semver.prerelease.length &&
129565
+ c.semver.major === needDomGTPre.major &&
129566
+ c.semver.minor === needDomGTPre.minor &&
129567
+ c.semver.patch === needDomGTPre.patch) {
129568
+ needDomGTPre = false
129569
+ }
129570
+ }
129571
+ if (c.operator === '>' || c.operator === '>=') {
129572
+ higher = higherGT(gt, c, options)
129573
+ if (higher === c && higher !== gt)
129574
+ return false
129575
+ } else if (gt.operator === '>=' && !satisfies(gt.semver, String(c), options))
129576
+ return false
129577
+ }
129578
+ if (lt) {
129579
+ if (needDomLTPre) {
129580
+ if (c.semver.prerelease && c.semver.prerelease.length &&
129581
+ c.semver.major === needDomLTPre.major &&
129582
+ c.semver.minor === needDomLTPre.minor &&
129583
+ c.semver.patch === needDomLTPre.patch) {
129584
+ needDomLTPre = false
129585
+ }
129586
+ }
129587
+ if (c.operator === '<' || c.operator === '<=') {
129588
+ lower = lowerLT(lt, c, options)
129589
+ if (lower === c && lower !== lt)
129590
+ return false
129591
+ } else if (lt.operator === '<=' && !satisfies(lt.semver, String(c), options))
129592
+ return false
129593
+ }
129594
+ if (!c.operator && (lt || gt) && gtltComp !== 0)
129595
+ return false
129596
+ }
129597
+
129598
+ // if there was a < or >, and nothing in the dom, then must be false
129599
+ // UNLESS it was limited by another range in the other direction.
129600
+ // Eg, >1.0.0 <1.0.1 is still a subset of <2.0.0
129601
+ if (gt && hasDomLT && !lt && gtltComp !== 0)
129602
+ return false
129603
+
129604
+ if (lt && hasDomGT && !gt && gtltComp !== 0)
129605
+ return false
129606
+
129607
+ // we needed a prerelease range in a specific tuple, but didn't get one
129608
+ // then this isn't a subset. eg >=1.2.3-pre is not a subset of >=1.0.0,
129609
+ // because it includes prereleases in the 1.2.3 tuple
129610
+ if (needDomGTPre || needDomLTPre)
129611
+ return false
129612
+
129613
+ return true
129614
+ }
129615
+
129616
+ // >=1.2.3 is lower than >1.2.3
129617
+ const higherGT = (a, b, options) => {
129618
+ if (!a)
129619
+ return b
129620
+ const comp = compare(a.semver, b.semver, options)
129621
+ return comp > 0 ? a
129622
+ : comp < 0 ? b
129623
+ : b.operator === '>' && a.operator === '>=' ? b
129624
+ : a
129625
+ }
129626
+
129627
+ // <=1.2.3 is higher than <1.2.3
129628
+ const lowerLT = (a, b, options) => {
129629
+ if (!a)
129630
+ return b
129631
+ const comp = compare(a.semver, b.semver, options)
129632
+ return comp < 0 ? a
129633
+ : comp > 0 ? b
129634
+ : b.operator === '<' && a.operator === '<=' ? b
129635
+ : a
129636
+ }
129637
+
129638
+ module.exports = subset
129639
+
129640
+
129641
+ /***/ }),
129642
+
129643
+ /***/ 7319:
129644
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
129645
+
129646
+ const Range = __webpack_require__(89058)
129647
+
129648
+ // Mostly just for testing and legacy API reasons
129649
+ const toComparators = (range, options) =>
129650
+ new Range(range, options).set
129651
+ .map(comp => comp.map(c => c.value).join(' ').trim().split(' '))
129652
+
129653
+ module.exports = toComparators
129654
+
129655
+
129656
+ /***/ }),
129657
+
129658
+ /***/ 6125:
129659
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
129660
+
129661
+ const Range = __webpack_require__(89058)
129662
+ const validRange = (range, options) => {
129663
+ try {
129664
+ // Return '*' instead of '' so that truthiness works.
129665
+ // This will throw if it's invalid anyway
129666
+ return new Range(range, options).range || '*'
129667
+ } catch (er) {
129668
+ return null
129669
+ }
129670
+ }
129671
+ module.exports = validRange
129672
+
129673
+
125902
129674
  /***/ }),
125903
129675
 
125904
129676
  /***/ 66170:
@@ -125991,6 +129763,11 @@ async function confirmDeploy(config) {
125991
129763
  target = `${chalk.blue(i18next_1.default.t('TARGET'))}: ${(_b = config.target.url) !== null && _b !== void 0 ? _b : ''}
125992
129764
  ${chalk.blue(i18next_1.default.t('CLIENT'))}: ${(_c = config.target.client) !== null && _c !== void 0 ? _c : ''}`;
125993
129765
  }
129766
+ // Show system UI5 version if it is lower than min UI5 version
129767
+ let targetSystemUI5Version = '';
129768
+ if (config.targetSystemUI5Version) {
129769
+ targetSystemUI5Version = `${chalk.blue(i18next_1.default.t('TARGET_SYSTEM_UI5_VERSION'))}: ${config.targetSystemUI5Version}`;
129770
+ }
125994
129771
  console.log();
125995
129772
  console.log(chalk.blue.bold.underline(i18next_1.default.t(config.testMode ? 'CONFIRM_DEPLOYMENT_TESTMODE' : 'CONFIRM_DEPLOYMENT')));
125996
129773
  if (config.ignoreCertError) {
@@ -126002,8 +129779,12 @@ async function confirmDeploy(config) {
126002
129779
  ${chalk.blue(i18next_1.default.t('TRANSPORT_REQUEST'))}: ${(_e = config.app.transport) !== null && _e !== void 0 ? _e : ''}
126003
129780
  ${target}
126004
129781
  ${chalk.blue('SCP')}: ${(_f = config.target.scp) !== null && _f !== void 0 ? _f : 'false'}
129782
+ ${targetSystemUI5Version}
126005
129783
  `);
126006
- console.log();
129784
+ if (config.targetSystemUI5Version) {
129785
+ console.log(chalk.yellow(i18next_1.default.t('WARN_TARGET_SYSTEM_UI5_VERSION')));
129786
+ console.log();
129787
+ }
126007
129788
  const { confirm } = await prompts_1.default({
126008
129789
  type: 'confirm',
126009
129790
  name: 'confirm',
@@ -126025,6 +129806,7 @@ module.exports = async function task({ workspace, options }) {
126025
129806
  // validate configuration
126026
129807
  const config = options.configuration;
126027
129808
  steps_1.validateConfig(config);
129809
+ await steps_1.validateTargetSystemUi5Version(config);
126028
129810
  if (isConfirmationRequired(config) && !(await confirmDeploy(config))) {
126029
129811
  log.info(i18next_1.default.t('DEPLOY_CANCELED'));
126030
129812
  return;
@@ -126202,6 +129984,8 @@ const i18next_1 = __importDefault(__webpack_require__(20610));
126202
129984
  const yaml_1 = __importDefault(__webpack_require__(6306));
126203
129985
  const constants_1 = __webpack_require__(90762);
126204
129986
  const utils_1 = __webpack_require__(75137);
129987
+ const ux_ui5_info_1 = __webpack_require__(68545);
129988
+ const semver_1 = __importDefault(__webpack_require__(45327));
126205
129989
  /**
126206
129990
  * Helper function for throwing a missing property error
126207
129991
  * @param property Invalid missing property
@@ -126251,6 +130035,23 @@ function validateConfig(config) {
126251
130035
  return true;
126252
130036
  }
126253
130037
  exports.validateConfig = validateConfig;
130038
+ async function validateTargetSystemUi5Version(config) {
130039
+ var _a;
130040
+ try {
130041
+ const minUi5Version = await utils_1.getUI5VersionFromManifest([]);
130042
+ const systemUi5Version = await ux_ui5_info_1.getSapSystemUI5Version((_a = config.target) === null || _a === void 0 ? void 0 : _a.url, !config.ignoreCertError);
130043
+ const lowSystemVersion = semver_1.default.lt(semver_1.default.coerce(systemUi5Version), semver_1.default.coerce(minUi5Version));
130044
+ if (lowSystemVersion) {
130045
+ config.targetSystemUI5Version = systemUi5Version;
130046
+ }
130047
+ }
130048
+ catch {
130049
+ // Best effort attempt to compare backend system's UI5 version with minimum UI5 version in manifest.json
130050
+ // Ignore if there is any errors
130051
+ }
130052
+ return config;
130053
+ }
130054
+ exports.validateTargetSystemUi5Version = validateTargetSystemUi5Version;
126254
130055
  /**
126255
130056
  * Create a zip file based on the given object
126256
130057
  * @param zip ZipFile as object
@@ -140843,14 +144644,6 @@ module.exports = {"i8":"1.7.6"};
140843
144644
 
140844
144645
  /***/ }),
140845
144646
 
140846
- /***/ 19521:
140847
- /***/ ((module) => {
140848
-
140849
- "use strict";
140850
- module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"Promise based HTTP client for the browser and node.js","main":"index.js","scripts":{"test":"grunt test","start":"node ./sandbox/server.js","build":"NODE_ENV=production grunt build","preversion":"npm test","version":"npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json","postversion":"git push && git push --tags","examples":"node ./examples/server.js","coveralls":"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","fix":"eslint --fix lib/**/*.js"},"repository":{"type":"git","url":"https://github.com/axios/axios.git"},"keywords":["xhr","http","ajax","promise","node"],"author":"Matt Zabriskie","license":"MIT","bugs":{"url":"https://github.com/axios/axios/issues"},"homepage":"https://axios-http.com","devDependencies":{"coveralls":"^3.0.0","es6-promise":"^4.2.4","grunt":"^1.3.0","grunt-banner":"^0.6.0","grunt-cli":"^1.2.0","grunt-contrib-clean":"^1.1.0","grunt-contrib-watch":"^1.0.0","grunt-eslint":"^23.0.0","grunt-karma":"^4.0.0","grunt-mocha-test":"^0.13.3","grunt-ts":"^6.0.0-beta.19","grunt-webpack":"^4.0.2","istanbul-instrumenter-loader":"^1.0.0","jasmine-core":"^2.4.1","karma":"^6.3.2","karma-chrome-launcher":"^3.1.0","karma-firefox-launcher":"^2.1.0","karma-jasmine":"^1.1.1","karma-jasmine-ajax":"^0.1.13","karma-safari-launcher":"^1.0.0","karma-sauce-launcher":"^4.3.6","karma-sinon":"^1.0.5","karma-sourcemap-loader":"^0.3.8","karma-webpack":"^4.0.2","load-grunt-tasks":"^3.5.2","minimist":"^1.2.0","mocha":"^8.2.1","sinon":"^4.5.0","terser-webpack-plugin":"^4.2.3","typescript":"^4.0.5","url-search-params":"^0.10.0","webpack":"^4.44.2","webpack-dev-server":"^3.11.0"},"browser":{"./lib/adapters/http.js":"./lib/adapters/xhr.js"},"jsdelivr":"dist/axios.min.js","unpkg":"dist/axios.min.js","typings":"./index.d.ts","dependencies":{"follow-redirects":"^1.14.0"},"bundlesize":[{"path":"./dist/axios.min.js","threshold":"5kB"}]}');
140851
-
140852
- /***/ }),
140853
-
140854
144647
  /***/ 52306:
140855
144648
  /***/ ((module) => {
140856
144649
 
@@ -141047,7 +144840,7 @@ module.exports = JSON.parse('{"ERROR_SPECIFICATION_MISSING":"Seems specification
141047
144840
  /***/ ((module) => {
141048
144841
 
141049
144842
  "use strict";
141050
- module.exports = JSON.parse('{"name":"@sap/ux-telemetry","version":"1.5.0","description":"SAP Fiori tools telemetry library","main":"dist/src/index.js","author":"SAP SE","license":"MIT","private":true,"azureInstrumentationKey":"0a65e45d-6bf4-421d-b845-61e888c50e9e","azureProdKey":"0a65e45d-6bf4-421d-b845-61e888c50e9e","scripts":{"pre-commit":"lint-staged --quiet","clean":"rimraf ./dist","build":"ts-node ./build-script/ && yarn run clean && tsc --project ./","test":"jest --maxWorkers=1 --silent --ci --forceExit --detectOpenHandles","lint":"eslint . --ext .ts","lint:summary":"eslint . --ext .ts -f summary","lint:fix":"eslint --fix","lint:fix:all":"eslint . --ext .ts --fix","lint:report":"eslint . --ext .ts -f multiple --report-unused-disable-directives","format:fix":"prettier --write --loglevel silent --ignore-path ../../../.prettierignore","format:fix:all":"prettier --write \'**/*.{css,scss,html,js,json,ts,tsx,yaml,yml}\' \'!**/{out,dist,node_modules}/**\' \'!**/*.{svg,png,xml}\' --ignore-path ../../../.prettierignore","madge":"madge --warning --circular --extensions ts ./"},"dependencies":{"@sap/ux-cds":"1.5.0","@sap/ux-common-utils":"1.5.0","@sap/ux-feature-toggle":"1.5.0","@sap/ux-project-access":"1.5.0","applicationinsights":"1.4.1","performance-now":"2.1.0","yaml":"2.0.0-10"},"devDependencies":{"ts-node":"8.5.2","typescript":"3.8.3"},"files":["dist/"],"jestSonar":{"reportPath":"reports/test/unit","reportFile":"test-report.xml"},"eslint-formatter-multiple":{"formatters":[{"name":"stylish","output":"console"},{"name":"json","output":"file","path":"reports/lint/eslint.json"},{"name":"checkstyle","output":"file","path":"reports/lint/eslint.checkstyle.xml"}]}}');
144843
+ module.exports = JSON.parse('{"name":"@sap/ux-telemetry","version":"1.5.1","description":"SAP Fiori tools telemetry library","main":"dist/src/index.js","author":"SAP SE","license":"MIT","private":true,"azureInstrumentationKey":"0a65e45d-6bf4-421d-b845-61e888c50e9e","azureProdKey":"0a65e45d-6bf4-421d-b845-61e888c50e9e","scripts":{"pre-commit":"lint-staged --quiet","clean":"rimraf ./dist","build":"ts-node ./build-script/ && yarn run clean && tsc --project ./","test":"jest --maxWorkers=1 --silent --ci --forceExit --detectOpenHandles","lint":"eslint . --ext .ts","lint:summary":"eslint . --ext .ts -f summary","lint:fix":"eslint --fix","lint:fix:all":"eslint . --ext .ts --fix","lint:report":"eslint . --ext .ts -f multiple --report-unused-disable-directives","format:fix":"prettier --write --loglevel silent --ignore-path ../../../.prettierignore","format:fix:all":"prettier --write \'**/*.{css,scss,html,js,json,ts,tsx,yaml,yml}\' \'!**/{out,dist,node_modules}/**\' \'!**/*.{svg,png,xml}\' --ignore-path ../../../.prettierignore","madge":"madge --warning --circular --extensions ts ./"},"dependencies":{"@sap/ux-cds":"1.5.1","@sap/ux-common-utils":"1.5.1","@sap/ux-feature-toggle":"1.5.1","@sap/ux-project-access":"1.5.1","applicationinsights":"1.4.1","performance-now":"2.1.0","yaml":"2.0.0-10"},"devDependencies":{"ts-node":"8.5.2","typescript":"3.8.3"},"files":["dist/"],"jestSonar":{"reportPath":"reports/test/unit","reportFile":"test-report.xml"},"eslint-formatter-multiple":{"formatters":[{"name":"stylish","output":"console"},{"name":"json","output":"file","path":"reports/lint/eslint.json"},{"name":"checkstyle","output":"file","path":"reports/lint/eslint.checkstyle.xml"}]}}');
141051
144844
 
141052
144845
  /***/ }),
141053
144846
 
@@ -141055,7 +144848,7 @@ module.exports = JSON.parse('{"name":"@sap/ux-telemetry","version":"1.5.0","desc
141055
144848
  /***/ ((module) => {
141056
144849
 
141057
144850
  "use strict";
141058
- module.exports = JSON.parse('{"ABAP_PACKAGE":"ABAP package","ADDING_ARTIFACT_TO_PROJECT":"Adding {{artifact}} to the project.","APPLICATION_NAME":"Application Name","ARTIFACT_ADDED":"{{artifact}} added to the project.","ARTIFACT_NOT_ADDED":"{{artifact}} not added to the project.","CLIENT":"Client","CONFIRM_DEPLOYMENT_TESTMODE":"Confirmation is required to deploy the app in test mode:","CONFIRM_DEPLOYMENT":"Confirmation is required to deploy the app:","CONNECTING_WITHOUT_CREDS":"Connecting without any credentials, deployment may fail if authorization is required","CONSIDER_REMOVING_CLIENT_FROM_CONFIG":"Please remove the client from ui5-deploy.yaml, if you don\'t want to see the above warning again","DEPLOY_CANCELED":"Deploy canceled","DEPLOY_EXECUTED":"deploy executed.","DESTINATION":"Destination","ERROR_COMMAND_CMD":"Command {{cmd}} does not exist.","ERROR_INVALID_DEPLOYMENT_CONFIGURATION":"Invalid deployment configuration. Property {{property}} is missing.","ERROR_USER_PASSWORD_PLAIN":"Username or password must not be provided in plain text. Use environment variables.","ERROR_YO_NOT_INSTALLED":"Yeoman is not installed or available in your executable path. Please check your configuration or use npm/yarn to install it globally","ERROR_INSTALL_FIORI_GENERATOR":"Do you need to install {{fioriGenerator}} globally?\\nnpm install -g {{fioriGenerator}}\\nOR\\nyarn global add {{fioriGenerator}}","FILE_CREATED":"File {{file}} created in {{- folder}}","GENERATE_STANDALONE_INDEX_HTML":"Generate standalone index.html during deployment","INDEX_EXISTS_NOT_OVERWRITING":"\'index.html\' already exists, not generating one","INDEX_HTML_ADDED":"index.html added","INFO_CREATE_ARCHIVE":"Create Archive","INFO_COMMAND_FAILED":"Command {{cmd}} failed with error {{-message}}","INFO_DEPLOYMENT_SUCCESSFUL":"Deployment Successful.","INFO_DEPLOYMENT_FAILED":"Deployment Failed.","INFO_TEST_MODE":"Deployment in TestMode completed. A successful TestMode execution does not necessarily mean that your upload will be successful","ERROR_NO_SYSTEM_IN_STORE":"Error in deployment. The BTP system used in the deployment configuration could not be found as one of your local saved SAP systems. Please ensure you have saved this system locally so that it can be used for deployment.","INFO_FILE_PATH_ADDED":"{{path}} added","INFO_LIVERELOAD_STARTED":"Livereload middleware started for port {{port}} and path {{-watchPath}}","ERROR_STARTING_LIVERELOAD":"Port {{port}} was not exposed! Livereload will not work!","INFO_STARTING_DEPLOYMENT":"Starting Deployment.","INFO_STORE_DETAILS":"Storing details for system: ","INFO_USED_DESTINATION":"Used destination: ","INVALID_DATA":"Invalid data","INVALID_ODATA_VERSION":"The middleware fiori-tools-preview can only be used with OData version 4","MAINTAIN_CREDENTIALS":"Please maintain correct credentials to avoid seeing this error\\n\\t(see help: https://www.npmjs.com/package/@sap/ux-ui5-tooling#setting-environment-variables-in-a-env-file)","NO_PATH_LOCAL_UI5":"No path to local UI5 sources provided!","PACKAGE":"Package","PACKAGE_JSON_UPDATED":"package.json updated.","PACKAGE_NAME_REQUIRED":"Package name required","PROXY_STARTED_FOR":"Proxy started for ","SERVICE_KEYS_CONTENT_EMPTY":"Service keys contents cannot be empty","START_DEPLOYMENT":"Start deployment (Y/n)?","START_DEPLOYMENT_TESTMODE":"Start deployment in test mode (Y/n)?","SYSTEM_NAME_EMPTY":"System Name cannot be empty","SYSTEM_NAME_IN_USE":"[{{name}}] is already in use","TARGET":"Target","TRANSPORT_REQUEST":"Transport Request","USE_IT_INSTEAD":"Use it instead (Y/n)?","USING_SYSTEM_WITH_SAME_URL_NO_CLIENT":"Using system [{{name}}] with same URL, no client from System Store","USING_SYSTEM_FROM_STORE":"Using system [{{name}}] from System store","WARNING_PACKAGE_IN_CUSTOMER_SPACE":"Your package is in the customer space. Please check the correctness of the application name as it might need to start with a Z.","ERROR_EXTRACT_API_KEY":"Could not extract API hub key from \'{{-envPath}}\'","ERROR_API_HUB_KEY":"Property apiHub is set to true in yaml file, but file \'{{-envPath}}\' doesn\'t contain API key. Error was: ${{-message}}","SSL_IGNORE_WARNING":"You chose not to validate SSL certificate. Please verify the server certificate is trustful before proceeding. See documentation for recommended configuration (https://help.sap.com/viewer/17d50220bcd848aa854c9c182d65b699/Latest/en-US/4b318bede7eb4021a8be385c46c74045.html).","SSL_PROXY_ERROR":"You are trying to connect to a server with a self signed certificate. Please check (https://help.sap.com/viewer/17d50220bcd848aa854c9c182d65b699/Latest/en-US/4b318bede7eb4021a8be385c46c74045.html) for guidance.","NO_DEPLOY_CONFIG":"No deployment configuration has been detected. Run `npm run deploy-config` to add configuration first.","NO_BSP_APPLICATION":"Mandatory parameter --bspApplication <value> is missing. Please provide BSP Application","YAML_NOT_FOUND":"Configuration file {{-yamlPath}} not found. Please provide a valid path","NO_BUILD_SCRIPT":"Warning: No build script was found. You will need to execute build, before running start-flp.","CONFIRM_UNDEPLOYMENT":"Confirmation is required to undeploy the app:","INFO_STARTING_UNDEPLOYMENT":"Starting undeployment.","INFO_UNDEPLOYMENT_SUCCESSFUL":"Undeployment Successful.","INFO_UNDEPLOYMENT_FAILED":"Undeployment Failed.","START_UNDEPLOYMENT":"Start undeployment (Y/n)?","USERNAME":"Username:","PASSWORD":"Password:","REQUIRE_CREDENTIAL":"The deployment destination requires authentication. Please enter your credentials below","REQUIRE_CREDENTIAL_FLP":"The FLP Embedded Preview requires credentials. Please enter your credentials below","ERROR_NO_VSCODE_SETTINGS_FILE":"No VSCode Settings file found.","INFO_SAML_NOT_SUPPORTED":"The backend service seems to require direct SAML authentication, which is not yet supported.","INFO_RESPONSE_UNCERTAIN":"Successful deployment could not be confirmed based on the response message received. Please manually verify if the deployment was successful.","VSCODE_SETTINGS_FILE_NOT_PARSEABLE":"Not able to parse VSCode settings.json file.","ERROR_EMPTY_USERNAME":"Username can not be empty.","ERROR_EMPTY_PASSWORD":"Password can not be empty.","OPERATION_ABORTED":"Operation aborted by the user.","ERROR_ACHIVE_FROM_EXTERNAL_FILEPATH":"The archive file you provided could not be found.","ERROR_ACHIVE_FROM_EXTERNAL_URL":"The archive url you provided could not be reached. Please ensure the URL is accessible and does not require authentication. {{error}}","NO_CAP":"CAP projects are not supported.","DEPLOYMENT_MSG":"To retrieve the deployed URL, run the following command:","DEPLOYMENT_MANAGED_CF_URL":"cf html5-list -u -di {{-mtaId}}-dest-srv -u --runtime launchpad","DEPLOYMENT_HELP":"For more help, go to https://help.sap.com/viewer/17d50220bcd848aa854c9c182d65b699/Latest/en-US/607014e278d941fda4440f92f4a324a6.html","DEPLOYMENT_STANDALONE_CF_URL":"Please see the deployed application URL above","ERROR_NO_UI5_FLEX_LAYER":"The UI5 Flexibility Layer for this project is not set. Please open the command palette and execute the command {{command}}.","ERROR_WRONG_UI5_FLEX_LAYER":"The value of the UI5 Flexibility Layer is wrong. Please open the command palette and execute the command {{command}}.","ERROR_WRONG_MINUI5VERSION":"Developer variant creation works only with UI5 version {{version}} or higher. Please update the minUI5Version in the manifest.json to {{version}} or higher.","ERROR_WRONG_UI5VERSION":"Developer variant creation works only with UI5 version {{version}} or higher. Please update the UI5 version in the {{-location}} to {{version}} or higher.","VARIANT_MANAGEMENT_VSCODE_CONFIGURATION_COMMAND":"Fiori: Add Configuration for Variants Creation","NO_HELP_MARKDOWN_FOUND":"Help content cannot be loaded","UNKNOWN_ADD_SUBCOMMAND":"Subcommand {{artifact}} is not supported. Please check the following supported subcommands.","CONTROL_PROPERTY_EDITOR_UNSUPPORTED_FE_VERSION":"Control property editor is available only for SAP Fiori Elements v2 apps","CONTROL_PROPERTY_EDITOR_MIN_UI5_VERSION":"Control property editor works only with SAP UI5 version {{version}} or higher. Please update the SAP UI5 version in the {{-location}} to {{version}} or higher.","CONTROL_PROPERTY_EDITOR_VSCODE_CONFIGURATION_COMMAND":"Fiori: Add Configuration for Control Property Editor","UI5_VERSION_SOURCE":"Using UI5 version {{version}} based on {{-file}}"}');
144851
+ module.exports = JSON.parse('{"ABAP_PACKAGE":"ABAP package","ADDING_ARTIFACT_TO_PROJECT":"Adding {{artifact}} to the project.","APPLICATION_NAME":"Application Name","ARTIFACT_ADDED":"{{artifact}} added to the project.","ARTIFACT_NOT_ADDED":"{{artifact}} not added to the project.","CLIENT":"Client","CONFIRM_DEPLOYMENT_TESTMODE":"Confirmation is required to deploy the app in test mode:","CONFIRM_DEPLOYMENT":"Confirmation is required to deploy the app:","CONNECTING_WITHOUT_CREDS":"Connecting without any credentials, deployment may fail if authorization is required","CONSIDER_REMOVING_CLIENT_FROM_CONFIG":"Please remove the client from ui5-deploy.yaml, if you don\'t want to see the above warning again","DEPLOY_CANCELED":"Deploy canceled","DEPLOY_EXECUTED":"deploy executed.","DESTINATION":"Destination","ERROR_COMMAND_CMD":"Command {{cmd}} does not exist.","ERROR_INVALID_DEPLOYMENT_CONFIGURATION":"Invalid deployment configuration. Property {{property}} is missing.","ERROR_USER_PASSWORD_PLAIN":"Username or password must not be provided in plain text. Use environment variables.","ERROR_YO_NOT_INSTALLED":"Yeoman is not installed or available in your executable path. Please check your configuration or use npm/yarn to install it globally","ERROR_INSTALL_FIORI_GENERATOR":"Do you need to install {{fioriGenerator}} globally?\\nnpm install -g {{fioriGenerator}}\\nOR\\nyarn global add {{fioriGenerator}}","FILE_CREATED":"File {{file}} created in {{- folder}}","GENERATE_STANDALONE_INDEX_HTML":"Generate standalone index.html during deployment","INDEX_EXISTS_NOT_OVERWRITING":"\'index.html\' already exists, not generating one","INDEX_HTML_ADDED":"index.html added","INFO_CREATE_ARCHIVE":"Create Archive","INFO_COMMAND_FAILED":"Command {{cmd}} failed with error {{-message}}","INFO_DEPLOYMENT_SUCCESSFUL":"Deployment Successful.","INFO_DEPLOYMENT_FAILED":"Deployment Failed.","INFO_TEST_MODE":"Deployment in TestMode completed. A successful TestMode execution does not necessarily mean that your upload will be successful","ERROR_NO_SYSTEM_IN_STORE":"Error in deployment. The BTP system used in the deployment configuration could not be found as one of your local saved SAP systems. Please ensure you have saved this system locally so that it can be used for deployment.","INFO_FILE_PATH_ADDED":"{{path}} added","INFO_LIVERELOAD_STARTED":"Livereload middleware started for port {{port}} and path {{-watchPath}}","ERROR_STARTING_LIVERELOAD":"Port {{port}} was not exposed! Livereload will not work!","INFO_STARTING_DEPLOYMENT":"Starting Deployment.","INFO_STORE_DETAILS":"Storing details for system: ","INFO_USED_DESTINATION":"Used destination: ","INVALID_DATA":"Invalid data","INVALID_ODATA_VERSION":"The middleware fiori-tools-preview can only be used with OData version 4","MAINTAIN_CREDENTIALS":"Please maintain correct credentials to avoid seeing this error\\n\\t(see help: https://www.npmjs.com/package/@sap/ux-ui5-tooling#setting-environment-variables-in-a-env-file)","NO_PATH_LOCAL_UI5":"No path to local UI5 sources provided!","PACKAGE":"Package","PACKAGE_JSON_UPDATED":"package.json updated.","PACKAGE_NAME_REQUIRED":"Package name required","PROXY_STARTED_FOR":"Proxy started for ","SERVICE_KEYS_CONTENT_EMPTY":"Service keys contents cannot be empty","START_DEPLOYMENT":"Start deployment (Y/n)?","START_DEPLOYMENT_TESTMODE":"Start deployment in test mode (Y/n)?","SYSTEM_NAME_EMPTY":"System Name cannot be empty","SYSTEM_NAME_IN_USE":"[{{name}}] is already in use","TARGET":"Target","TRANSPORT_REQUEST":"Transport Request","USE_IT_INSTEAD":"Use it instead (Y/n)?","USING_SYSTEM_WITH_SAME_URL_NO_CLIENT":"Using system [{{name}}] with same URL, no client from System Store","USING_SYSTEM_FROM_STORE":"Using system [{{name}}] from System store","WARNING_PACKAGE_IN_CUSTOMER_SPACE":"Your package is in the customer space. Please check the correctness of the application name as it might need to start with a Z.","ERROR_EXTRACT_API_KEY":"Could not extract API hub key from \'{{-envPath}}\'","ERROR_API_HUB_KEY":"Property apiHub is set to true in yaml file, but file \'{{-envPath}}\' doesn\'t contain API key. Error was: ${{-message}}","SSL_IGNORE_WARNING":"You chose not to validate SSL certificate. Please verify the server certificate is trustful before proceeding. See documentation for recommended configuration (https://help.sap.com/viewer/17d50220bcd848aa854c9c182d65b699/Latest/en-US/4b318bede7eb4021a8be385c46c74045.html).","SSL_PROXY_ERROR":"You are trying to connect to a server with a self signed certificate. Please check (https://help.sap.com/viewer/17d50220bcd848aa854c9c182d65b699/Latest/en-US/4b318bede7eb4021a8be385c46c74045.html) for guidance.","NO_DEPLOY_CONFIG":"No deployment configuration has been detected. Run `npm run deploy-config` to add configuration first.","NO_BSP_APPLICATION":"Mandatory parameter --bspApplication <value> is missing. Please provide BSP Application","YAML_NOT_FOUND":"Configuration file {{-yamlPath}} not found. Please provide a valid path","NO_BUILD_SCRIPT":"Warning: No build script was found. You will need to execute build, before running start-flp.","CONFIRM_UNDEPLOYMENT":"Confirmation is required to undeploy the app:","INFO_STARTING_UNDEPLOYMENT":"Starting undeployment.","INFO_UNDEPLOYMENT_SUCCESSFUL":"Undeployment Successful.","INFO_UNDEPLOYMENT_FAILED":"Undeployment Failed.","START_UNDEPLOYMENT":"Start undeployment (Y/n)?","USERNAME":"Username:","PASSWORD":"Password:","REQUIRE_CREDENTIAL":"The deployment destination requires authentication. Please enter your credentials below","REQUIRE_CREDENTIAL_FLP":"The FLP Embedded Preview requires credentials. Please enter your credentials below","ERROR_NO_VSCODE_SETTINGS_FILE":"No VSCode Settings file found.","INFO_SAML_NOT_SUPPORTED":"The backend service seems to require direct SAML authentication, which is not yet supported.","INFO_RESPONSE_UNCERTAIN":"Successful deployment could not be confirmed based on the response message received. Please manually verify if the deployment was successful.","VSCODE_SETTINGS_FILE_NOT_PARSEABLE":"Not able to parse VSCode settings.json file.","ERROR_EMPTY_USERNAME":"Username can not be empty.","ERROR_EMPTY_PASSWORD":"Password can not be empty.","OPERATION_ABORTED":"Operation aborted by the user.","ERROR_ACHIVE_FROM_EXTERNAL_FILEPATH":"The archive file you provided could not be found.","ERROR_ACHIVE_FROM_EXTERNAL_URL":"The archive url you provided could not be reached. Please ensure the URL is accessible and does not require authentication. {{error}}","NO_CAP":"CAP projects are not supported.","DEPLOYMENT_MSG":"To retrieve the deployed URL, run the following command:","DEPLOYMENT_MANAGED_CF_URL":"cf html5-list -u -di {{-mtaId}}-dest-srv -u --runtime launchpad","DEPLOYMENT_HELP":"For more help, go to https://help.sap.com/viewer/17d50220bcd848aa854c9c182d65b699/Latest/en-US/607014e278d941fda4440f92f4a324a6.html","DEPLOYMENT_STANDALONE_CF_URL":"Please see the deployed application URL above","ERROR_NO_UI5_FLEX_LAYER":"The UI5 Flexibility Layer for this project is not set. Please open the command palette and execute the command {{command}}.","ERROR_WRONG_UI5_FLEX_LAYER":"The value of the UI5 Flexibility Layer is wrong. Please open the command palette and execute the command {{command}}.","ERROR_WRONG_MINUI5VERSION":"Developer variant creation works only with UI5 version {{version}} or higher. Please update the minUI5Version in the manifest.json to {{version}} or higher.","ERROR_WRONG_UI5VERSION":"Developer variant creation works only with UI5 version {{version}} or higher. Please update the UI5 version in the {{-location}} to {{version}} or higher.","VARIANT_MANAGEMENT_VSCODE_CONFIGURATION_COMMAND":"Fiori: Add Configuration for Variants Creation","NO_HELP_MARKDOWN_FOUND":"Help content cannot be loaded","UNKNOWN_ADD_SUBCOMMAND":"Subcommand {{artifact}} is not supported. Please check the following supported subcommands.","CONTROL_PROPERTY_EDITOR_UNSUPPORTED_FE_VERSION":"Control property editor is available only for SAP Fiori Elements v2 apps","CONTROL_PROPERTY_EDITOR_MIN_UI5_VERSION":"Control property editor works only with SAP UI5 version {{version}} or higher. Please update the SAP UI5 version in the {{-location}} to {{version}} or higher.","CONTROL_PROPERTY_EDITOR_VSCODE_CONFIGURATION_COMMAND":"Fiori: Add Configuration for Control Property Editor","UI5_VERSION_SOURCE":"Using UI5 version {{version}} based on {{-file}}","FLP_EMBEDDED_NO_DIST":"Folder {{-folder}} is missing. Please build your application first, before starting the embedded preview.","WARN_TARGET_SYSTEM_UI5_VERSION":"Target system\'s SAPUI5 version is lower than the local minUI5Version. Testing locally with different Run Configurations recommended https://help.sap.com/viewer/17d50220bcd848aa854c9c182d65b699/Latest/en-US/09171c8bc3a64ec7848f0ef31770a793.html","TARGET_SYSTEM_UI5_VERSION":"Target System SAPUI5 version"}');
141059
144852
 
141060
144853
  /***/ })
141061
144854