From a2983877b5a7d6c14bdfdc5426a82e2aca590074 Mon Sep 17 00:00:00 2001 From: Michael Gangolf Date: Tue, 21 May 2024 19:07:34 +0200 Subject: [PATCH 01/35] chore: fixing typos (#14038) --- android/cli/commands/_build.js | 16 ++++++++-------- android/cli/commands/_buildModule.js | 4 ++-- android/cli/hooks/run.js | 2 +- android/cli/lib/android-manifest.js | 2 +- android/cli/lib/gradle-wrapper.js | 2 +- android/cli/locales/en.js | 2 +- android/debugger.md | 2 +- .../generator/KrollJSONGenerator.java | 2 +- .../modules/titanium/android/AndroidModule.java | 2 +- .../titanium/database/DatabaseModule.java | 2 +- .../titanium/geolocation/GeolocationModule.java | 2 +- .../android/LocationProviderProxy.java | 2 +- .../gesture/TiDeviceOrientationMonitor.java | 4 ++-- .../modules/titanium/locale/CollatorProxy.java | 2 +- .../titanium/locale/DateTimeFormatProxy.java | 6 +++--- .../modules/titanium/media/AudioPlayerProxy.java | 2 +- .../modules/titanium/media/VideoPlayerProxy.java | 4 ++-- .../titanium/network/socket/TCPProxy.java | 2 +- .../titanium/platform/PlatformModule.java | 4 ++-- .../modules/titanium/ui/TableViewRowProxy.java | 2 +- .../titanium/ui/widget/TiSwipeRefreshLayout.java | 4 ++-- .../modules/titanium/ui/widget/TiUIEditText.java | 2 +- .../ti/modules/titanium/ui/widget/TiUILabel.java | 2 +- .../titanium/ui/widget/TiUIMaskedImage.java | 4 ++-- .../titanium/ui/widget/TiUIScrollView.java | 4 ++-- .../ti/modules/titanium/ui/widget/TiUIText.java | 2 +- .../ui/widget/listview/ListItemProxy.java | 2 +- .../ui/widget/listview/ListViewHolder.java | 2 +- .../titanium/ui/widget/listview/TiListView.java | 2 +- .../ui/widget/tabgroup/TiUIAbstractTabGroup.java | 2 +- .../ui/widget/webview/TiWebChromeClient.java | 4 ++-- android/notes.md | 2 +- .../kroll/runtime/v8/JSDebugger.java | 2 +- .../runtime/v8/src/native/InspectorClient.cpp | 2 +- android/runtime/v8/src/native/JavaObject.h | 2 +- .../runtime/v8/src/native/modules/APIModule.cpp | 2 +- .../v8/src/native/modules/ScriptsModule.cpp | 4 ++-- android/templates/module/generated/build.gradle | 4 ++-- .../module/generated/generate-cpp-files.js | 2 +- android/titanium/bootstrap.lazymodule.js.ejs | 4 ++-- android/titanium/libv8-services.js | 4 ++-- .../java/org/appcelerator/kroll/KrollProxy.java | 2 +- .../appcelerator/titanium/TiBaseActivity.java | 4 ++-- .../org/appcelerator/titanium/TiBaseService.java | 2 +- .../java/org/appcelerator/titanium/TiBlob.java | 2 +- .../appcelerator/titanium/TiRootActivity.java | 8 ++++---- .../org/appcelerator/titanium/io/TiFile.java | 2 +- .../titanium/util/TiDeviceOrientation.java | 8 ++++---- .../titanium/util/TiDownloadManager.java | 2 +- .../titanium/util/TiFileHelper2.java | 2 +- .../titanium/util/TiResponseCache.java | 2 +- .../appcelerator/titanium/util/TiUIHelper.java | 2 +- .../titanium/view/TiCompositeLayout.java | 14 +++++++------- .../titanium/view/TiDrawableReference.java | 2 +- .../appcelerator/titanium/view/TiUIFragment.java | 2 +- .../java/ti/modules/titanium/TitaniumModule.java | 2 +- 56 files changed, 90 insertions(+), 90 deletions(-) diff --git a/android/cli/commands/_build.js b/android/cli/commands/_build.js index 052395b4446..e2b784efec0 100644 --- a/android/cli/commands/_build.js +++ b/android/cli/commands/_build.js @@ -410,7 +410,7 @@ AndroidBuilder.prototype.config = function config(logger, config, cli) { // if there are no devices/emulators, error if (!Object.keys(opts).length) { if (cli.argv.target === 'device') { - logger.warn(__('Unable to find any devices, possibily due to missing dependencies.') + '\n'); + logger.warn(__('Unable to find any devices, possibly due to missing dependencies.') + '\n'); logger.log(__('Continuing with build... (will attempt to install missing dependencies)') + '\n'); } else { logger.warn(__('Unable to find any emulators, possibily due to missing dependencies.') + '\n'); @@ -756,7 +756,7 @@ AndroidBuilder.prototype.config = function config(logger, config, cli) { return callback(new Error(msg)); } - // empty the alias array. it is important that we don't destory the original + // empty the alias array. it is important that we don't destroy the original // instance since it was passed by reference to the alias select list while (_t.keystoreAliases.length) { _t.keystoreAliases.pop(); @@ -1101,7 +1101,7 @@ AndroidBuilder.prototype.validate = function validate(logger, config, cli) { } // we need to translate the sdk to a real api level (i.e. L => 20, MNC => 22) so that - // we can valiate them + // we can validate them function getRealAPILevel(ver) { return (ver && targetSDKMap[ver] && targetSDKMap[ver].sdk) || ver; } @@ -1462,7 +1462,7 @@ AndroidBuilder.prototype.validate = function validate(logger, config, cli) { process.exit(1); } - // For CommonJS modules, verfiy we can find the main script to be loaded by require() method. + // For CommonJS modules, verify we can find the main script to be loaded by require() method. if (!module.native) { // Look for legacy ".js" script file first. let jsFilePath = path.join(module.modulePath, module.id + '.js'); @@ -1541,7 +1541,7 @@ AndroidBuilder.prototype.run = async function run(logger, config, cli, finished) // Notify plugins that we're about to begin. await new Promise(resolve => cli.emit('build.pre.construct', this, resolve)); - // Post build anlytics. + // Post build analytics. await this.doAnalytics(); // Initialize build system. Checks if we need to do a clean or incremental build. @@ -1956,7 +1956,7 @@ AndroidBuilder.prototype.checkIfShouldForceRebuild = function checkIfShouldForce } if (this.activitiesHash !== manifest.activitiesHash) { - this.logger.info(__('Forcing rebuild: Android activites in tiapp.xml changed since last build')); + this.logger.info(__('Forcing rebuild: Android activities in tiapp.xml changed since last build')); this.logger.info(' ' + __('Was: %s', manifest.activitiesHash)); this.logger.info(' ' + __('Now: %s', this.activitiesHash)); return true; @@ -2143,7 +2143,7 @@ AndroidBuilder.prototype.processLibraries = async function processLibraries() { } // Check if the module has a maven repository directory. - // If it does, then we can leverage gradle/maven's depency management system. + // If it does, then we can leverage gradle/maven's dependency management system. let dependencyString = null; const repositoryDirPath = path.join(nextModule.modulePath, 'm2repository'); if (await fs.exists(repositoryDirPath)) { @@ -2198,7 +2198,7 @@ AndroidBuilder.prototype.generateRootProjectFiles = async function generateRootP gradleProperties.push({ key: 'org.gradle.jvmargs', value: `-Xmx${this.javacMaxMemory}` }); await gradlew.writeGradlePropertiesFile(gradleProperties); - // Copy optional "gradle.properties" file contents from Titainum project to the above generated file. + // Copy optional "gradle.properties" file contents from Titanium project to the above generated file. // These properties must be copied to the end of the file so that they can override Titanium's default properties. const customGradlePropertiesFilePath = path.join(this.projectDir, 'platform', 'android', 'gradle.properties'); if (await fs.exists(customGradlePropertiesFilePath)) { diff --git a/android/cli/commands/_buildModule.js b/android/cli/commands/_buildModule.js index 71d41a8d499..30e6f003cf5 100644 --- a/android/cli/commands/_buildModule.js +++ b/android/cli/commands/_buildModule.js @@ -65,7 +65,7 @@ AndroidModuleBuilder.prototype.migrate = async function migrate() { isApiVersionUpdateRequired = (this.manifest.apiversion !== cliModuleAPIVersion); } - // Determin if the "manifest" file's "minsdk" needs updating. + // Determine if the "manifest" file's "minsdk" needs updating. // As of Titanium 9.0.0, modules are built as AARs to an "m2repository". Not supported on older Titanium versions. let isMinSdkUpdateRequired = false; const minSupportedSdkVersionMajorNumber = 9; @@ -860,7 +860,7 @@ AndroidModuleBuilder.prototype.runModule = async function (cli) { await fs.mkdirs(tmpDir); // Generate a new Titanium app in the temp directory which we'll later copy the "example" files to. - // Note: App must have a diffentent id/package-name. Avoids class name collision with module generating Java code. + // Note: App must have a different id/package-name. Avoids class name collision with module generating Java code. this.logger.debug(__('Staging module project at %s', tmpDir.cyan)); await runTiCommand( process.execPath, diff --git a/android/cli/hooks/run.js b/android/cli/hooks/run.js index af2a72d81ec..b8b2e07ef06 100644 --- a/android/cli/hooks/run.js +++ b/android/cli/hooks/run.js @@ -262,7 +262,7 @@ exports.init = function (logger, config, cli) { line = line.replace(/^\w\/(\w+)\s*:/g, '$1:').grey; } line = deviceName + line; - // if it begins with something like "E/SQLiteLog( 1659):" it's not a contination, don't log it. + // if it begins with something like "E/SQLiteLog( 1659):" it's not a continuation, don't log it. } else if (nonTiLogRegexp.test(line)) { return; } diff --git a/android/cli/lib/android-manifest.js b/android/cli/lib/android-manifest.js index 888e7ee7dd9..fec4761eca7 100644 --- a/android/cli/lib/android-manifest.js +++ b/android/cli/lib/android-manifest.js @@ -711,7 +711,7 @@ function isElementNode(node) { * @param {Object} node The XML node object to check. Can be null/undefined. * @returns {Boolean} * Returns true if given node is text between XLM elements or attributes. - * Returns false if not or given an invalild argument. + * Returns false if not or given an invalid argument. * @private */ function isTextNode(node) { diff --git a/android/cli/lib/gradle-wrapper.js b/android/cli/lib/gradle-wrapper.js index 8668a2a1393..0cc8e60a064 100644 --- a/android/cli/lib/gradle-wrapper.js +++ b/android/cli/lib/gradle-wrapper.js @@ -174,7 +174,7 @@ class GradleWrapper { } // Function which returns a stdout/stderr "data" reading function object and outputs it to given "logFunction". - // The "logFunction" argument is expected to be a "logger" object that conatins "logger.info" or "logger.error". + // The "logFunction" argument is expected to be a "logger" object that contains "logger.info" or "logger.error". // The "logType" is a string "error" or "info" to call the correct logger function const createReadableDataHandlerUsing = (logFunction, logType) => { let stringBuffer = ''; diff --git a/android/cli/locales/en.js b/android/cli/locales/en.js index a6bcb0a91f6..5537438a580 100644 --- a/android/cli/locales/en.js +++ b/android/cli/locales/en.js @@ -208,7 +208,7 @@ "Forcing rebuild: Android minimum SDK changed since last build": "Forcing rebuild: Android minimum SDK changed since last build", "Forcing rebuild: Android target SDK changed since last build": "Forcing rebuild: Android target SDK changed since last build", "Forcing rebuild: tiapp.xml properties changed since last build": "Forcing rebuild: tiapp.xml properties changed since last build", - "Forcing rebuild: Android activites in tiapp.xml changed since last build": "Forcing rebuild: Android activites in tiapp.xml changed since last build", + "Forcing rebuild: Android activities in tiapp.xml changed since last build": "Forcing rebuild: Android activites in tiapp.xml changed since last build", "Forcing rebuild: Android services in tiapp.xml SDK changed since last build": "Forcing rebuild: Android services in tiapp.xml SDK changed since last build", "Forcing rebuild: One or more JSS files changed since last build": "Forcing rebuild: One or more JSS files changed since last build", "Forcing rebuild: mergeCustomAndroidManifest config has changed since last build": "Forcing rebuild: mergeCustomAndroidManifest config has changed since last build", diff --git a/android/debugger.md b/android/debugger.md index 44f2d81bc3a..4cb90a59e99 100644 --- a/android/debugger.md +++ b/android/debugger.md @@ -52,7 +52,7 @@ That simply places the message in a queue. One of the two threads spun up after ### Handling messages coming from the Debugger -The second thread spun up after a connection is made simply reads lines from the debugger's stream and does very basic parsing of the message. Once the headers are stripped, we grab the JSON body and call down into C++ to do a V8::Debug::SendCommand to give the command to V8. +The second thread spun up after a connection is made simply reads lines from the debuggers stream and does very basic parsing of the message. Once the headers are stripped, we grab the JSON body and call down into C++ to do a V8::Debug::SendCommand to give the command to V8. The next step is to call V8::Debug::ProcessDebugMessages(). We do so indirectly by using a Handler.post(Runnable) to ensure this gets called on the main thread. diff --git a/android/kroll-apt/src/main/java/org/appcelerator/kroll/annotations/generator/KrollJSONGenerator.java b/android/kroll-apt/src/main/java/org/appcelerator/kroll/annotations/generator/KrollJSONGenerator.java index 58a6ad271cc..e97abe907c0 100644 --- a/android/kroll-apt/src/main/java/org/appcelerator/kroll/annotations/generator/KrollJSONGenerator.java +++ b/android/kroll-apt/src/main/java/org/appcelerator/kroll/annotations/generator/KrollJSONGenerator.java @@ -210,7 +210,7 @@ protected void initialize() } properties = (Map) JSONValue.parseWithException(new FileReader(jsonPath)); - debug("Succesfully loaded existing binding data: " + jsonPath); + debug("Successfully loaded existing binding data: " + jsonPath); } catch (Exception e) { // file doesn't exist, we'll just create it later debug("No binding data found, creating new data file: %s/%s", this.jarJsonPackageName, diff --git a/android/modules/android/src/java/ti/modules/titanium/android/AndroidModule.java b/android/modules/android/src/java/ti/modules/titanium/android/AndroidModule.java index ff99dade02d..947cc59cde4 100644 --- a/android/modules/android/src/java/ti/modules/titanium/android/AndroidModule.java +++ b/android/modules/android/src/java/ti/modules/titanium/android/AndroidModule.java @@ -561,7 +561,7 @@ public void onDisposing(KrollRuntime runtime) // Remove this listener from the runtime's static collection. KrollRuntime.removeOnDisposingListener(this); - // Unregister all currently registerd broadcast receviers. + // Unregister all currently registered broadcast receivers. // They can no longer be handled by the terminating JavaScript runtime. while (registeredBroadcastReceiverProxyList.isEmpty() == false) { unregisterBroadcastReceiver(registeredBroadcastReceiverProxyList.pollFirst()); diff --git a/android/modules/database/src/java/ti/modules/titanium/database/DatabaseModule.java b/android/modules/database/src/java/ti/modules/titanium/database/DatabaseModule.java index 43a984a20ed..434ea620543 100644 --- a/android/modules/database/src/java/ti/modules/titanium/database/DatabaseModule.java +++ b/android/modules/database/src/java/ti/modules/titanium/database/DatabaseModule.java @@ -73,7 +73,7 @@ public TiDatabaseProxy open(Object file) throw new IllegalArgumentException("Ti.Database.open() was given invalid URL: " + fileString); } } else { - // Assume we were given a databas file name only. (This is the most common case.) + // Assume we were given a database file name only. (This is the most common case.) dbName = fileString; } } else if (file != null) { diff --git a/android/modules/geolocation/src/java/ti/modules/titanium/geolocation/GeolocationModule.java b/android/modules/geolocation/src/java/ti/modules/titanium/geolocation/GeolocationModule.java index caaf7f4473e..b43d22f214e 100644 --- a/android/modules/geolocation/src/java/ti/modules/titanium/geolocation/GeolocationModule.java +++ b/android/modules/geolocation/src/java/ti/modules/titanium/geolocation/GeolocationModule.java @@ -392,7 +392,7 @@ protected void eventListenerAdded(String event, int count, KrollProxy proxy) // FIXME: Why can't we just track some boolean flag for this? if (currentPositionCallback.size() == 0) { HashMap locationProviders = simpleLocationProviders; - // FIXME: why does this differ from how we enable in getCurrentPostion()? + // FIXME: why does this differ from how we enable in getCurrentPosition()? if (getManualMode()) { locationProviders = androidModule.manualLocationProviders; } diff --git a/android/modules/geolocation/src/java/ti/modules/titanium/geolocation/android/LocationProviderProxy.java b/android/modules/geolocation/src/java/ti/modules/titanium/geolocation/android/LocationProviderProxy.java index 10f27aa0371..6dab8970620 100644 --- a/android/modules/geolocation/src/java/ti/modules/titanium/geolocation/android/LocationProviderProxy.java +++ b/android/modules/geolocation/src/java/ti/modules/titanium/geolocation/android/LocationProviderProxy.java @@ -181,7 +181,7 @@ public String getName() if (property == null) { Log.e(TAG, "No name found for location provider"); - return ""; // this shouldnt be possible + return ""; // this shouldn't be possible } return (String) property; diff --git a/android/modules/gesture/src/java/ti/modules/titanium/gesture/TiDeviceOrientationMonitor.java b/android/modules/gesture/src/java/ti/modules/titanium/gesture/TiDeviceOrientationMonitor.java index f67ce2f0989..aaabed786a4 100644 --- a/android/modules/gesture/src/java/ti/modules/titanium/gesture/TiDeviceOrientationMonitor.java +++ b/android/modules/gesture/src/java/ti/modules/titanium/gesture/TiDeviceOrientationMonitor.java @@ -82,7 +82,7 @@ public TiDeviceOrientationMonitor(Handler handler) if (value instanceof SensorManager) { this.sensorManager = (SensorManager) value; } else { - Log.w(TAG, "Unable to aquire SensorManager."); + Log.w(TAG, "Unable to acquire SensorManager."); } // Create an event handler for the Android "OrientationEventListener". @@ -370,7 +370,7 @@ public void onSensorChanged(SensorEvent event) break; } - // Do not continue if the device rotation matrix has not been udpated above. + // Do not continue if the device rotation matrix has not been updated above. if (!wasRotationMatrixUpdated) { return; } diff --git a/android/modules/locale/src/java/ti/modules/titanium/locale/CollatorProxy.java b/android/modules/locale/src/java/ti/modules/titanium/locale/CollatorProxy.java index df41a8005dc..009a389bdc3 100644 --- a/android/modules/locale/src/java/ti/modules/titanium/locale/CollatorProxy.java +++ b/android/modules/locale/src/java/ti/modules/titanium/locale/CollatorProxy.java @@ -55,7 +55,7 @@ public void handleCreationDict(KrollDict properties) options = new KrollDict(); } - // Determine the collatior setting we need to use. + // Determine the collator setting we need to use. int strengthId; int decompositionId = Collator.CANONICAL_DECOMPOSITION; this.isStrippingAccents = false; diff --git a/android/modules/locale/src/java/ti/modules/titanium/locale/DateTimeFormatProxy.java b/android/modules/locale/src/java/ti/modules/titanium/locale/DateTimeFormatProxy.java index b60eff0d305..720e03220ae 100644 --- a/android/modules/locale/src/java/ti/modules/titanium/locale/DateTimeFormatProxy.java +++ b/android/modules/locale/src/java/ti/modules/titanium/locale/DateTimeFormatProxy.java @@ -121,7 +121,7 @@ public void handleCreationDict(KrollDict properties) String dateStyleStringId = TiConvert.toString(options.get("dateStyle")); String timeStyleStringId = TiConvert.toString(options.get("timeStyle")); - // Determine if at least 1 "date" componoent has been configured. + // Determine if at least 1 "date" component has been configured. boolean hasCustomDateSettings = (weekdayFormatId != null) || (eraFormatId != null) @@ -129,7 +129,7 @@ public void handleCreationDict(KrollDict properties) || (monthFormatId != null) || (dayFormatId != null); - // Determine if at least 1 "time" componoent has been configured. + // Determine if at least 1 "time" component has been configured. boolean hasCustomTimeSettings = (hourFormatId != null) || (minuteFormatId != null) @@ -315,7 +315,7 @@ public KrollDict[] formatToParts(Date value) index = endIndex; } - // Add the substring part enttry to the collection. + // Add the substring part entry to the collection. KrollDict entry = new KrollDict(); entry.put(TiC.PROPERTY_TYPE, typeName); entry.put(TiC.PROPERTY_VALUE, substring); diff --git a/android/modules/media/src/java/ti/modules/titanium/media/AudioPlayerProxy.java b/android/modules/media/src/java/ti/modules/titanium/media/AudioPlayerProxy.java index 0fedb405717..58bc45f48a9 100644 --- a/android/modules/media/src/java/ti/modules/titanium/media/AudioPlayerProxy.java +++ b/android/modules/media/src/java/ti/modules/titanium/media/AudioPlayerProxy.java @@ -64,7 +64,7 @@ public AudioPlayerProxy() { super(); - // TODO - we shouldnt need this as this proxy is created only from the runtime - double check + // TODO - we shouldn't need this as this proxy is created only from the runtime - double check // TODO this needs to happen post-set //((TiBaseActivity)getActivity()).addOnLifecycleEventListener(this); diff --git a/android/modules/media/src/java/ti/modules/titanium/media/VideoPlayerProxy.java b/android/modules/media/src/java/ti/modules/titanium/media/VideoPlayerProxy.java index 7e3c54c74bc..f7fd67028c4 100644 --- a/android/modules/media/src/java/ti/modules/titanium/media/VideoPlayerProxy.java +++ b/android/modules/media/src/java/ti/modules/titanium/media/VideoPlayerProxy.java @@ -761,7 +761,7 @@ public void onDestroy(Activity activity) fireComplete(MediaModule.VIDEO_FINISH_REASON_USER_EXITED); } - // Cancel any Thumbnail requests and releasing TiMediaMetadataRetriver resource + // Cancel any Thumbnail requests and releasing TiMediaMetadataRetriever resource cancelAllThumbnailImageRequests(); } @@ -793,7 +793,7 @@ public void cancelAllThumbnailImageRequests() /** * Convenience method for creating a response handler that is used when getting a - * bitmmap. + * bitmap. * * @param callback Javascript function that the response handler will invoke * once the bitmap response is ready diff --git a/android/modules/network/src/java/ti/modules/titanium/network/socket/TCPProxy.java b/android/modules/network/src/java/ti/modules/titanium/network/socket/TCPProxy.java index ef500b4b799..0037dc40031 100644 --- a/android/modules/network/src/java/ti/modules/titanium/network/socket/TCPProxy.java +++ b/android/modules/network/src/java/ti/modules/titanium/network/socket/TCPProxy.java @@ -449,7 +449,7 @@ public void close() throws IOException } catch (Exception e) { e.printStackTrace(); - throw new IOException("Error occured when closing socket"); + throw new IOException("Error occurred when closing socket"); } } diff --git a/android/modules/platform/src/java/ti/modules/titanium/platform/PlatformModule.java b/android/modules/platform/src/java/ti/modules/titanium/platform/PlatformModule.java index da68156e563..b83a70af2b1 100644 --- a/android/modules/platform/src/java/ti/modules/titanium/platform/PlatformModule.java +++ b/android/modules/platform/src/java/ti/modules/titanium/platform/PlatformModule.java @@ -259,7 +259,7 @@ public boolean openURL(KrollInvocation invocation, String url, @Kroll.argument(optional = true) Object arg2, @Kroll.argument(optional = true) Object arg3) { // If given an optional callback, then call this method recursively without the callback. - // Note: We might also receieve an optional KrollDict argument. This is iOS only and should be ignored. + // Note: We might also receive an optional KrollDict argument. This is iOS only and should be ignored. KrollFunction callback = null; if (arg2 instanceof KrollFunction) { callback = (KrollFunction) arg2; @@ -471,7 +471,7 @@ private synchronized List getProcessors() // TODO Sort processors by index, fill in model name by preceding if unknown } catch (IOException ex) { - // somethign went wrong, create "default" set of processors? + // something went wrong, create "default" set of processors? this.processors = new ArrayList<>(processorCount); for (int i = 0; i < processorCount; i++) { this.processors.add(Processor.unknown(i)); diff --git a/android/modules/ui/src/java/ti/modules/titanium/ui/TableViewRowProxy.java b/android/modules/ui/src/java/ti/modules/titanium/ui/TableViewRowProxy.java index bda1ac7ac0f..04781c1de63 100644 --- a/android/modules/ui/src/java/ti/modules/titanium/ui/TableViewRowProxy.java +++ b/android/modules/ui/src/java/ti/modules/titanium/ui/TableViewRowProxy.java @@ -234,7 +234,7 @@ public void setHolder(TableViewHolder holder) /** * Override getRect() to amend dimensions. * - * @return Dictinary of view dimensions. + * @return Dictionary of view dimensions. */ @Override public KrollDict getRect() diff --git a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiSwipeRefreshLayout.java b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiSwipeRefreshLayout.java index c525cf4478b..4459cc9e422 100644 --- a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiSwipeRefreshLayout.java +++ b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiSwipeRefreshLayout.java @@ -93,8 +93,8 @@ public void setSwipeRefreshEnabled(boolean value) * Updates this view's width and height based on the given width and height constraints. *

* Given arguments size and size mode can be extracted by the Android "View.MeasureSpec" class. - * @param widthMeasureSpec Provides the parent's width contraints and size mode. - * @param heightMeasureSpec Provides the parent's height contraints and size mode. + * @param widthMeasureSpec Provides the parent's width constraints and size mode. + * @param heightMeasureSpec Provides the parent's height constraints and size mode. */ @Override public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) diff --git a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiUIEditText.java b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiUIEditText.java index 5757f2cabb4..d17f7fe63cb 100644 --- a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiUIEditText.java +++ b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiUIEditText.java @@ -443,7 +443,7 @@ public boolean onTouchEvent(MotionEvent event) // Request the parent to scroll if one of the following is true: // - EditText is not scrollable. (ie: All text fits within the box.) - // - EditText is scrollabe, but cannot scroll any further in given direction. + // - EditText is scrollable, but cannot scroll any further in given direction. if (!isScrollEnabled || !canScrollFurther) { wasHandled = dispatchNestedPreScroll(deltaX, deltaY, null, null); wasHandled |= dispatchNestedScroll(0, 0, deltaX, deltaY, null); diff --git a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiUILabel.java b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiUILabel.java index bc765e17d17..3198fdbea7a 100644 --- a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiUILabel.java +++ b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiUILabel.java @@ -247,7 +247,7 @@ private void adjustTextFontSize(@NonNull MaterialTextView textView) { int value = textView.getWidth(); { - // Exlude the view's padding and borders. + // Exclude the view's padding and borders. value -= textView.getTotalPaddingLeft() + textView.getTotalPaddingRight(); } if ((this.layoutParams != null) && (this.layoutParams.optionWidth != null) diff --git a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiUIMaskedImage.java b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiUIMaskedImage.java index 6621170cdbe..96815bd63f0 100644 --- a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiUIMaskedImage.java +++ b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiUIMaskedImage.java @@ -125,7 +125,7 @@ public void processProperties(KrollDict properties) } /** - * Called when one of the proxy's properies have changed. + * Called when one of the proxy's properties have changed. *

* Expected to be called on the main UI thread. * @param key The unique name of the property. @@ -1295,7 +1295,7 @@ public boolean drawTo(Canvas canvas) Drawable imageDrawable = getMaskedDrawable().getImageDrawable(); Bitmap imageBitmap = getBitmapFrom(imageDrawable); if (imageBitmap != null) { - // Draw the image drawable's bitmap ourselves with given blend mode. (Most optmized.) + // Draw the image drawable's bitmap ourselves with given blend mode. (Most optimized.) bufferedCanvas.drawBitmap(imageBitmap, null, targetBounds, bufferedPaint); } else if (imageDrawable != null) { // Draw the image via its drawable with given blend mode. (Least optimized.) diff --git a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiUIScrollView.java b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiUIScrollView.java index 7dc36c1d96d..4dded6d0761 100644 --- a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiUIScrollView.java +++ b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiUIScrollView.java @@ -114,7 +114,7 @@ public void setParentContentWidth(int width) /** * Gets the value set via the setParentContentWidth() method. - * Note that this value is not assignd automatically. The owner must assign it. + * Note that this value is not assigned automatically. The owner must assign it. * @return Returns the parent view's width, excluding its left/right padding. */ public int getParentContentWidth() @@ -136,7 +136,7 @@ public void setParentContentHeight(int height) /** * Gets the value set via the setParentContentHeight() method. - * Note that this value is not assignd automatically. The owner must assign it. + * Note that this value is not assigned automatically. The owner must assign it. * @return Returns the parent view's height, excluding its top/bottom padding. */ public int getParentContentHeight() diff --git a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiUIText.java b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiUIText.java index ada2e209be7..b5cc0adbc88 100644 --- a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiUIText.java +++ b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiUIText.java @@ -781,7 +781,7 @@ public void handleKeyboard(KrollDict d) } // Update fullscreen edit handling. - // We might have to diable it due to Google bugs with password handling of certain input types. + // We might have to disable it due to Google bugs with password handling of certain input types. handleFullscreen(d); // Force keyboard to use English if enabled. (Not all keyboards honor this setting.) diff --git a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/listview/ListItemProxy.java b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/listview/ListItemProxy.java index 491454559a6..4de91d69ff7 100644 --- a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/listview/ListItemProxy.java +++ b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/listview/ListItemProxy.java @@ -580,7 +580,7 @@ public ListViewProxy getListViewProxy() /** * Override getRect() to amend dimensions. * - * @return Dictinary of view dimensions. + * @return Dictionary of view dimensions. */ @Override public KrollDict getRect() diff --git a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/listview/ListViewHolder.java b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/listview/ListViewHolder.java index d242d6b18ec..6b7defa8ae1 100644 --- a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/listview/ListViewHolder.java +++ b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/listview/ListViewHolder.java @@ -311,7 +311,7 @@ private void reset() * Set header and footer views of holder. * * @param listViewProxy ListView proxy. - * @param properties Properties containing header and footer entires. + * @param properties Properties containing header and footer entries. * @param updateHeader Boolean to determine if the header should be updated. * @param updateFooter Boolean to determine if the footer should be updated. */ diff --git a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/listview/TiListView.java b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/listview/TiListView.java index ea910787c9c..6d43dab93dc 100644 --- a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/listview/TiListView.java +++ b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/listview/TiListView.java @@ -632,7 +632,7 @@ public void setSeparator(int color, int height) } /** - * Starts dragging programatically. + * Starts dragging programmatically. * * @param vHolder The dedicated view holder */ diff --git a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/tabgroup/TiUIAbstractTabGroup.java b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/tabgroup/TiUIAbstractTabGroup.java index 67317c878cd..67957c1309b 100644 --- a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/tabgroup/TiUIAbstractTabGroup.java +++ b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/tabgroup/TiUIAbstractTabGroup.java @@ -357,7 +357,7 @@ protected boolean hasCustomBackground(TiViewProxy tabProxy) } /** - * Method for creating a RippleDrawable to be used as a bacgkround for an item in the Controller. + * Method for creating a RippleDrawable to be used as a background for an item in the Controller. * Creates the RippleDrawable for two states - the provided state and its negative value. * If the properties are not set the method falls back to the colorPrimary of the current theme. * The previous implementation of TabGroup added the ripple effect by default for tabs, thus this diff --git a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/webview/TiWebChromeClient.java b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/webview/TiWebChromeClient.java index fceba8a9414..9dc644f4e28 100644 --- a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/webview/TiWebChromeClient.java +++ b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/webview/TiWebChromeClient.java @@ -135,7 +135,7 @@ public void onRequestPermissionsResult( /** * Called when the HTML is requesting permission to do WebRTC audio/video capture or access a media resource. * This method will prompt the end-user for permission to grant access to the requested web resource. - * @param request Object providing the grant/deny callback and the resoruces being requested. + * @param request Object providing the grant/deny callback and the resources being requested. */ @Override public void onPermissionRequest(final PermissionRequest request) @@ -539,7 +539,7 @@ public void onError(Activity activity, int requestCode, Exception ex) } }; - // Display the file chooser or catpure activity. + // Display the file chooser or capture activity. try { Intent intent = createFileChooserIntentFrom(chooserParams); activity.launchActivityForResult(intent, activity.getUniqueResultCode(), resultHandler); diff --git a/android/notes.md b/android/notes.md index a7140dc4a46..af6e08f5d2e 100644 --- a/android/notes.md +++ b/android/notes.md @@ -19,7 +19,7 @@ TODOs!!! Testing V8-inspector/debugger ======== The goal is to be able to debug apps via Chrome Devtools or Studio. -We hook up a websocket server in JSDebugger.java to talk to DevTools. This carries the messages back and forth (basically wbesaockets are the "base" protocol that the isnpector protocol travels over) +We hook up a websocket server in JSDebugger.java to talk to DevTools. This carries the messages back and forth (basically websockets are the "base" protocol that the inspector protocol travels over) - Use multiple terminal tabs/windows: - One for running a test app to debug with: diff --git a/android/runtime/v8/src/java/org/appcelerator/kroll/runtime/v8/JSDebugger.java b/android/runtime/v8/src/java/org/appcelerator/kroll/runtime/v8/JSDebugger.java index ffa9995a277..7bcce6ab960 100644 --- a/android/runtime/v8/src/java/org/appcelerator/kroll/runtime/v8/JSDebugger.java +++ b/android/runtime/v8/src/java/org/appcelerator/kroll/runtime/v8/JSDebugger.java @@ -205,7 +205,7 @@ public void onMessage(WebSocket conn, String message) { inspectorMessages.offer(message); // put message into queue - // if we haven't initialied yet, sniff the incoming messages + // if we haven't initialized yet, sniff the incoming messages if (!JSDebugger.this.ready.get()) { // copy any waiting messages into our initial queue String nextMessage = inspectorMessages.poll(); diff --git a/android/runtime/v8/src/native/InspectorClient.cpp b/android/runtime/v8/src/native/InspectorClient.cpp index 0f39ee89432..ef3cc91fa9d 100644 --- a/android/runtime/v8/src/native/InspectorClient.cpp +++ b/android/runtime/v8/src/native/InspectorClient.cpp @@ -112,7 +112,7 @@ void InspectorClient::CallAndPauseOnStart(const v8::FunctionCallbackInfoIsString()); assert(args[1]->IsString()); - // Note that this differs from Node's implementation wher ethey expect the first arg to be a pre-compiled function + // Note that this differs from Node's implementation where they expect the first arg to be a pre-compiled function // And a variable number of additional arguments to pass to that function. // They wrap the source with a function just like Module.wrap for standard code // Then compile the function and pass it into this method to schedule a pause and then invoke it. diff --git a/android/runtime/v8/src/native/JavaObject.h b/android/runtime/v8/src/native/JavaObject.h index 36b815eec6e..0c7349eeb34 100644 --- a/android/runtime/v8/src/native/JavaObject.h +++ b/android/runtime/v8/src/native/JavaObject.h @@ -15,7 +15,7 @@ namespace titanium { // Provides an interface between a JavaScript object // and a Java object instance. This class is also responsible -// for mangaging the lifetime of the Java object reference +// for managing the lifetime of the Java object reference // so that it is properly collected once becoming unreachable // from the JavaScript code. class JavaObject : public EventEmitter diff --git a/android/runtime/v8/src/native/modules/APIModule.cpp b/android/runtime/v8/src/native/modules/APIModule.cpp index 669be7264ca..a2628327880 100644 --- a/android/runtime/v8/src/native/modules/APIModule.cpp +++ b/android/runtime/v8/src/native/modules/APIModule.cpp @@ -48,7 +48,7 @@ void APIModule::Initialize(Local target, Local context) // Hook methods to the API prototype, notice these aren't hooked to API // itself, instead we return a singleton of an API instance and export it // as Ti.API - // Not sure why we then hook apiName as instance proprty, since + // Not sure why we then hook apiName as instance property, since // the difference is made moot by the singleton! SetProtoMethod(isolate, constructor, "debug", logDebug); SetProtoMethod(isolate, constructor, "info", logInfo); diff --git a/android/runtime/v8/src/native/modules/ScriptsModule.cpp b/android/runtime/v8/src/native/modules/ScriptsModule.cpp index 3b9a50375b8..40092181e64 100644 --- a/android/runtime/v8/src/native/modules/ScriptsModule.cpp +++ b/android/runtime/v8/src/native/modules/ScriptsModule.cpp @@ -253,7 +253,7 @@ void WrappedScript::EvalMachine(const FunctionCallbackInfo& args) // Use the passed in context MaybeLocal contextArg = args[sandbox_index]->ToObject(currentContext); if (contextArg.IsEmpty()) { - // FIXME Will this ever happen? This is not likley and probably the wrong way to handle this. We should at least log it... + // FIXME Will this ever happen? This is not likely and probably the wrong way to handle this. We should at least log it... context.Reset(isolate, Context::New(isolate)); } else { nContext = WrappedContext::Unwrap(isolate, contextArg.ToLocalChecked()); @@ -261,7 +261,7 @@ void WrappedScript::EvalMachine(const FunctionCallbackInfo& args) } } - // Explicitly set up var to track context we shoudl use for compile/run of script. + // Explicitly set up var to track context we should use for compile/run of script. // When "thisContext", use teh current context from the isolate. Otherwise use the context we set in the Persistent above Local contextToUse = (context_flag == thisContext) ? currentContext : context.Get(isolate); diff --git a/android/templates/module/generated/build.gradle b/android/templates/module/generated/build.gradle index f28a5aee09c..50de55cf776 100644 --- a/android/templates/module/generated/build.gradle +++ b/android/templates/module/generated/build.gradle @@ -168,7 +168,7 @@ tasks.withType(JavaCompile) { // Execute our "generate-cpp-files.js" script after Java compile to finish generating C++ files. // Depends on the JSON file produced by our "kroll-apt" Java annotation processor. - // TODO: Our annnotation processor should do ALL of the proxy code generation. Don't piece-meal it. + // TODO: Our annotation processor should do ALL of the proxy code generation. Don't piece-meal it. doLast { exec { environment 'TI_MODULE_BINDINGS_JSON_FILE', tiModuleBindingsJsonPath @@ -246,7 +246,7 @@ publishing { } } -// Load the module developer's optional "build.gradle" file from "/android" directory. +// Load the module developer's optional "build.gradle" file from "/android" directory. // This gradle file is expected to provide the module's "dependencies". def moduleBuildGradlePath = "${projectDir}/../../build.gradle" if (file(moduleBuildGradlePath).exists()) { diff --git a/android/templates/module/generated/generate-cpp-files.js b/android/templates/module/generated/generate-cpp-files.js index 2b64acd8aa6..a383a506681 100644 --- a/android/templates/module/generated/generate-cpp-files.js +++ b/android/templates/module/generated/generate-cpp-files.js @@ -60,7 +60,7 @@ function replacePlaceholders(text, placeholders) { /** Generates C++ source files for the module. */ async function main() { - // Load module's JSON file containing all proxy bindings generated by "kroll-apt" Java annotatation processor. + // Load module's JSON file containing all proxy bindings generated by "kroll-apt" Java annotation processor. const bindingJsonPath = process.env.TI_MODULE_BINDINGS_JSON_FILE; const bindingJson = JSON.parse(fs.readFileSync(bindingJsonPath)); const moduleClassName = Object.keys(bindingJson.modules)[0]; diff --git a/android/titanium/bootstrap.lazymodule.js.ejs b/android/titanium/bootstrap.lazymodule.js.ejs index 833adce2d8c..eafa53fbe17 100644 --- a/android/titanium/bootstrap.lazymodule.js.ejs +++ b/android/titanium/bootstrap.lazymodule.js.ejs @@ -4,7 +4,7 @@ if (!('__propertiesDefined__' in <%- name %>)) { if (mod.children) { for (const child of mod.children) { let fullAPIName = child.proxyAttrs.fullAPIName; - // Drop leading 'Tiatnium' if in full aAPI name + // Drop leading 'Titanium' if in full aAPI name if (fullAPIName.startsWith('Titanium.')) { fullAPIName = fullAPIName.slice(9); } @@ -42,4 +42,4 @@ _%> _%> } <%- name %>.__propertiesDefined__ = true; -return <%- name %>; \ No newline at end of file +return <%- name %>; diff --git a/android/titanium/libv8-services.js b/android/titanium/libv8-services.js index d3e8100e0fe..cd737d24ad3 100644 --- a/android/titanium/libv8-services.js +++ b/android/titanium/libv8-services.js @@ -222,7 +222,7 @@ async function createSnapshot() { process.exit(1); } - // Generaet an empty C++ header. Allows build to succeed and app will load "ti.main.js" normally instead. + // Generate an empty C++ header. Allows build to succeed and app will load "ti.main.js" normally instead. await fs.writeFile(v8SnapshotHeaderFilePath, '// Failed to generate V8 snapshots. See build log.'); } } @@ -277,7 +277,7 @@ function createSnapshotThenExit() { /** * Checks if the V8 library referenced by the "titanium_mobile/android/package.json" file is installed. - * If not, then this function will automatically download/install it. Function will do nothing if alredy installed. + * If not, then this function will automatically download/install it. Function will do nothing if already installed. * * Will exit the process when the async operation ends. Intended to be called from the command line. */ diff --git a/android/titanium/src/java/org/appcelerator/kroll/KrollProxy.java b/android/titanium/src/java/org/appcelerator/kroll/KrollProxy.java index 9b430472bf2..110371b523b 100644 --- a/android/titanium/src/java/org/appcelerator/kroll/KrollProxy.java +++ b/android/titanium/src/java/org/appcelerator/kroll/KrollProxy.java @@ -513,7 +513,7 @@ public void extend(KrollDict options) Object oldValue = properties.get(name); Object value = options.get(name); - // dont just fire the change event, make sure we set the property back on the KrollObject + // don't just fire the change event, make sure we set the property back on the KrollObject // since the property change may not be driven from JS (KrollObject->Java proxy) setProperty(name, value); diff --git a/android/titanium/src/java/org/appcelerator/titanium/TiBaseActivity.java b/android/titanium/src/java/org/appcelerator/titanium/TiBaseActivity.java index e7365e4b7e8..8421b066570 100644 --- a/android/titanium/src/java/org/appcelerator/titanium/TiBaseActivity.java +++ b/android/titanium/src/java/org/appcelerator/titanium/TiBaseActivity.java @@ -345,7 +345,7 @@ protected void updateTitle() String oldTitle = (String) getTitle(); String newTitle = TiConvert.toString(window.getProperty(TiC.PROPERTY_TITLE)); int colorInt = -1; - + if (oldTitle == null) { oldTitle = ""; } @@ -1602,7 +1602,7 @@ protected void onDestroy() // "isFinishing" will return true if the Android OS won't restore this destroyed activity later. // This happens when finish() method is called of end-user back navigates out of the activity. - // Note: Will breturn false if system intends to restore the activity later, which happens if + // Note: Will return false if system intends to restore the activity later, which happens if // system setting "Don't keep activities" is enabled or "Background process limit" was exceeded. boolean isFinishing = isFinishing(); diff --git a/android/titanium/src/java/org/appcelerator/titanium/TiBaseService.java b/android/titanium/src/java/org/appcelerator/titanium/TiBaseService.java index 4a816200c28..644e14bd3cc 100644 --- a/android/titanium/src/java/org/appcelerator/titanium/TiBaseService.java +++ b/android/titanium/src/java/org/appcelerator/titanium/TiBaseService.java @@ -150,7 +150,7 @@ public void unsubscribe() /** * Called just before the JavaScript runtime is terminated. *

- * Stops the service since the JavaScript file binded to it can no longer control it. + * Stops the service since the JavaScript file bound to it can no longer control it. * @param runtime The runtime instance that is about to be terminated/disposed. */ @Override diff --git a/android/titanium/src/java/org/appcelerator/titanium/TiBlob.java b/android/titanium/src/java/org/appcelerator/titanium/TiBlob.java index 1a9b397ec6e..aa8c61cbf36 100644 --- a/android/titanium/src/java/org/appcelerator/titanium/TiBlob.java +++ b/android/titanium/src/java/org/appcelerator/titanium/TiBlob.java @@ -91,7 +91,7 @@ public static TiBlob blobFromString(String data) /** * Creates a blob from a file and sets a mimeType based on the file name. * @param file the file used to create blob. - * @return new instane of TiBlob. + * @return new instance of TiBlob. */ public static TiBlob blobFromFile(TiBaseFile file) { diff --git a/android/titanium/src/java/org/appcelerator/titanium/TiRootActivity.java b/android/titanium/src/java/org/appcelerator/titanium/TiRootActivity.java index f99301788e2..7603287301b 100644 --- a/android/titanium/src/java/org/appcelerator/titanium/TiRootActivity.java +++ b/android/titanium/src/java/org/appcelerator/titanium/TiRootActivity.java @@ -186,7 +186,7 @@ protected void onCreate(Bundle savedInstanceState) // Recreate this activity on the current task. if (isActivityForResult) { - // This activtiy was created via startActivityForResult(). + // This activity was created via startActivityForResult(). // "Forward" the result handling to the next activity we're about to start-up. Intent relaunchIntent = newIntent; if (relaunchIntent == null) { @@ -304,9 +304,9 @@ public void onDisposing(KrollRuntime runtime) } }); if (KrollRuntime.getActivityRefCount() > 0) { - Activity currentActvitiy = getTiApp().getCurrentActivity(); - if (currentActvitiy != null) { - currentActvitiy.finishAffinity(); + Activity currentActivity = getTiApp().getCurrentActivity(); + if (currentActivity != null) { + currentActivity.finishAffinity(); } TiApplication.terminateActivityStack(); } else { diff --git a/android/titanium/src/java/org/appcelerator/titanium/io/TiFile.java b/android/titanium/src/java/org/appcelerator/titanium/io/TiFile.java index ec3d736226f..bcd12aca1b3 100644 --- a/android/titanium/src/java/org/appcelerator/titanium/io/TiFile.java +++ b/android/titanium/src/java/org/appcelerator/titanium/io/TiFile.java @@ -100,7 +100,7 @@ public boolean isWriteable() /** * Attempts to create a directory named by the trailing filename of this file. * @param recursive whether to recursively create any missing parent directories in the path. - * @return true if directory was sucessfully created, false otherwise. + * @return true if directory was successfully created, false otherwise. */ @Override public boolean createDirectory(boolean recursive) diff --git a/android/titanium/src/java/org/appcelerator/titanium/util/TiDeviceOrientation.java b/android/titanium/src/java/org/appcelerator/titanium/util/TiDeviceOrientation.java index f36807e62f6..8a974798c34 100644 --- a/android/titanium/src/java/org/appcelerator/titanium/util/TiDeviceOrientation.java +++ b/android/titanium/src/java/org/appcelerator/titanium/util/TiDeviceOrientation.java @@ -165,7 +165,7 @@ public static TiDeviceOrientation fromAndroidSurfaceRotationId(int value) boolean isUprightOrientationPortrait = displayInfo.isUprightOrientationPortrait(); // Configure display info object with given rotation and device's upright orientation. - // Note: The below width/height doesn't need to match the device's actual dispaly size. + // Note: The below width/height doesn't need to match the device's actual display size. // They just need to indicate if the device is portrait/landscape for given rotation. switch (value) { case Surface.ROTATION_0: @@ -302,7 +302,7 @@ public static TiDeviceOrientation from(Display display) * Returns a portrait or landscape orientation if the display's upright orientation * was successfully acquired. *

- * Returns UNKNOWN if failed to aquire the default display's information. + * Returns UNKNOWN if failed to acquire the default display's information. */ public static TiDeviceOrientation fromUprightPositionOfDefaultDisplay() { @@ -321,7 +321,7 @@ public static TiDeviceOrientation fromUprightPositionOfDefaultDisplay() * Returns a portrait or landscape orientation if the display's upright orientation * was successfully acquired. *

- * Returns UNKNOWN if given a null argument or failed to aquire display info. + * Returns UNKNOWN if given a null argument or failed to acquire display info. */ public static TiDeviceOrientation fromUprightPositionOf(Display display) { @@ -395,7 +395,7 @@ public int getHeight() public boolean isUprightOrientationPortrait() { // Determine if the display size is portrait. - // Note: A square display size is considred portrait. (The most commonly used orientation.) + // Note: A square display size is considered portrait. (The most commonly used orientation.) boolean result; switch (this.rotationId) { case Surface.ROTATION_0: diff --git a/android/titanium/src/java/org/appcelerator/titanium/util/TiDownloadManager.java b/android/titanium/src/java/org/appcelerator/titanium/util/TiDownloadManager.java index 1ab2f967972..e22eb5580e9 100644 --- a/android/titanium/src/java/org/appcelerator/titanium/util/TiDownloadManager.java +++ b/android/titanium/src/java/org/appcelerator/titanium/util/TiDownloadManager.java @@ -211,7 +211,7 @@ public InputStream blockingDownload(final URI uri) throws Exception } } - // If we've acquried an HTTP/HTTPS download stream, then wrap the stream. + // If we've acquired an HTTP/HTTPS download stream, then wrap the stream. // The stream wrapper will automatically close the HTTP connection when the stream has been closed. if ((inputStream != null) && (connection instanceof HttpURLConnection)) { final HttpURLConnection httpConnection = (HttpURLConnection) connection; diff --git a/android/titanium/src/java/org/appcelerator/titanium/util/TiFileHelper2.java b/android/titanium/src/java/org/appcelerator/titanium/util/TiFileHelper2.java index 7122505645f..060100776ac 100644 --- a/android/titanium/src/java/org/appcelerator/titanium/util/TiFileHelper2.java +++ b/android/titanium/src/java/org/appcelerator/titanium/util/TiFileHelper2.java @@ -29,7 +29,7 @@ public static String getResourcesPath(String path) /** * Joins many String path segments into one path * @param segments A vararg (or String array) of path segments - * @return The passed-in segements normalized and joined by "/" + * @return The passed-in segments normalized and joined by "/" */ public static String joinSegments(String... segments) { diff --git a/android/titanium/src/java/org/appcelerator/titanium/util/TiResponseCache.java b/android/titanium/src/java/org/appcelerator/titanium/util/TiResponseCache.java index cf0a725389d..abbae3d34d4 100644 --- a/android/titanium/src/java/org/appcelerator/titanium/util/TiResponseCache.java +++ b/android/titanium/src/java/org/appcelerator/titanium/util/TiResponseCache.java @@ -231,7 +231,7 @@ public static boolean peekFollowingRedirects(URI uri) * @param uri The URI to fetch the endpoint of. Can be null. * @return * If the given URI is cached and references a redirect response, then the returned URI will - * be the redirect's "location" URI. + * be the redirects "location" URI. *

* If the given URI does not reference a redirect, then the given URI is returned. *

diff --git a/android/titanium/src/java/org/appcelerator/titanium/util/TiUIHelper.java b/android/titanium/src/java/org/appcelerator/titanium/util/TiUIHelper.java index efd98b92ce1..126de992a6d 100644 --- a/android/titanium/src/java/org/appcelerator/titanium/util/TiUIHelper.java +++ b/android/titanium/src/java/org/appcelerator/titanium/util/TiUIHelper.java @@ -713,7 +713,7 @@ public ImageDrawableLoader() /** * Loads the given image and returns it's decode bitmap wrapped in a drawable. * @param filePath Path or URL to the image file to be loaded. Can be null. - * @return Returns a drawble object used to draw the give image file. + * @return Returns a drawable object used to draw the give image file. *

* Returns null if failed to load the image or if given a null argument. */ diff --git a/android/titanium/src/java/org/appcelerator/titanium/view/TiCompositeLayout.java b/android/titanium/src/java/org/appcelerator/titanium/view/TiCompositeLayout.java index c8f15cc1815..4ad50ad3d7d 100644 --- a/android/titanium/src/java/org/appcelerator/titanium/view/TiCompositeLayout.java +++ b/android/titanium/src/java/org/appcelerator/titanium/view/TiCompositeLayout.java @@ -60,13 +60,13 @@ public enum LayoutArrangement { private boolean needsSort; protected LayoutArrangement arrangement; - // Used by horizonal arrangement calculations + // Used by horizontal arrangement calculations private int horizontalLayoutTopBuffer = 0; private int horizontalLayoutCurrentLeft = 0; private int horizontalLayoutLineHeight = 0; private boolean enableHorizontalWrap = true; private int horizontalLayoutLastIndexBeforeWrap = 0; - private int horiztonalLayoutPreviousRight = 0; + private int horizontalLayoutPreviousRight = 0; int[] horizontal = new int[2]; int[] vertical = new int[2]; /** @@ -252,7 +252,7 @@ public void setChildRelativeSizingTo(int width, int height) /** * Configures this layout to size and position child views that use a percentage based - * width/height and top/bottom/left/right/center properties reatlive to this parent + * width/height and top/bottom/left/right/center properties relative to this parent * layout's width and height. *

* This is the default setting. @@ -875,7 +875,7 @@ protected void onLayout(boolean changed, int l, int t, int r, int b) horizontalLayoutLineHeight = 0; horizontalLayoutTopBuffer = 0; horizontalLayoutLastIndexBeforeWrap = 0; - horiztonalLayoutPreviousRight = 0; + horizontalLayoutPreviousRight = 0; updateRowForHorizontalWrap(right, i); } computeHorizontalLayoutPosition(params, childMeasuredWidth, childMeasuredHeight, right, top, bottom, @@ -1002,19 +1002,19 @@ private void computeHorizontalLayoutPosition(TiCompositeLayout.LayoutParams para TiDimension optionLeft = params.optionLeft; TiDimension optionRight = params.optionRight; - int left = horizontalLayoutCurrentLeft + horiztonalLayoutPreviousRight; + int left = horizontalLayoutCurrentLeft + horizontalLayoutPreviousRight; int optionLeftValue = 0; if (optionLeft != null) { optionLeftValue = optionLeft.getAsPixels(this); left += optionLeftValue; } - horiztonalLayoutPreviousRight = (optionRight == null) ? 0 : optionRight.getAsPixels(this); + horizontalLayoutPreviousRight = (optionRight == null) ? 0 : optionRight.getAsPixels(this); // If it's fill width with horizontal wrap, just take up remaining // space. int right = left + measuredWidth; - if (enableHorizontalWrap && ((right + horiztonalLayoutPreviousRight) > layoutRight || left >= layoutRight)) { + if (enableHorizontalWrap && ((right + horizontalLayoutPreviousRight) > layoutRight || left >= layoutRight)) { // Too long for the current "line" that it's on. Need to move it // down. left = optionLeftValue; diff --git a/android/titanium/src/java/org/appcelerator/titanium/view/TiDrawableReference.java b/android/titanium/src/java/org/appcelerator/titanium/view/TiDrawableReference.java index 7bcccbaaf4d..bcfb1f89777 100644 --- a/android/titanium/src/java/org/appcelerator/titanium/view/TiDrawableReference.java +++ b/android/titanium/src/java/org/appcelerator/titanium/view/TiDrawableReference.java @@ -272,7 +272,7 @@ public static TiDrawableReference fromDictionary(Activity activity, HashMap dict * Does its best to determine the type of reference (url, blob, etc) based on object parameter. *

* Uses the given proxy to resolve relative paths to an image file, if applicable. - * @param proxy Used to acquire an activty and resolve relative paths if given object is a string path. + * @param proxy Used to acquire an activity and resolve relative paths if given object is a string path. * @param object Reference to the image to be loaded such as a file, path, blob, etc. * @return Returns an instance of TiDrawableReference wrapping the given object. */ diff --git a/android/titanium/src/java/org/appcelerator/titanium/view/TiUIFragment.java b/android/titanium/src/java/org/appcelerator/titanium/view/TiUIFragment.java index e7189380b02..51f60f8eda2 100644 --- a/android/titanium/src/java/org/appcelerator/titanium/view/TiUIFragment.java +++ b/android/titanium/src/java/org/appcelerator/titanium/view/TiUIFragment.java @@ -131,7 +131,7 @@ public Fragment getFragment() public boolean handleMessage(Message msg) { - //overwriting so descendents don't have to + //overwriting so descendants don't have to return true; } diff --git a/android/titanium/src/java/ti/modules/titanium/TitaniumModule.java b/android/titanium/src/java/ti/modules/titanium/TitaniumModule.java index 92b21825bf4..365e373862a 100644 --- a/android/titanium/src/java/ti/modules/titanium/TitaniumModule.java +++ b/android/titanium/src/java/ti/modules/titanium/TitaniumModule.java @@ -263,7 +263,7 @@ public String stringFormat(String format, Object[] args) } } catch (Exception ex) { - Log.e(TAG, "Error occured while formatting string", ex); + Log.e(TAG, "Error occurred while formatting string", ex); return null; } } From 0c93fa77aa911e92d3dfbae312e2884706414753 Mon Sep 17 00:00:00 2001 From: Michael Gangolf Date: Tue, 21 May 2024 20:04:15 +0200 Subject: [PATCH 02/35] feat(ios): add overrideUserInterfaceStyle to Picker (#14041) --- apidoc/Titanium/UI/Picker.yml | 15 +++++++++++++++ iphone/Classes/TiUIPicker.m | 9 +++++++++ 2 files changed, 24 insertions(+) diff --git a/apidoc/Titanium/UI/Picker.yml b/apidoc/Titanium/UI/Picker.yml index f32ace414ae..84235b4a4eb 100644 --- a/apidoc/Titanium/UI/Picker.yml +++ b/apidoc/Titanium/UI/Picker.yml @@ -282,6 +282,21 @@ properties: since: "5.2.0" default: "black" + - name: overrideUserInterfaceStyle + summary: Forces the picker to used assigned theme instead of the system theme. + description: | + When set to [USER_INTERFACE_STYLE_DARK](Titanium.UI.USER_INTERFACE_STYLE_DARK) or + [USER_INTERFACE_STYLE_LIGHT](Titanium.UI.USER_INTERFACE_STYLE_LIGHT), the picker will ignore + the system's current theme and use the theme assigned to this property instead. + + When set to [USER_INTERFACE_STYLE_UNSPECIFIED](Titanium.UI.USER_INTERFACE_STYLE_UNSPECIFIED), + the picker will use the system's current theme. + type: Number + default: Titanium.UI.USER_INTERFACE_STYLE_UNSPECIFIED + constants: Titanium.UI.USER_INTERFACE_STYLE_* + osver: {ios: {min: "13.0"}} + since: "12.4.0" + - name: format24 summary: | Determines whether the Time pickers display in 24-hour or 12-hour clock format. diff --git a/iphone/Classes/TiUIPicker.m b/iphone/Classes/TiUIPicker.m index 37c4daaa87e..1f06ad8cdd5 100644 --- a/iphone/Classes/TiUIPicker.m +++ b/iphone/Classes/TiUIPicker.m @@ -225,6 +225,15 @@ - (void)setBackgroundColor_:(id)value } } +- (void)setOverrideUserInterfaceStyle_:(id)args +{ + ENSURE_SINGLE_ARG(args, NSNumber); + if (picker != nil) { + int style = [TiUtils intValue:args def:UIUserInterfaceStyleUnspecified]; + ((UIDatePicker *)[self picker]).overrideUserInterfaceStyle = style; + } +} + - (void)setDateTimeColor_:(id)value { // Guard date picker and iOS 14+ date picker style From bbde0c34b5ffd5f875f8e1b9f49794d5fb5b7c08 Mon Sep 17 00:00:00 2001 From: Michael Gangolf Date: Thu, 23 May 2024 06:04:57 +0200 Subject: [PATCH 03/35] fix(android): switchCamera method was missing (#14029) --- .../media/src/java/ti/modules/titanium/media/MediaModule.java | 1 + 1 file changed, 1 insertion(+) diff --git a/android/modules/media/src/java/ti/modules/titanium/media/MediaModule.java b/android/modules/media/src/java/ti/modules/titanium/media/MediaModule.java index 36f2a4fe516..306c99ed35a 100644 --- a/android/modules/media/src/java/ti/modules/titanium/media/MediaModule.java +++ b/android/modules/media/src/java/ti/modules/titanium/media/MediaModule.java @@ -1700,6 +1700,7 @@ public void switchCamera(int whichCamera) Log.e(TAG, "Camera preview is not open, unable to switch camera."); return; } + activity.switchCamera(whichCamera); } } From eb87849b67b68205567247e20e30c7d43e8ea990 Mon Sep 17 00:00:00 2001 From: Michael Gangolf Date: Fri, 24 May 2024 14:46:11 +0200 Subject: [PATCH 04/35] chore: raise android max sdk support (#14042) --- android/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/package.json b/android/package.json index 92b80bfedc6..ad6f5134f67 100644 --- a/android/package.json +++ b/android/package.json @@ -19,7 +19,7 @@ "minSDKVersion": "21", "compileSDKVersion": "33", "vendorDependencies": { - "android sdk": ">=23.x <=33.x", + "android sdk": ">=23.x <=34.x", "android build tools": ">=30.0.2 <=33.x", "android platform tools": "33.x", "android tools": "<=26.x", From e1f2dc1e4b246c7156e31fd68a287ca04cc4b752 Mon Sep 17 00:00:00 2001 From: Michael Gangolf Date: Fri, 24 May 2024 17:05:25 +0200 Subject: [PATCH 05/35] fix(android): remove some deprecated classes (#14039) Co-authored-by: Chris Barber --- .../tabgroup/TiUIBottomNavigationTabGroup.java | 8 ++++---- .../java/org/appcelerator/kroll/common/TiConfig.java | 12 +++++------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/tabgroup/TiUIBottomNavigationTabGroup.java b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/tabgroup/TiUIBottomNavigationTabGroup.java index 517d1191022..f63c4790757 100644 --- a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/tabgroup/TiUIBottomNavigationTabGroup.java +++ b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/tabgroup/TiUIBottomNavigationTabGroup.java @@ -25,7 +25,7 @@ import com.google.android.material.bottomnavigation.BottomNavigationItemView; import com.google.android.material.bottomnavigation.BottomNavigationMenuView; import com.google.android.material.bottomnavigation.BottomNavigationView; -import com.google.android.material.bottomnavigation.LabelVisibilityMode; +import com.google.android.material.navigation.NavigationBarView; import com.google.android.material.shape.CornerFamily; import com.google.android.material.shape.MaterialShapeDrawable; import com.google.android.material.shape.ShapeAppearanceModel; @@ -238,14 +238,14 @@ public void addTabItemInController(TiViewProxy tabProxy) final int shiftMode = proxy.getProperties().optInt(TiC.PROPERTY_SHIFT_MODE, 1); switch (shiftMode) { case 0: - this.mBottomNavigationView.setLabelVisibilityMode(LabelVisibilityMode.LABEL_VISIBILITY_LABELED); + this.mBottomNavigationView.setLabelVisibilityMode(NavigationBarView.LABEL_VISIBILITY_LABELED); break; case 1: - this.mBottomNavigationView.setLabelVisibilityMode(LabelVisibilityMode.LABEL_VISIBILITY_AUTO); + this.mBottomNavigationView.setLabelVisibilityMode(NavigationBarView.LABEL_VISIBILITY_AUTO); break; case 2: // NOTE: Undocumented for now, will create new property that has parity with iOS. - this.mBottomNavigationView.setLabelVisibilityMode(LabelVisibilityMode.LABEL_VISIBILITY_UNLABELED); + this.mBottomNavigationView.setLabelVisibilityMode(NavigationBarView.LABEL_VISIBILITY_UNLABELED); break; } } diff --git a/android/runtime/common/src/java/org/appcelerator/kroll/common/TiConfig.java b/android/runtime/common/src/java/org/appcelerator/kroll/common/TiConfig.java index fce22c5b393..737e07ba7d8 100644 --- a/android/runtime/common/src/java/org/appcelerator/kroll/common/TiConfig.java +++ b/android/runtime/common/src/java/org/appcelerator/kroll/common/TiConfig.java @@ -6,8 +6,6 @@ */ package org.appcelerator.kroll.common; -import android.util.Config; - /** * A replacement class for org.appcelerator.titanium.config.TitaniumConfig so that I can change * settings via tiapp.xml @@ -24,9 +22,9 @@ public class TiConfig * <property name="ti.android.debug" type="bool">true</property> * */ - public static boolean LOGD = Config.DEBUG; - public static boolean LOGV = Config.DEBUG; - public static boolean DEBUG = Config.DEBUG; - public static boolean RELEASE = !Config.DEBUG; - public static boolean PROFILE = Config.PROFILE; + public static boolean LOGD = false; + public static boolean LOGV = false; + public static boolean DEBUG = false; + public static boolean RELEASE = true; + public static boolean PROFILE = false; } From 3171e140fd106afb3b42f09076b1cc0a0b86f895 Mon Sep 17 00:00:00 2001 From: Michael Gangolf Date: Fri, 24 May 2024 17:28:55 +0200 Subject: [PATCH 06/35] feat(android): improve accessibility text (#14036) * feat(android): improve accessibility text * missing file --------- Co-authored-by: Chris Barber --- .../java/org/appcelerator/titanium/TiC.java | 1 + .../titanium/proxy/TiViewProxy.java | 3 ++- .../appcelerator/titanium/view/TiUIView.java | 24 +++++++++++++++++++ apidoc/Titanium/UI/View.yml | 10 ++++++++ 4 files changed, 37 insertions(+), 1 deletion(-) diff --git a/android/titanium/src/java/org/appcelerator/titanium/TiC.java b/android/titanium/src/java/org/appcelerator/titanium/TiC.java index a09ba8969b5..58beebdde16 100644 --- a/android/titanium/src/java/org/appcelerator/titanium/TiC.java +++ b/android/titanium/src/java/org/appcelerator/titanium/TiC.java @@ -228,6 +228,7 @@ public class TiC public static final String PROPERTY_ACCESSIBILITY_HINT = "accessibilityHint"; public static final String PROPERTY_ACCESSIBILITY_LABEL = "accessibilityLabel"; public static final String PROPERTY_ACCESSIBILITY_VALUE = "accessibilityValue"; + public static final String PROPERTY_ACCESSIBILITY_DISABLE_LONG = "accessibilityDisableLongPress"; public static final String PROPERTY_ACCESSORY_TYPE = "accessoryType"; public static final String PROPERTY_ACTION = "action"; public static final String PROPERTY_ACTION_VIEW = "actionView"; diff --git a/android/titanium/src/java/org/appcelerator/titanium/proxy/TiViewProxy.java b/android/titanium/src/java/org/appcelerator/titanium/proxy/TiViewProxy.java index d99dee6cac8..77a86fafa7f 100644 --- a/android/titanium/src/java/org/appcelerator/titanium/proxy/TiViewProxy.java +++ b/android/titanium/src/java/org/appcelerator/titanium/proxy/TiViewProxy.java @@ -94,7 +94,8 @@ TiC.PROPERTY_TOUCH_FEEDBACK_COLOR, TiC.PROPERTY_TRANSITION_NAME, TiC.PROPERTY_HIDDEN_BEHAVIOR, - TiC.PROPERTY_ANCHOR_POINT + TiC.PROPERTY_ANCHOR_POINT, + TiC.PROPERTY_ACCESSIBILITY_DISABLE_LONG }) public abstract class TiViewProxy extends KrollProxy { diff --git a/android/titanium/src/java/org/appcelerator/titanium/view/TiUIView.java b/android/titanium/src/java/org/appcelerator/titanium/view/TiUIView.java index 520b611193b..73630f0c02a 100644 --- a/android/titanium/src/java/org/appcelerator/titanium/view/TiUIView.java +++ b/android/titanium/src/java/org/appcelerator/titanium/view/TiUIView.java @@ -45,7 +45,10 @@ import android.graphics.drawable.ShapeDrawable; import android.os.Build; import androidx.annotation.NonNull; +import androidx.core.view.AccessibilityDelegateCompat; import androidx.core.view.ViewCompat; +import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; + import android.text.TextUtils; import android.util.Pair; import android.util.SparseArray; @@ -1915,6 +1918,12 @@ protected void registerForTouch(final View touchable) boolean soundEnabled = TiConvert.toBoolean(proxy.getProperty(TiC.PROPERTY_SOUND_EFFECTS_ENABLED), true); touchable.setSoundEffectsEnabled(soundEnabled); } + + if (proxy.hasPropertyAndNotNull(TiC.PROPERTY_ACCESSIBILITY_DISABLE_LONG)) { + if (TiConvert.toBoolean(proxy.getProperty(TiC.PROPERTY_ACCESSIBILITY_DISABLE_LONG))) { + removeAccessibilityLongClick(); + } + } registerTouchEvents(touchable); // Previously, we used the single tap handling above to fire our click event. It doesn't @@ -2363,4 +2372,19 @@ public String composeContentDescription() } return composeContentDescription(proxy.getProperties()); } + + public void removeAccessibilityLongClick() + { + ViewCompat.setAccessibilityDelegate(nativeView, new AccessibilityDelegateCompat() + { + @Override + public void onInitializeAccessibilityNodeInfo(@NonNull View host, + @NonNull AccessibilityNodeInfoCompat info) + { + super.onInitializeAccessibilityNodeInfo(host, info); + info.removeAction(AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_LONG_CLICK); + info.setLongClickable(false); + } + }); + } } diff --git a/apidoc/Titanium/UI/View.yml b/apidoc/Titanium/UI/View.yml index 522308f2c80..2233fe4011e 100644 --- a/apidoc/Titanium/UI/View.yml +++ b/apidoc/Titanium/UI/View.yml @@ -1159,6 +1159,16 @@ properties: platforms: [android, iphone, ipad, macos] type: String + - name: accessibilityDisableLongPress + summary: Boolean value to remove the long press notification for the device's accessibility service. + description: | + Will disable the "double tap and hold for long press" message when selecting an item. + since: "12.4.0" + platforms: [android] + default: true + availability: creation + type: Boolean + - name: anchorPoint summary: Coordinate of the view about which to pivot an animation. description: | From c601e7e7579b7b527cc2321b63c82232b169faf4 Mon Sep 17 00:00:00 2001 From: Michael Gangolf Date: Sat, 25 May 2024 18:56:44 +0200 Subject: [PATCH 07/35] fix: create alloy project with spaces with --alloy (#14046) * fix: create alloy project with spaces with --alloy * use path.join * update --- cli/commands/create.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cli/commands/create.js b/cli/commands/create.js index 55c40ca2cb2..2b32008b4fa 100644 --- a/cli/commands/create.js +++ b/cli/commands/create.js @@ -184,7 +184,7 @@ CreateCommand.prototype.run = function run(logger, config, cli, finished) { } if (cli.argv.alloy !== undefined) { - execSync('alloy new ' + cli.argv['workspace-dir'] + '/' + cli.argv.name); + execSync(`alloy new "${path.join(cli.argv['workspace-dir'], cli.argv.name)}"`, { stdio: 'inherit' }); } finished(err); From 82203d782fd499a33723bf86b41e1019e50bc99d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hans=20Kn=C3=B6chel?= Date: Sun, 26 May 2024 22:13:02 +0200 Subject: [PATCH 08/35] Revert "feat(ios): support multi-scene applications (#13941)" This reverts commit bfc87a6517f0b70b82ea760b8d052381bddf1ff4. Revert "fix(ios): fix debug issues with scenes (#13979)" This reverts commit 8bcd5c31a8dc86415c231a6086c1d83bbb183565. Revert "fix(ios): fix various issues related to the scene migration (#13981)" This reverts commit 6e40edbeab8cf39eee91d916c98aa6a3c6921812. Revert "fix(ios): restore compatibility for Ti.App._resumeRestart() (#13989)" This reverts commit 3a44b3d3ef37c2f7f252479da9a9e9919c540fa9. Revert "fix(ios): fix some open issues related to scenes (#14020)" This reverts commit a0a3aeaf666b864fbcb75e57f011a142dbae715c. chore: restore start sequence --- iphone/Classes/AppModule.m | 29 +- .../TitaniumKit/Sources/API/TiApp.h | 17 +- .../TitaniumKit/Sources/API/TiApp.m | 308 +++++++++--------- .../Sources/API/TiRootViewController.m | 9 +- iphone/iphone/Titanium.plist | 17 - support/iphone/Info.plist | 17 - 6 files changed, 180 insertions(+), 217 deletions(-) diff --git a/iphone/Classes/AppModule.m b/iphone/Classes/AppModule.m index cd12e306ba4..f77864c24dd 100644 --- a/iphone/Classes/AppModule.m +++ b/iphone/Classes/AppModule.m @@ -48,23 +48,9 @@ - (void)_resumeRestart:(id)unused #ifndef TI_USE_AUTOLAYOUT [TiLayoutQueue resetQueue]; #endif - - // Get the currently active scene - UIScene *activeScene = nil; - for (UIScene *scene in UIApplication.sharedApplication.connectedScenes) { - if (scene.activationState == UISceneActivationStateForegroundActive) { - activeScene = scene; - break; - } - } - - if (activeScene == nil) { - NSLog(@"[ERROR] No active scene connected - this may lead to an undefined behavior"); - } - /* Begin backgrounding simulation */ - [appDelegate sceneWillResignActive:activeScene]; - [appDelegate sceneDidEnterBackground:activeScene]; + [appDelegate applicationWillResignActive:app]; + [appDelegate applicationDidEnterBackground:app]; [appDelegate endBackgrounding]; /* End backgrounding simulation */ @@ -90,9 +76,8 @@ - (void)_resumeRestart:(id)unused /* Begin foregrounding simulation */ [appDelegate application:app didFinishLaunchingWithOptions:[appDelegate launchOptions]]; - [appDelegate scene:activeScene willConnectToSession:activeScene.session options:TiApp.app.connectionOptions]; - [appDelegate sceneWillEnterForeground:activeScene]; - [appDelegate sceneDidBecomeActive:activeScene]; + [appDelegate applicationWillEnterForeground:app]; + [appDelegate applicationDidBecomeActive:app]; /* End foregrounding simulation */ } @@ -606,9 +591,9 @@ - (NSNumber *)keyboardVisible - (void)setForceSplashAsSnapshot:(id)args { ENSURE_SINGLE_ARG(args, NSNumber) - [self replaceValue:args - forKey:@"forceSplashAsSnapshot" - notification:NO]; + [self replaceValue:args + forKey:@"forceSplashAsSnapshot" + notification:NO]; BOOL flag = [TiUtils boolValue:args def:NO]; [[TiApp app] setForceSplashAsSnapshot:flag]; } diff --git a/iphone/TitaniumKit/TitaniumKit/Sources/API/TiApp.h b/iphone/TitaniumKit/TitaniumKit/Sources/API/TiApp.h index ab334fa9f7c..385adfb6954 100644 --- a/iphone/TitaniumKit/TitaniumKit/Sources/API/TiApp.h +++ b/iphone/TitaniumKit/TitaniumKit/Sources/API/TiApp.h @@ -13,10 +13,17 @@ #import "TiRootViewController.h" #import +extern BOOL applicationInMemoryPanic; // TODO: Remove in SDK 9.0+ + +// TODO: Remove in SDK 9.0+ +TI_INLINE void waitForMemoryPanicCleared() //WARNING: This must never be run on main thread, or else there is a risk of deadlock! +{ +} + /** TiApp represents an instance of an application. There is always only one instance per application which could be accessed through class method. */ -@interface TiApp : TiHost { +@interface TiApp : TiHost { UIWindow *window; UIImageView *loadView; UIView *splashScreenView; @@ -26,7 +33,6 @@ KrollBridge *kjsBridge; NSMutableDictionary *launchOptions; - UISceneConnectionOptions *_connectionOptions; NSTimeInterval started; int32_t networkActivityCount; @@ -113,13 +119,6 @@ */ @property (nonatomic, readonly) NSDictionary *localNotification; -/** - Returns details for the last remote notification. - - Dictionary containing details about remote notification, or _nil_. - */ -@property (nonatomic, readonly) UISceneConnectionOptions *connectionOptions; - /** Returns the application's root view controller. */ diff --git a/iphone/TitaniumKit/TitaniumKit/Sources/API/TiApp.m b/iphone/TitaniumKit/TitaniumKit/Sources/API/TiApp.m index ee2d5c8cb65..fd53a04cc7f 100644 --- a/iphone/TitaniumKit/TitaniumKit/Sources/API/TiApp.m +++ b/iphone/TitaniumKit/TitaniumKit/Sources/API/TiApp.m @@ -33,6 +33,11 @@ #define SHUTDOWN_TIMEOUT_IN_SEC 3 +BOOL applicationInMemoryPanic = NO; // TODO: Remove in SDK 9.0+ + +// TODO: Remove in SDK 9.0+ +TI_INLINE void waitForMemoryPanicCleared(void); //WARNING: This must never be run on main thread, or else there is a risk of deadlock! + @interface TiApp () - (void)checkBackgroundServices; - (void)appBoot; @@ -48,7 +53,6 @@ @implementation TiApp @synthesize localNotification; @synthesize appBooted; @synthesize userAgent; -@synthesize connectionOptions; + (TiApp *)app { @@ -317,27 +321,122 @@ - (BOOL)application:(UIApplication *)application shouldAllowExtensionPointIdenti - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions_ { + started = [NSDate timeIntervalSinceReferenceDate]; + [TiExceptionHandler defaultExceptionHandler]; + if ([[TiSharedConfig defaultConfig] logServerEnabled]) { + [[TiLogServer defaultLogServer] start]; + } + + // Initialize the root-window + window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; + + // Initialize the launch options to be used by the client + launchOptions = [[NSMutableDictionary alloc] initWithDictionary:launchOptions_]; + + // Initialize the root-controller + [self initController]; + + // If we have a APNS-UUID, assign it + NSString *apnsUUID = [[NSUserDefaults standardUserDefaults] stringForKey:@"APNSRemoteDeviceUUID"]; + if (apnsUUID != nil) { + remoteDeviceUUID = [apnsUUID copy]; + } + + [[UNUserNotificationCenter currentNotificationCenter] setDelegate:self]; + + // Get some launch options to validate before finish launching. Some of them + // need to be mapepd from native to JS-types to be used by the client + NSURL *urlOptions = [launchOptions objectForKey:UIApplicationLaunchOptionsURLKey]; + NSString *sourceBundleId = [launchOptions objectForKey:UIApplicationLaunchOptionsSourceApplicationKey]; + NSDictionary *_remoteNotification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]; + UILocalNotification *_localNotification = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey]; + NSNumber *launchedLocation = [launchOptions objectForKey:UIApplicationLaunchOptionsLocationKey]; + UIApplicationShortcutItem *shortcut = [launchOptions objectForKey:UIApplicationLaunchOptionsShortcutItemKey]; + NSDictionary *userActivityDictionary = launchOptions[UIApplicationLaunchOptionsUserActivityDictionaryKey]; + + // Map user activity if exists + NSUserActivity *userActivity = userActivityDictionary[@"UIApplicationLaunchOptionsUserActivityKey"]; + if (userActivity != nil && [userActivity isKindOfClass:[NSUserActivity class]]) { + NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithDictionary:@{ @"activityType" : [userActivity activityType] }]; + + if ([TiUtils isIOSVersionOrGreater:@"9.0"] && [[userActivity activityType] isEqualToString:CSSearchableItemActionType]) { + if ([userActivity userInfo] != nil) { + [dict setObject:[[userActivity userInfo] objectForKey:CSSearchableItemActivityIdentifier] forKey:@"searchableItemActivityIdentifier"]; + } + } + + if ([userActivity title] != nil) { + [dict setObject:[userActivity title] forKey:@"title"]; + } + + if ([userActivity webpageURL] != nil) { + [dict setObject:[[userActivity webpageURL] absoluteString] forKey:@"webpageURL"]; + } + + if ([userActivity userInfo] != nil) { + [dict setObject:[userActivity userInfo] forKey:@"userInfo"]; + } + + // Update launchOptions so that we send only expected values rather than NSUserActivity + [launchOptions setObject:@{ @"UIApplicationLaunchOptionsUserActivityKey" : dict } + forKey:UIApplicationLaunchOptionsUserActivityDictionaryKey]; + } + + // Map background location key + if (launchedLocation != nil) { + [launchOptions setObject:launchedLocation forKey:@"launchOptionsLocationKey"]; + [launchOptions removeObjectForKey:UIApplicationLaunchOptionsLocationKey]; + } + + // Map local notification + if (_localNotification != nil) { + localNotification = [[[self class] dictionaryWithLocalNotification:_localNotification] retain]; + [launchOptions removeObjectForKey:UIApplicationLaunchOptionsLocalNotificationKey]; + + // Queue the "localnotificationaction" event for iOS 9 and lower. + // For iOS 10+, the "userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler" delegate handles it + if ([TiUtils isIOSVersionLower:@"9.0"]) { + [self tryToPostNotification:localNotification withNotificationName:kTiLocalNotificationAction completionHandler:nil]; + } + } + + // Map launched URL + if (urlOptions != nil) { + [launchOptions setObject:[urlOptions absoluteString] forKey:@"url"]; + [launchOptions removeObjectForKey:UIApplicationLaunchOptionsURLKey]; + } + + // Map launched App-ID + if (sourceBundleId != nil) { + [launchOptions setObject:sourceBundleId forKey:@"source"]; + [launchOptions removeObjectForKey:UIApplicationLaunchOptionsSourceApplicationKey]; + } + + // Generate remote notification of available + if (_remoteNotification != nil) { + [self generateNotification:_remoteNotification]; + } + if (shortcut != nil) { + launchedShortcutItem = [shortcut retain]; + } + // Queue selector for usage in modules / Hyperloop [self tryToInvokeSelector:@selector(application:didFinishLaunchingWithOptions:) withArguments:[NSOrderedSet orderedSetWithObjects:application, launchOptions_, nil]]; - return YES; -} + // If a "application-launch-url" is set, launch it directly + [self launchToUrl]; -- (void)scene:(UIScene *)scene openURLContexts:(NSSet *)URLContexts -{ - UIOpenURLContext *primaryContext = URLContexts.allObjects.firstObject; + // Boot our kroll-core + [self boot]; - NSDictionary *options = @{ - UIApplicationOpenURLOptionsSourceApplicationKey : NULL_IF_NIL(primaryContext.options.sourceApplication) - }; + // Create application support directory if not exists + [self createDefaultDirectories]; - [self application:[UIApplication sharedApplication] openURL:primaryContext.URL options:options]; + return YES; } -// Handle URL-schemes. Note that this selector is not called automatically anymore in iOS 13+ -// because of the scene management. Instead, the above "scene:openURLContexts:" selector is called -// that forwards the call for maximum backwards compatibility +// Handle URL-schemes / iOS >= 9 - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary *)options { [self tryToInvokeSelector:@selector(application:openURL:options:) @@ -363,6 +462,31 @@ - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDiction return YES; } +// Handle URL-schemes / iOS < 9 +- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation +{ + [self tryToInvokeSelector:@selector(application:sourceApplication:annotation:) + withArguments:[NSOrderedSet orderedSetWithObjects:application, sourceApplication, annotation, nil]]; + + [launchOptions removeObjectForKey:UIApplicationLaunchOptionsURLKey]; + [launchOptions setObject:[url absoluteString] forKey:@"url"]; + [launchOptions removeObjectForKey:UIApplicationLaunchOptionsSourceApplicationKey]; + + if (sourceApplication != nil) { + [launchOptions setObject:sourceApplication forKey:@"source"]; + } else { + [launchOptions removeObjectForKey:@"source"]; + } + + if (appBooted) { + [[NSNotificationCenter defaultCenter] postNotificationName:kTiApplicationLaunchedFromURL object:self userInfo:launchOptions]; + } else { + [[self queuedBootEvents] setObject:launchOptions forKey:kTiApplicationLaunchedFromURL]; + } + + return YES; +} + #pragma mark Background Fetch #ifdef USE_TI_FETCH @@ -372,7 +496,7 @@ - (void)application:(UIApplication *)application performFetchWithCompletionHandl [self tryToInvokeSelector:@selector(application:performFetchWithCompletionHandler:) withArguments:[NSOrderedSet orderedSetWithObjects:application, [completionHandler copy], nil]]; - // Only for simulator builds + //Only for simulator builds NSArray *backgroundModes = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"UIBackgroundModes"]; if ([backgroundModes containsObject:@"fetch"]) { @@ -461,7 +585,7 @@ - (void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNoti [self application:[UIApplication sharedApplication] handleActionWithIdentifier:response.actionIdentifier forRemoteNotification:response.notification.request.content.userInfo withResponseInfo:responseInfo completionHandler:completionHandler]; } } else { - // NOTE Local notifications should be handled similar to BG above which ultimately calls handleRemoteNotificationWithIdentifier as this will allow BG Actions to execute. + //NOTE Local notifications should be handled similar to BG above which ultimately calls handleRemoteNotificationWithIdentifier as this will allow BG Actions to execute. RELEASE_TO_NIL(localNotification); localNotification = [[[self class] dictionaryWithUserNotification:response.notification withIdentifier:response.actionIdentifier] retain]; @@ -672,7 +796,7 @@ - (void)performCompletionHandlerWithKey:(NSString *)key andResult:(UIBackgroundF } } -// Called to mark the end of background transfer while in the background. +//Called to mark the end of background transfer while in the background. - (void)performCompletionHandlerForBackgroundTransferWithKey:(NSString *)key { if ([backgroundTransferCompletionHandlers objectForKey:key] != nil) { @@ -723,7 +847,7 @@ - (void)application:(UIApplication *)application didReceiveRemoteNotification:(N #pragma mark Background Transfer Service -// Delegate callback for Background Transfer completes. +//Delegate callback for Background Transfer completes. - (void)application:(UIApplication *)application handleEventsForBackgroundURLSession:(NSString *)identifier completionHandler:(void (^)(void))completionHandler { // Generate unique key with timestamp. @@ -746,7 +870,7 @@ - (void)application:(UIApplication *)application handleEventsForBackgroundURLSes #pragma mark Background Transfer Service Delegates. -// TODO: Move these delegates to the module post 3.2.0 +//TODO: Move these delegates to the module post 3.2.0 - (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask didFinishDownloadingToURL:(NSURL *)location { @@ -814,7 +938,7 @@ - (void)URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask *)data if (!uploadTaskResponses) { uploadTaskResponses = [[NSMutableDictionary alloc] init]; } - // This dictionary will mutate if delegate is called + //This dictionary will mutate if delegate is called NSMutableDictionary *responseObj = [uploadTaskResponses objectForKey:@(dataTask.taskIdentifier)]; if (!responseObj) { NSMutableData *responseData = [NSMutableData dataWithData:data]; @@ -888,7 +1012,7 @@ - (void)applicationWillTerminate:(UIApplication *)application NSNotificationCenter *theNotificationCenter = [NSNotificationCenter defaultCenter]; _willTerminate = YES; - // This will send out the 'close' message. + //This will send out the 'close' message. [theNotificationCenter postNotificationName:kTiWillShutdownNotification object:self]; NSCondition *condition = [[NSCondition alloc] init]; @@ -899,7 +1023,7 @@ - (void)applicationWillTerminate:(UIApplication *)application [[TiLogServer defaultLogServer] stop]; } - // This will shut down the modules. + //This will shut down the modules. [theNotificationCenter postNotificationName:kTiShutdownNotification object:self]; RELEASE_TO_NIL(condition); RELEASE_TO_NIL(kjsBridge); @@ -917,10 +1041,10 @@ - (void)applicationDidReceiveMemoryWarning:(UIApplication *)application [Webcolor flushCache]; } -- (void)sceneWillResignActive:(UIScene *)scene +- (void)applicationWillResignActive:(UIApplication *)application { - [self tryToInvokeSelector:@selector(sceneWillResignActive:) - withArguments:[NSOrderedSet orderedSetWithObject:scene]]; + [self tryToInvokeSelector:@selector(applicationWillResignActive:) + withArguments:[NSOrderedSet orderedSetWithObject:application]]; if ([self forceSplashAsSnapshot]) { [window addSubview:[self splashScreenView]]; @@ -932,11 +1056,13 @@ - (void)sceneWillResignActive:(UIScene *)scene [kjsBridge gc]; } -- (void)sceneDidBecomeActive:(UIScene *)scene +- (void)applicationDidBecomeActive:(UIApplication *)application { - [self tryToInvokeSelector:@selector(sceneDidBecomeActive:) - withArguments:[NSOrderedSet orderedSetWithObject:scene]]; + [self tryToInvokeSelector:@selector(applicationDidBecomeActive:) + withArguments:[NSOrderedSet orderedSetWithObject:application]]; + // We should think about placing this inside "applicationWillBecomeActive" instead to make + // the UI re-useable again more quickly if ([self forceSplashAsSnapshot] && splashScreenView != nil) { [[self splashScreenView] removeFromSuperview]; RELEASE_TO_NIL(splashScreenView); @@ -950,10 +1076,10 @@ - (void)sceneDidBecomeActive:(UIScene *)scene [[ImageLoader sharedLoader] resume]; } -- (void)sceneDidEnterBackground:(UIScene *)scene +- (void)applicationDidEnterBackground:(UIApplication *)application { - [self tryToInvokeSelector:@selector(sceneDidEnterBackground:) - withArguments:[NSOrderedSet orderedSetWithObject:scene]]; + [self tryToInvokeSelector:@selector(applicationDidEnterBackground:) + withArguments:[NSOrderedSet orderedSetWithObject:application]]; [[NSNotificationCenter defaultCenter] postNotificationName:kTiPausedNotification object:self]; @@ -982,16 +1108,16 @@ - (void)sceneDidEnterBackground:(UIScene *)scene }); } -- (void)sceneWillEnterForeground:(UIScene *)scene +- (void)applicationWillEnterForeground:(UIApplication *)application { - [self tryToInvokeSelector:@selector(sceneWillEnterForeground:) - withArguments:[NSOrderedSet orderedSetWithObject:scene]]; + [self tryToInvokeSelector:@selector(applicationWillEnterForeground:) + withArguments:[NSOrderedSet orderedSetWithObject:application]]; [self flushCompletionHandlerQueue]; [sessionId release]; sessionId = [[TiUtils createUUID] retain]; - // TIMOB-3432. Ensure url is cleared when resume event is fired. + //TIMOB-3432. Ensure url is cleared when resume event is fired. [launchOptions removeObjectForKey:@"url"]; [launchOptions removeObjectForKey:@"source"]; @@ -1004,7 +1130,7 @@ - (void)sceneWillEnterForeground:(UIScene *)scene [self endBackgrounding]; } -// TODO: this should be compiled out in production mode +//TODO: this should be compiled out in production mode - (void)showModalError:(NSString *)message { NSLog(@"[ERROR] Application received error: %@", message); @@ -1076,7 +1202,6 @@ - (void)dealloc RELEASE_TO_NIL(queuedBootEvents); RELEASE_TO_NIL(_queuedApplicationSelectors); RELEASE_TO_NIL(_applicationDelegates); - RELEASE_TO_NIL(_connectionOptions); [super dealloc]; } @@ -1110,115 +1235,6 @@ - (KrollBridge *)krollBridge return kjsBridge; } -#pragma mark UIWindowSceneDelegate - -- (UISceneConfiguration *)application:(UIApplication *)application configurationForConnectingSceneSession:(UISceneSession *)connectingSceneSession options:(UISceneConnectionOptions *)options -{ - return [[UISceneConfiguration alloc] initWithName:@"Default Configuration" sessionRole:connectingSceneSession.role]; -} - -- (void)scene:(UIScene *)scene willConnectToSession:(UISceneSession *)session options:(UISceneConnectionOptions *)connectionOptions -{ - // Initialize the root-window - window = [[UIWindow alloc] initWithWindowScene:(UIWindowScene *)scene]; - - // Initialize the launch options to be used by the client - launchOptions = [[NSMutableDictionary alloc] init]; - - // Retain connectionOptions for later use - if (_connectionOptions != connectionOptions) { - [_connectionOptions release]; // Release any existing object - _connectionOptions = [connectionOptions retain]; // Retain the new object - } - - // If we have a APNS-UUID, assign it - NSString *apnsUUID = [[NSUserDefaults standardUserDefaults] stringForKey:@"APNSRemoteDeviceUUID"]; - if (apnsUUID != nil) { - remoteDeviceUUID = [apnsUUID copy]; - } - - [[UNUserNotificationCenter currentNotificationCenter] setDelegate:self]; - - // Get some launch options to validate before finish launching. Some of them - // need to be mapepd from native to JS-types to be used by the client - NSURL *urlOptions = connectionOptions.URLContexts.allObjects.firstObject.URL; - NSString *sourceBundleId = connectionOptions.sourceApplication; - UNNotificationResponse *notification = connectionOptions.notificationResponse; - UIApplicationShortcutItem *shortcut = connectionOptions.shortcutItem; - - // Map user activity if exists - NSUserActivity *userActivity = connectionOptions.userActivities.allObjects.firstObject; - if (userActivity != nil) { - NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithDictionary:@{ @"activityType" : [userActivity activityType] }]; - - if ([TiUtils isIOSVersionOrGreater:@"9.0"] && [[userActivity activityType] isEqualToString:CSSearchableItemActionType]) { - if ([userActivity userInfo] != nil) { - [dict setObject:[[userActivity userInfo] objectForKey:CSSearchableItemActivityIdentifier] forKey:@"searchableItemActivityIdentifier"]; - } - } - - if ([userActivity title] != nil) { - [dict setObject:[userActivity title] forKey:@"title"]; - } - - if ([userActivity webpageURL] != nil) { - [dict setObject:[[userActivity webpageURL] absoluteString] forKey:@"webpageURL"]; - } - - if ([userActivity userInfo] != nil) { - [dict setObject:[userActivity userInfo] forKey:@"userInfo"]; - } - - // Update launchOptions so that we send only expected values rather than NSUserActivity - [launchOptions setObject:@{ @"UIApplicationLaunchOptionsUserActivityKey" : dict } - forKey:UIApplicationLaunchOptionsUserActivityDictionaryKey]; - } - - // Map launched URL - if (urlOptions != nil) { - [launchOptions setObject:[urlOptions absoluteString] forKey:@"url"]; - } - - // Map launched App-ID - if (sourceBundleId != nil) { - [launchOptions setObject:sourceBundleId forKey:@"source"]; - } - - // Generate remote notification if available - if (notification != nil && [notification.notification.request.trigger isKindOfClass:[UNPushNotificationTrigger class]]) { - [self generateNotification:@{ @"aps" : notification.notification.request.content.userInfo }]; - } - - // Save shortcut item for later - if (shortcut != nil) { - launchedShortcutItem = [shortcut retain]; - } - - // Queue selector for usage in modules / Hyperloop - [self tryToInvokeSelector:@selector(scene:willConnectToSession:options:) - withArguments:[NSOrderedSet orderedSetWithObjects:scene, connectionOptions, nil]]; - - // Catch exceptions - [TiExceptionHandler defaultExceptionHandler]; - - // Enable device logs (e.g. for physical devices) - if ([[TiSharedConfig defaultConfig] logServerEnabled]) { - [[TiLogServer defaultLogServer] start]; - } - - // Initialize the root-controller - [self initController]; - - // If a "application-launch-url" is set, launch it directly - [self launchToUrl]; - - // Boot our kroll-core - [self boot]; - - // Create application support directory if not exists - [self createDefaultDirectories]; -} - #pragma mark Background Tasks - (void)beginBackgrounding @@ -1354,7 +1370,7 @@ - (void)registerBackgroundService:(TiProxy *)proxy backgroundServices = [[NSMutableArray alloc] initWithCapacity:1]; } - // Only add if it isn't already added + //Only add if it isn't already added if (![backgroundServices containsObject:proxy]) { [backgroundServices addObject:proxy]; } diff --git a/iphone/TitaniumKit/TitaniumKit/Sources/API/TiRootViewController.m b/iphone/TitaniumKit/TitaniumKit/Sources/API/TiRootViewController.m index c7892da1c25..14f8428699b 100644 --- a/iphone/TitaniumKit/TitaniumKit/Sources/API/TiRootViewController.m +++ b/iphone/TitaniumKit/TitaniumKit/Sources/API/TiRootViewController.m @@ -696,8 +696,7 @@ - (void)shutdownUi:(id)arg if (![TiSharedConfig defaultConfig].debugEnabled) { return; } - - // Dismiss all currently opened windows + //FIRST DISMISS ALL MODAL WINDOWS UIViewController *topVC = [self topPresentedController]; if (topVC != self) { UIViewController *presenter = [topVC presentingViewController]; @@ -707,8 +706,7 @@ - (void)shutdownUi:(id)arg }]; return; } - - // Clean up proxies. + //At this point all modal stuff is done. Go ahead and clean up proxies. NSArray *modalCopy = [modalWindows copy]; NSArray *windowCopy = [containedWindows copy]; @@ -727,8 +725,7 @@ - (void)shutdownUi:(id)arg [windowCopy release]; } - DebugLog(@"[WARN] Calling the private `_restart()` API should not be done in production, as restarting an app is not a recommended native concept."); - + DebugLog(@"[INFO] UI SHUTDOWN COMPLETE. TRYING TO RESUME RESTART"); if ([arg respondsToSelector:@selector(_resumeRestart:)]) { [arg performSelector:@selector(_resumeRestart:) withObject:nil]; } else { diff --git a/iphone/iphone/Titanium.plist b/iphone/iphone/Titanium.plist index 448f4c87fe8..997d287518d 100644 --- a/iphone/iphone/Titanium.plist +++ b/iphone/iphone/Titanium.plist @@ -78,22 +78,5 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIApplicationSceneManifest - - UIApplicationSupportsMultipleScenes - - UISceneConfigurations - - UIWindowSceneSessionRoleApplication - - - UISceneConfigurationName - Default Configuration - UISceneDelegateClassName - TiApp - - - - diff --git a/support/iphone/Info.plist b/support/iphone/Info.plist index 72b06667636..f9500da5954 100644 --- a/support/iphone/Info.plist +++ b/support/iphone/Info.plist @@ -36,22 +36,5 @@ 1.0 LSRequiresIPhoneOS - UIApplicationSceneManifest - - UIApplicationSupportsMultipleScenes - - UISceneConfigurations - - UIWindowSceneSessionRoleApplication - - - UISceneConfigurationName - Default Configuration - UISceneDelegateClassName - TiApp - - - - From bf24bf26ae07ebda2e2d70c23de198bac6b2ba8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hans=20Kn=C3=B6chel?= Date: Mon, 27 May 2024 09:48:05 +0200 Subject: [PATCH 09/35] fix: fix linting issues --- iphone/Classes/ContactsModule.m | 6 ++-- iphone/Classes/TiAppPropertiesProxy.m | 16 ++++----- iphone/Classes/TiAppiOSUserDefaultsProxy.m | 16 ++++----- iphone/Classes/TiMediaVideoPlayerProxy.m | 2 +- iphone/Classes/TiNetworkHTTPClientProxy.m | 36 +++++++++---------- iphone/Classes/TiUIDashboardViewProxy.m | 2 +- iphone/Classes/TiUIScrollableView.m | 14 ++++---- iphone/Classes/TiUITableView.m | 2 +- iphone/Classes/UIModule.m | 6 ++-- iphone/Classes/WatchSessionModule.m | 4 +-- .../TitaniumKit/Sources/API/SBJSON.m | 8 ++--- .../TitaniumKit/Sources/API/TiProxy.m | 2 +- 12 files changed, 57 insertions(+), 57 deletions(-) diff --git a/iphone/Classes/ContactsModule.m b/iphone/Classes/ContactsModule.m index b4dafd405ed..76f7df78a86 100644 --- a/iphone/Classes/ContactsModule.m +++ b/iphone/Classes/ContactsModule.m @@ -90,9 +90,9 @@ - (void)dealloc RELEASE_TO_NIL(contactStore) saveRequest = nil; RELEASE_TO_NIL(contactPicker) - [[NSNotificationCenter defaultCenter] removeObserver:self - name:CNContactStoreDidChangeNotification - object:nil]; + [[NSNotificationCenter defaultCenter] removeObserver:self + name:CNContactStoreDidChangeNotification + object:nil]; [super dealloc]; } diff --git a/iphone/Classes/TiAppPropertiesProxy.m b/iphone/Classes/TiAppPropertiesProxy.m index 7e62f299198..501967299d9 100644 --- a/iphone/Classes/TiAppPropertiesProxy.m +++ b/iphone/Classes/TiAppPropertiesProxy.m @@ -179,32 +179,32 @@ - (NSDictionary *)bridgedDictionaryFromDictionary:(NSDictionary *)dictionary wit - (void)setBool:(id)args { SETPROP - [defaultsObject setBool:[TiUtils boolValue:value] - forKey:key]; + [defaultsObject setBool:[TiUtils boolValue:value] + forKey:key]; [defaultsObject synchronize]; } - (void)setDouble:(id)args { SETPROP - [defaultsObject setDouble:[TiUtils doubleValue:value] - forKey:key]; + [defaultsObject setDouble:[TiUtils doubleValue:value] + forKey:key]; [defaultsObject synchronize]; } - (void)setInt:(id)args { SETPROP - [defaultsObject setInteger:[TiUtils intValue:value] - forKey:key]; + [defaultsObject setInteger:[TiUtils intValue:value] + forKey:key]; [defaultsObject synchronize]; } - (void)setString:(id)args { SETPROP - [defaultsObject setObject:[TiUtils stringValue:value] - forKey:key]; + [defaultsObject setObject:[TiUtils stringValue:value] + forKey:key]; [defaultsObject synchronize]; } diff --git a/iphone/Classes/TiAppiOSUserDefaultsProxy.m b/iphone/Classes/TiAppiOSUserDefaultsProxy.m index ec93b684a2e..eb4ed48696a 100644 --- a/iphone/Classes/TiAppiOSUserDefaultsProxy.m +++ b/iphone/Classes/TiAppiOSUserDefaultsProxy.m @@ -138,32 +138,32 @@ - (id)getObject:(id)args - (void)setBool:(id)args { SETPROP - [self.defaultsObject setBool:[TiUtils boolValue:value] - forKey:key]; + [self.defaultsObject setBool:[TiUtils boolValue:value] + forKey:key]; [self.defaultsObject synchronize]; } - (void)setDouble:(id)args { SETPROP - [self.defaultsObject setDouble:[TiUtils doubleValue:value] - forKey:key]; + [self.defaultsObject setDouble:[TiUtils doubleValue:value] + forKey:key]; [self.defaultsObject synchronize]; } - (void)setInt:(id)args { SETPROP - [self.defaultsObject setInteger:[TiUtils intValue:value] - forKey:key]; + [self.defaultsObject setInteger:[TiUtils intValue:value] + forKey:key]; [self.defaultsObject synchronize]; } - (void)setString:(id)args { SETPROP - [self.defaultsObject setObject:[TiUtils stringValue:value] - forKey:key]; + [self.defaultsObject setObject:[TiUtils stringValue:value] + forKey:key]; [self.defaultsObject synchronize]; } diff --git a/iphone/Classes/TiMediaVideoPlayerProxy.m b/iphone/Classes/TiMediaVideoPlayerProxy.m index 64d8d1bbca4..57a12587503 100644 --- a/iphone/Classes/TiMediaVideoPlayerProxy.m +++ b/iphone/Classes/TiMediaVideoPlayerProxy.m @@ -226,7 +226,7 @@ - (void)setOverlayView:(id)proxy - (void)setBackgroundView:(id)proxy { DEPRECATED_REPLACED(@"Media.VideoPlayer.backgroundView", @"7.0.0", @"Media.VideoPlayer.overlayView") - [self setOverlayView:proxy]; + [self setOverlayView:proxy]; } - (NSNumber *)playing diff --git a/iphone/Classes/TiNetworkHTTPClientProxy.m b/iphone/Classes/TiNetworkHTTPClientProxy.m index 483dd80e13f..5bf263edc9a 100644 --- a/iphone/Classes/TiNetworkHTTPClientProxy.m +++ b/iphone/Classes/TiNetworkHTTPClientProxy.m @@ -395,53 +395,53 @@ - (void)request:(APSHTTPRequest *)request onRedirect:(APSHTTPResponse *)response - (void)setOnload:(id)callback { ENSURE_SINGLE_ARG_OR_NIL(callback, KrollCallback) - [self replaceValue:callback - forKey:@"onload" - notification:NO]; + [self replaceValue:callback + forKey:@"onload" + notification:NO]; hasOnload = (callback == nil) ? NO : YES; } - (void)setOnerror:(id)callback { ENSURE_SINGLE_ARG_OR_NIL(callback, KrollCallback) - [self replaceValue:callback - forKey:@"onerror" - notification:NO]; + [self replaceValue:callback + forKey:@"onerror" + notification:NO]; hasOnerror = (callback == nil) ? NO : YES; ; } - (void)setOnreadystatechange:(id)callback { ENSURE_SINGLE_ARG_OR_NIL(callback, KrollCallback) - [self replaceValue:callback - forKey:@"onreadystatechange" - notification:NO]; + [self replaceValue:callback + forKey:@"onreadystatechange" + notification:NO]; hasOnreadystatechange = (callback == nil) ? NO : YES; ; } - (void)setOndatastream:(id)callback { ENSURE_SINGLE_ARG_OR_NIL(callback, KrollCallback) - [self replaceValue:callback - forKey:@"ondatastream" - notification:NO]; + [self replaceValue:callback + forKey:@"ondatastream" + notification:NO]; hasOndatastream = (callback == nil) ? NO : YES; ; } - (void)setOnsendstream:(id)callback { ENSURE_SINGLE_ARG_OR_NIL(callback, KrollCallback) - [self replaceValue:callback - forKey:@"onsendstream" - notification:NO]; + [self replaceValue:callback + forKey:@"onsendstream" + notification:NO]; hasOnsendstream = (callback == nil) ? NO : YES; ; } - (void)setOnredirect:(id)callback { ENSURE_SINGLE_ARG_OR_NIL(callback, KrollCallback) - [self replaceValue:callback - forKey:@"onredirect" - notification:NO]; + [self replaceValue:callback + forKey:@"onredirect" + notification:NO]; hasOnredirect = (callback == nil) ? NO : YES; ; } diff --git a/iphone/Classes/TiUIDashboardViewProxy.m b/iphone/Classes/TiUIDashboardViewProxy.m index 372714e7da9..f423e2fa0d9 100644 --- a/iphone/Classes/TiUIDashboardViewProxy.m +++ b/iphone/Classes/TiUIDashboardViewProxy.m @@ -78,7 +78,7 @@ - (void)setData:(id)data { for (TiViewProxy *proxy in data) { ENSURE_TYPE(proxy, TiUIDashboardItemProxy) - [self rememberProxy:proxy]; + [self rememberProxy:proxy]; } [self replaceValue:data forKey:@"data" notification:NO]; diff --git a/iphone/Classes/TiUIScrollableView.m b/iphone/Classes/TiUIScrollableView.m index ac711ed3931..15ac9e21663 100644 --- a/iphone/Classes/TiUIScrollableView.m +++ b/iphone/Classes/TiUIScrollableView.m @@ -180,27 +180,27 @@ - (void)removeSubview:(nonnull UIView *)view - (void)addSubview:(nonnull UIView *)view { WRAP_TI_VIEW(view) - [[self contentView] addSubview:wrapperView]; + [[self contentView] addSubview:wrapperView]; } - (void)insertSubview:(UIView *)view aboveSubview:(UIView *)siblingSubview { WRAP_TI_VIEW(view) - [[self contentView] insertSubview:wrapperView - aboveSubview:siblingSubview]; + [[self contentView] insertSubview:wrapperView + aboveSubview:siblingSubview]; } - (void)insertSubview:(UIView *)view atIndex:(NSInteger)index { WRAP_TI_VIEW(view) - [[self contentView] insertSubview:wrapperView - atIndex:index]; + [[self contentView] insertSubview:wrapperView + atIndex:index]; } - (void)insertSubview:(UIView *)view belowSubview:(UIView *)siblingSubview { WRAP_TI_VIEW(view) - [[self contentView] insertSubview:wrapperView - belowSubview:siblingSubview]; + [[self contentView] insertSubview:wrapperView + belowSubview:siblingSubview]; } #endif diff --git a/iphone/Classes/TiUITableView.m b/iphone/Classes/TiUITableView.m index 31fba206cbb..21b31a6663b 100644 --- a/iphone/Classes/TiUITableView.m +++ b/iphone/Classes/TiUITableView.m @@ -1653,7 +1653,7 @@ - (void)setKeyboardDismissMode_:(id)value - (void)setSeparatorInsets_:(id)arg { DEPRECATED_REPLACED(@"UI.TableView.separatorInsets", @"5.2.0", @"UI.TableView.tableSeparatorInsets") - [self setTableSeparatorInsets_:arg]; + [self setTableSeparatorInsets_:arg]; } - (void)setTableSeparatorInsets_:(id)arg diff --git a/iphone/Classes/UIModule.m b/iphone/Classes/UIModule.m index 114792f1cfb..9df5f9ca039 100644 --- a/iphone/Classes/UIModule.m +++ b/iphone/Classes/UIModule.m @@ -449,9 +449,9 @@ - (NSString *)TEXT_STYLE_LARGE_TITLE - (void)setOverrideUserInterfaceStyle:(id)args { ENSURE_SINGLE_ARG(args, NSNumber) - [self replaceValue:args - forKey:@"overrideUserInterfaceStyle" - notification:NO]; + [self replaceValue:args + forKey:@"overrideUserInterfaceStyle" + notification:NO]; int style = [TiUtils intValue:args def:UIUserInterfaceStyleUnspecified]; TiApp.app.window.overrideUserInterfaceStyle = style; } diff --git a/iphone/Classes/WatchSessionModule.m b/iphone/Classes/WatchSessionModule.m index 95b0239ddef..c34b682052c 100644 --- a/iphone/Classes/WatchSessionModule.m +++ b/iphone/Classes/WatchSessionModule.m @@ -243,7 +243,7 @@ - (void)transferUserInfo:(id)value } ENSURE_SINGLE_ARG(value, NSDictionary) - [[self watchSession] transferUserInfo:value]; + [[self watchSession] transferUserInfo:value]; } // sent in background @@ -280,7 +280,7 @@ - (void)transferCurrentComplication:(id)value } ENSURE_SINGLE_ARG(value, NSDictionary) - [[self watchSession] transferCurrentComplicationUserInfo:value]; + [[self watchSession] transferCurrentComplicationUserInfo:value]; } - (void)cancelAllUserInfoTransfers:(id)value diff --git a/iphone/TitaniumKit/TitaniumKit/Sources/API/SBJSON.m b/iphone/TitaniumKit/TitaniumKit/Sources/API/SBJSON.m index a665731e68b..e2c007619bb 100644 --- a/iphone/TitaniumKit/TitaniumKit/Sources/API/SBJSON.m +++ b/iphone/TitaniumKit/TitaniumKit/Sources/API/SBJSON.m @@ -922,10 +922,10 @@ - (BOOL)scanHexQuad:(unichar *)x error:(NSError **)error int d = (uc >= '0' && uc <= '9') ? uc - '0' : (uc >= 'a' && uc <= 'f') - ? (uc - 'a' + 10) - : (uc >= 'A' && uc <= 'F') - ? (uc - 'A' + 10) - : -1; + ? (uc - 'a' + 10) + : (uc >= 'A' && uc <= 'F') + ? (uc - 'A' + 10) + : -1; if (d == -1) { if (error) *error = err(EUNICODE, @"Missing hex digit in quad"); diff --git a/iphone/TitaniumKit/TitaniumKit/Sources/API/TiProxy.m b/iphone/TitaniumKit/TitaniumKit/Sources/API/TiProxy.m index ebbb9cddac4..a43a4a5b75f 100644 --- a/iphone/TitaniumKit/TitaniumKit/Sources/API/TiProxy.m +++ b/iphone/TitaniumKit/TitaniumKit/Sources/API/TiProxy.m @@ -1120,7 +1120,7 @@ - (void)setValue:(id)value forUndefinedKey:(NSString *)key - (void)applyProperties:(id)args { ENSURE_SINGLE_ARG(args, NSDictionary) - [self setValuesForKeysWithDictionary:args]; + [self setValuesForKeysWithDictionary:args]; } - (NSDictionary *)allProperties From 7e9b52c0d67dd7de65f2a3cabfc0c06dba9e9309 Mon Sep 17 00:00:00 2001 From: Michael Gangolf Date: Mon, 27 May 2024 09:54:05 +0200 Subject: [PATCH 10/35] fix(android): fix noresults event in ListView width custom query (#14034) --- .../java/ti/modules/titanium/ui/widget/listview/TiListView.java | 1 + 1 file changed, 1 insertion(+) diff --git a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/listview/TiListView.java b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/listview/TiListView.java index 6d43dab93dc..e4cee03582b 100644 --- a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/listview/TiListView.java +++ b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/listview/TiListView.java @@ -667,6 +667,7 @@ public void update(boolean force) || properties.containsKeyAndNotNull(TiC.PROPERTY_FOOTER_VIEW); String query = properties.optString(TiC.PROPERTY_SEARCH_TEXT, filterQuery); + filterQuery = query; final boolean caseInsensitive = properties.optBoolean(TiC.PROPERTY_CASE_INSENSITIVE_SEARCH, true); if (query != null && caseInsensitive) { query = query.toLowerCase(); From e2bf653d406b772deeafb504a0b9f68e363cf3e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hans=20Kn=C3=B6chel?= Date: Tue, 28 May 2024 22:22:23 +0200 Subject: [PATCH 11/35] fix: address all whitespace-related linting issues --- iphone/Classes/TiUIiOSProxy.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/iphone/Classes/TiUIiOSProxy.h b/iphone/Classes/TiUIiOSProxy.h index 0350a3dea11..49d11504394 100644 --- a/iphone/Classes/TiUIiOSProxy.h +++ b/iphone/Classes/TiUIiOSProxy.h @@ -173,8 +173,8 @@ @property (nonatomic, readonly) NSNumber *LARGE_TITLE_DISPLAY_MODE_NEVER; /** - * Checks the force touch capibility of the current device. - */ + * Checks the force touch capibility of the current device. + */ - (NSNumber *)forceTouchSupported; #ifdef USE_TI_UIIOSCOVERFLOWVIEW From 8c92dc7521219efebad8943a5305348014bd32e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hans=20Kn=C3=B6chel?= Date: Tue, 28 May 2024 22:31:03 +0200 Subject: [PATCH 12/35] fix: address all whitespace-related linting issues part 2 --- iphone/Classes/TiMediaAudioRecorderProxy.mm | 68 ++++++++++--------- .../TitaniumKit/Sources/API/TiApp.h | 2 +- .../TitaniumKit/Sources/API/TiApp.m | 24 +++---- .../Sources/API/TiRootViewController.m | 4 +- 4 files changed, 51 insertions(+), 47 deletions(-) diff --git a/iphone/Classes/TiMediaAudioRecorderProxy.mm b/iphone/Classes/TiMediaAudioRecorderProxy.mm index 09960ddf964..e68711daf3c 100644 --- a/iphone/Classes/TiMediaAudioRecorderProxy.mm +++ b/iphone/Classes/TiMediaAudioRecorderProxy.mm @@ -62,16 +62,17 @@ - (void)start:(id)args return; } RELEASE_TO_NIL(file); - TiThreadPerformOnMainThread(^{ - [self configureRecorder]; - if (recorder != nil) { - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(audioInterruptionBegin:) name:kTiMediaAudioSessionInterruptionBegin object:[TiMediaAudioSession sharedSession]]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(audioInterruptionEnd:) name:kTiMediaAudioSessionInterruptionEnd object:[TiMediaAudioSession sharedSession]]; - [[TiMediaAudioSession sharedSession] startAudioSession]; - [recorder record]; - curState = RecordStarted; - } - }, + TiThreadPerformOnMainThread( + ^{ + [self configureRecorder]; + if (recorder != nil) { + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(audioInterruptionBegin:) name:kTiMediaAudioSessionInterruptionBegin object:[TiMediaAudioSession sharedSession]]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(audioInterruptionEnd:) name:kTiMediaAudioSessionInterruptionEnd object:[TiMediaAudioSession sharedSession]]; + [[TiMediaAudioSession sharedSession] startAudioSession]; + [recorder record]; + curState = RecordStarted; + } + }, YES); } @@ -81,16 +82,17 @@ - (id)stop:(id)args return; } __block TiFilesystemFileProxy *theProxy = nil; - TiThreadPerformOnMainThread(^{ - if (recorder != nil) { - [recorder stop]; - [[TiMediaAudioSession sharedSession] stopAudioSession]; - } - curState = RecordStopped; - [[NSNotificationCenter defaultCenter] removeObserver:self]; - theProxy = [[[TiFilesystemFileProxy alloc] initWithFile:[file path]] retain]; - RELEASE_TO_NIL_AUTORELEASE(recorder); - }, + TiThreadPerformOnMainThread( + ^{ + if (recorder != nil) { + [recorder stop]; + [[TiMediaAudioSession sharedSession] stopAudioSession]; + } + curState = RecordStopped; + [[NSNotificationCenter defaultCenter] removeObserver:self]; + theProxy = [[[TiFilesystemFileProxy alloc] initWithFile:[file path]] retain]; + RELEASE_TO_NIL_AUTORELEASE(recorder); + }, YES); return [theProxy autorelease]; } @@ -100,12 +102,13 @@ - (void)pause:(id)args if (curState != RecordStarted) { return; } - TiThreadPerformOnMainThread(^{ - if (recorder != nil) { - [recorder pause]; - curState = RecordPaused; - } - }, + TiThreadPerformOnMainThread( + ^{ + if (recorder != nil) { + [recorder pause]; + curState = RecordPaused; + } + }, YES); } @@ -114,12 +117,13 @@ - (void)resume:(id)args if (curState != RecordPaused) { return; } - TiThreadPerformOnMainThread(^{ - if (recorder != nil) { - [recorder record]; - curState = RecordStarted; - } - }, + TiThreadPerformOnMainThread( + ^{ + if (recorder != nil) { + [recorder record]; + curState = RecordStarted; + } + }, YES); } diff --git a/iphone/TitaniumKit/TitaniumKit/Sources/API/TiApp.h b/iphone/TitaniumKit/TitaniumKit/Sources/API/TiApp.h index 385adfb6954..fb3769d87ce 100644 --- a/iphone/TitaniumKit/TitaniumKit/Sources/API/TiApp.h +++ b/iphone/TitaniumKit/TitaniumKit/Sources/API/TiApp.h @@ -16,7 +16,7 @@ extern BOOL applicationInMemoryPanic; // TODO: Remove in SDK 9.0+ // TODO: Remove in SDK 9.0+ -TI_INLINE void waitForMemoryPanicCleared() //WARNING: This must never be run on main thread, or else there is a risk of deadlock! +TI_INLINE void waitForMemoryPanicCleared() // WARNING: This must never be run on main thread, or else there is a risk of deadlock! { } diff --git a/iphone/TitaniumKit/TitaniumKit/Sources/API/TiApp.m b/iphone/TitaniumKit/TitaniumKit/Sources/API/TiApp.m index fd53a04cc7f..35c3346f7bc 100644 --- a/iphone/TitaniumKit/TitaniumKit/Sources/API/TiApp.m +++ b/iphone/TitaniumKit/TitaniumKit/Sources/API/TiApp.m @@ -36,7 +36,7 @@ BOOL applicationInMemoryPanic = NO; // TODO: Remove in SDK 9.0+ // TODO: Remove in SDK 9.0+ -TI_INLINE void waitForMemoryPanicCleared(void); //WARNING: This must never be run on main thread, or else there is a risk of deadlock! +TI_INLINE void waitForMemoryPanicCleared(void); // WARNING: This must never be run on main thread, or else there is a risk of deadlock! @interface TiApp () - (void)checkBackgroundServices; @@ -496,7 +496,7 @@ - (void)application:(UIApplication *)application performFetchWithCompletionHandl [self tryToInvokeSelector:@selector(application:performFetchWithCompletionHandler:) withArguments:[NSOrderedSet orderedSetWithObjects:application, [completionHandler copy], nil]]; - //Only for simulator builds + // Only for simulator builds NSArray *backgroundModes = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"UIBackgroundModes"]; if ([backgroundModes containsObject:@"fetch"]) { @@ -585,7 +585,7 @@ - (void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNoti [self application:[UIApplication sharedApplication] handleActionWithIdentifier:response.actionIdentifier forRemoteNotification:response.notification.request.content.userInfo withResponseInfo:responseInfo completionHandler:completionHandler]; } } else { - //NOTE Local notifications should be handled similar to BG above which ultimately calls handleRemoteNotificationWithIdentifier as this will allow BG Actions to execute. + // NOTE Local notifications should be handled similar to BG above which ultimately calls handleRemoteNotificationWithIdentifier as this will allow BG Actions to execute. RELEASE_TO_NIL(localNotification); localNotification = [[[self class] dictionaryWithUserNotification:response.notification withIdentifier:response.actionIdentifier] retain]; @@ -796,7 +796,7 @@ - (void)performCompletionHandlerWithKey:(NSString *)key andResult:(UIBackgroundF } } -//Called to mark the end of background transfer while in the background. +// Called to mark the end of background transfer while in the background. - (void)performCompletionHandlerForBackgroundTransferWithKey:(NSString *)key { if ([backgroundTransferCompletionHandlers objectForKey:key] != nil) { @@ -847,7 +847,7 @@ - (void)application:(UIApplication *)application didReceiveRemoteNotification:(N #pragma mark Background Transfer Service -//Delegate callback for Background Transfer completes. +// Delegate callback for Background Transfer completes. - (void)application:(UIApplication *)application handleEventsForBackgroundURLSession:(NSString *)identifier completionHandler:(void (^)(void))completionHandler { // Generate unique key with timestamp. @@ -870,7 +870,7 @@ - (void)application:(UIApplication *)application handleEventsForBackgroundURLSes #pragma mark Background Transfer Service Delegates. -//TODO: Move these delegates to the module post 3.2.0 +// TODO: Move these delegates to the module post 3.2.0 - (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask didFinishDownloadingToURL:(NSURL *)location { @@ -938,7 +938,7 @@ - (void)URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask *)data if (!uploadTaskResponses) { uploadTaskResponses = [[NSMutableDictionary alloc] init]; } - //This dictionary will mutate if delegate is called + // This dictionary will mutate if delegate is called NSMutableDictionary *responseObj = [uploadTaskResponses objectForKey:@(dataTask.taskIdentifier)]; if (!responseObj) { NSMutableData *responseData = [NSMutableData dataWithData:data]; @@ -1012,7 +1012,7 @@ - (void)applicationWillTerminate:(UIApplication *)application NSNotificationCenter *theNotificationCenter = [NSNotificationCenter defaultCenter]; _willTerminate = YES; - //This will send out the 'close' message. + // This will send out the 'close' message. [theNotificationCenter postNotificationName:kTiWillShutdownNotification object:self]; NSCondition *condition = [[NSCondition alloc] init]; @@ -1023,7 +1023,7 @@ - (void)applicationWillTerminate:(UIApplication *)application [[TiLogServer defaultLogServer] stop]; } - //This will shut down the modules. + // This will shut down the modules. [theNotificationCenter postNotificationName:kTiShutdownNotification object:self]; RELEASE_TO_NIL(condition); RELEASE_TO_NIL(kjsBridge); @@ -1117,7 +1117,7 @@ - (void)applicationWillEnterForeground:(UIApplication *)application [sessionId release]; sessionId = [[TiUtils createUUID] retain]; - //TIMOB-3432. Ensure url is cleared when resume event is fired. + // TIMOB-3432. Ensure url is cleared when resume event is fired. [launchOptions removeObjectForKey:@"url"]; [launchOptions removeObjectForKey:@"source"]; @@ -1130,7 +1130,7 @@ - (void)applicationWillEnterForeground:(UIApplication *)application [self endBackgrounding]; } -//TODO: this should be compiled out in production mode +// TODO: this should be compiled out in production mode - (void)showModalError:(NSString *)message { NSLog(@"[ERROR] Application received error: %@", message); @@ -1370,7 +1370,7 @@ - (void)registerBackgroundService:(TiProxy *)proxy backgroundServices = [[NSMutableArray alloc] initWithCapacity:1]; } - //Only add if it isn't already added + // Only add if it isn't already added if (![backgroundServices containsObject:proxy]) { [backgroundServices addObject:proxy]; } diff --git a/iphone/TitaniumKit/TitaniumKit/Sources/API/TiRootViewController.m b/iphone/TitaniumKit/TitaniumKit/Sources/API/TiRootViewController.m index 14f8428699b..a244cd3f3a2 100644 --- a/iphone/TitaniumKit/TitaniumKit/Sources/API/TiRootViewController.m +++ b/iphone/TitaniumKit/TitaniumKit/Sources/API/TiRootViewController.m @@ -696,7 +696,7 @@ - (void)shutdownUi:(id)arg if (![TiSharedConfig defaultConfig].debugEnabled) { return; } - //FIRST DISMISS ALL MODAL WINDOWS + // FIRST DISMISS ALL MODAL WINDOWS UIViewController *topVC = [self topPresentedController]; if (topVC != self) { UIViewController *presenter = [topVC presentingViewController]; @@ -706,7 +706,7 @@ - (void)shutdownUi:(id)arg }]; return; } - //At this point all modal stuff is done. Go ahead and clean up proxies. + // At this point all modal stuff is done. Go ahead and clean up proxies. NSArray *modalCopy = [modalWindows copy]; NSArray *windowCopy = [containedWindows copy]; From 953019cade2a5864d9177ae63f2244d26e8ceeb2 Mon Sep 17 00:00:00 2001 From: Ewan Harris Date: Tue, 28 May 2024 22:56:51 +0100 Subject: [PATCH 13/35] style(ios): adjust to changes after clang-format update --- iphone/Classes/AppModule.m | 6 ++-- iphone/Classes/ContactsModule.m | 6 ++-- iphone/Classes/TiAppPropertiesProxy.m | 16 ++++----- iphone/Classes/TiAppiOSUserDefaultsProxy.m | 16 ++++----- iphone/Classes/TiMediaVideoPlayerProxy.m | 2 +- iphone/Classes/TiNetworkHTTPClientProxy.m | 36 +++++++++---------- iphone/Classes/TiUIDashboardViewProxy.m | 2 +- iphone/Classes/TiUIScrollableView.m | 14 ++++---- iphone/Classes/TiUITableView.m | 2 +- iphone/Classes/TiUIiOSProxy.h | 4 +-- iphone/Classes/UIModule.m | 6 ++-- iphone/Classes/WatchSessionModule.m | 4 +-- .../TitaniumKit/Sources/API/SBJSON.m | 8 ++--- .../TitaniumKit/Sources/API/TiProxy.m | 2 +- 14 files changed, 62 insertions(+), 62 deletions(-) diff --git a/iphone/Classes/AppModule.m b/iphone/Classes/AppModule.m index f77864c24dd..bf364f6036a 100644 --- a/iphone/Classes/AppModule.m +++ b/iphone/Classes/AppModule.m @@ -591,9 +591,9 @@ - (NSNumber *)keyboardVisible - (void)setForceSplashAsSnapshot:(id)args { ENSURE_SINGLE_ARG(args, NSNumber) - [self replaceValue:args - forKey:@"forceSplashAsSnapshot" - notification:NO]; + [self replaceValue:args + forKey:@"forceSplashAsSnapshot" + notification:NO]; BOOL flag = [TiUtils boolValue:args def:NO]; [[TiApp app] setForceSplashAsSnapshot:flag]; } diff --git a/iphone/Classes/ContactsModule.m b/iphone/Classes/ContactsModule.m index 76f7df78a86..b4dafd405ed 100644 --- a/iphone/Classes/ContactsModule.m +++ b/iphone/Classes/ContactsModule.m @@ -90,9 +90,9 @@ - (void)dealloc RELEASE_TO_NIL(contactStore) saveRequest = nil; RELEASE_TO_NIL(contactPicker) - [[NSNotificationCenter defaultCenter] removeObserver:self - name:CNContactStoreDidChangeNotification - object:nil]; + [[NSNotificationCenter defaultCenter] removeObserver:self + name:CNContactStoreDidChangeNotification + object:nil]; [super dealloc]; } diff --git a/iphone/Classes/TiAppPropertiesProxy.m b/iphone/Classes/TiAppPropertiesProxy.m index 501967299d9..7e62f299198 100644 --- a/iphone/Classes/TiAppPropertiesProxy.m +++ b/iphone/Classes/TiAppPropertiesProxy.m @@ -179,32 +179,32 @@ - (NSDictionary *)bridgedDictionaryFromDictionary:(NSDictionary *)dictionary wit - (void)setBool:(id)args { SETPROP - [defaultsObject setBool:[TiUtils boolValue:value] - forKey:key]; + [defaultsObject setBool:[TiUtils boolValue:value] + forKey:key]; [defaultsObject synchronize]; } - (void)setDouble:(id)args { SETPROP - [defaultsObject setDouble:[TiUtils doubleValue:value] - forKey:key]; + [defaultsObject setDouble:[TiUtils doubleValue:value] + forKey:key]; [defaultsObject synchronize]; } - (void)setInt:(id)args { SETPROP - [defaultsObject setInteger:[TiUtils intValue:value] - forKey:key]; + [defaultsObject setInteger:[TiUtils intValue:value] + forKey:key]; [defaultsObject synchronize]; } - (void)setString:(id)args { SETPROP - [defaultsObject setObject:[TiUtils stringValue:value] - forKey:key]; + [defaultsObject setObject:[TiUtils stringValue:value] + forKey:key]; [defaultsObject synchronize]; } diff --git a/iphone/Classes/TiAppiOSUserDefaultsProxy.m b/iphone/Classes/TiAppiOSUserDefaultsProxy.m index eb4ed48696a..ec93b684a2e 100644 --- a/iphone/Classes/TiAppiOSUserDefaultsProxy.m +++ b/iphone/Classes/TiAppiOSUserDefaultsProxy.m @@ -138,32 +138,32 @@ - (id)getObject:(id)args - (void)setBool:(id)args { SETPROP - [self.defaultsObject setBool:[TiUtils boolValue:value] - forKey:key]; + [self.defaultsObject setBool:[TiUtils boolValue:value] + forKey:key]; [self.defaultsObject synchronize]; } - (void)setDouble:(id)args { SETPROP - [self.defaultsObject setDouble:[TiUtils doubleValue:value] - forKey:key]; + [self.defaultsObject setDouble:[TiUtils doubleValue:value] + forKey:key]; [self.defaultsObject synchronize]; } - (void)setInt:(id)args { SETPROP - [self.defaultsObject setInteger:[TiUtils intValue:value] - forKey:key]; + [self.defaultsObject setInteger:[TiUtils intValue:value] + forKey:key]; [self.defaultsObject synchronize]; } - (void)setString:(id)args { SETPROP - [self.defaultsObject setObject:[TiUtils stringValue:value] - forKey:key]; + [self.defaultsObject setObject:[TiUtils stringValue:value] + forKey:key]; [self.defaultsObject synchronize]; } diff --git a/iphone/Classes/TiMediaVideoPlayerProxy.m b/iphone/Classes/TiMediaVideoPlayerProxy.m index 57a12587503..64d8d1bbca4 100644 --- a/iphone/Classes/TiMediaVideoPlayerProxy.m +++ b/iphone/Classes/TiMediaVideoPlayerProxy.m @@ -226,7 +226,7 @@ - (void)setOverlayView:(id)proxy - (void)setBackgroundView:(id)proxy { DEPRECATED_REPLACED(@"Media.VideoPlayer.backgroundView", @"7.0.0", @"Media.VideoPlayer.overlayView") - [self setOverlayView:proxy]; + [self setOverlayView:proxy]; } - (NSNumber *)playing diff --git a/iphone/Classes/TiNetworkHTTPClientProxy.m b/iphone/Classes/TiNetworkHTTPClientProxy.m index 5bf263edc9a..483dd80e13f 100644 --- a/iphone/Classes/TiNetworkHTTPClientProxy.m +++ b/iphone/Classes/TiNetworkHTTPClientProxy.m @@ -395,53 +395,53 @@ - (void)request:(APSHTTPRequest *)request onRedirect:(APSHTTPResponse *)response - (void)setOnload:(id)callback { ENSURE_SINGLE_ARG_OR_NIL(callback, KrollCallback) - [self replaceValue:callback - forKey:@"onload" - notification:NO]; + [self replaceValue:callback + forKey:@"onload" + notification:NO]; hasOnload = (callback == nil) ? NO : YES; } - (void)setOnerror:(id)callback { ENSURE_SINGLE_ARG_OR_NIL(callback, KrollCallback) - [self replaceValue:callback - forKey:@"onerror" - notification:NO]; + [self replaceValue:callback + forKey:@"onerror" + notification:NO]; hasOnerror = (callback == nil) ? NO : YES; ; } - (void)setOnreadystatechange:(id)callback { ENSURE_SINGLE_ARG_OR_NIL(callback, KrollCallback) - [self replaceValue:callback - forKey:@"onreadystatechange" - notification:NO]; + [self replaceValue:callback + forKey:@"onreadystatechange" + notification:NO]; hasOnreadystatechange = (callback == nil) ? NO : YES; ; } - (void)setOndatastream:(id)callback { ENSURE_SINGLE_ARG_OR_NIL(callback, KrollCallback) - [self replaceValue:callback - forKey:@"ondatastream" - notification:NO]; + [self replaceValue:callback + forKey:@"ondatastream" + notification:NO]; hasOndatastream = (callback == nil) ? NO : YES; ; } - (void)setOnsendstream:(id)callback { ENSURE_SINGLE_ARG_OR_NIL(callback, KrollCallback) - [self replaceValue:callback - forKey:@"onsendstream" - notification:NO]; + [self replaceValue:callback + forKey:@"onsendstream" + notification:NO]; hasOnsendstream = (callback == nil) ? NO : YES; ; } - (void)setOnredirect:(id)callback { ENSURE_SINGLE_ARG_OR_NIL(callback, KrollCallback) - [self replaceValue:callback - forKey:@"onredirect" - notification:NO]; + [self replaceValue:callback + forKey:@"onredirect" + notification:NO]; hasOnredirect = (callback == nil) ? NO : YES; ; } diff --git a/iphone/Classes/TiUIDashboardViewProxy.m b/iphone/Classes/TiUIDashboardViewProxy.m index f423e2fa0d9..372714e7da9 100644 --- a/iphone/Classes/TiUIDashboardViewProxy.m +++ b/iphone/Classes/TiUIDashboardViewProxy.m @@ -78,7 +78,7 @@ - (void)setData:(id)data { for (TiViewProxy *proxy in data) { ENSURE_TYPE(proxy, TiUIDashboardItemProxy) - [self rememberProxy:proxy]; + [self rememberProxy:proxy]; } [self replaceValue:data forKey:@"data" notification:NO]; diff --git a/iphone/Classes/TiUIScrollableView.m b/iphone/Classes/TiUIScrollableView.m index 15ac9e21663..ac711ed3931 100644 --- a/iphone/Classes/TiUIScrollableView.m +++ b/iphone/Classes/TiUIScrollableView.m @@ -180,27 +180,27 @@ - (void)removeSubview:(nonnull UIView *)view - (void)addSubview:(nonnull UIView *)view { WRAP_TI_VIEW(view) - [[self contentView] addSubview:wrapperView]; + [[self contentView] addSubview:wrapperView]; } - (void)insertSubview:(UIView *)view aboveSubview:(UIView *)siblingSubview { WRAP_TI_VIEW(view) - [[self contentView] insertSubview:wrapperView - aboveSubview:siblingSubview]; + [[self contentView] insertSubview:wrapperView + aboveSubview:siblingSubview]; } - (void)insertSubview:(UIView *)view atIndex:(NSInteger)index { WRAP_TI_VIEW(view) - [[self contentView] insertSubview:wrapperView - atIndex:index]; + [[self contentView] insertSubview:wrapperView + atIndex:index]; } - (void)insertSubview:(UIView *)view belowSubview:(UIView *)siblingSubview { WRAP_TI_VIEW(view) - [[self contentView] insertSubview:wrapperView - belowSubview:siblingSubview]; + [[self contentView] insertSubview:wrapperView + belowSubview:siblingSubview]; } #endif diff --git a/iphone/Classes/TiUITableView.m b/iphone/Classes/TiUITableView.m index 21b31a6663b..31fba206cbb 100644 --- a/iphone/Classes/TiUITableView.m +++ b/iphone/Classes/TiUITableView.m @@ -1653,7 +1653,7 @@ - (void)setKeyboardDismissMode_:(id)value - (void)setSeparatorInsets_:(id)arg { DEPRECATED_REPLACED(@"UI.TableView.separatorInsets", @"5.2.0", @"UI.TableView.tableSeparatorInsets") - [self setTableSeparatorInsets_:arg]; + [self setTableSeparatorInsets_:arg]; } - (void)setTableSeparatorInsets_:(id)arg diff --git a/iphone/Classes/TiUIiOSProxy.h b/iphone/Classes/TiUIiOSProxy.h index 49d11504394..0350a3dea11 100644 --- a/iphone/Classes/TiUIiOSProxy.h +++ b/iphone/Classes/TiUIiOSProxy.h @@ -173,8 +173,8 @@ @property (nonatomic, readonly) NSNumber *LARGE_TITLE_DISPLAY_MODE_NEVER; /** - * Checks the force touch capibility of the current device. - */ + * Checks the force touch capibility of the current device. + */ - (NSNumber *)forceTouchSupported; #ifdef USE_TI_UIIOSCOVERFLOWVIEW diff --git a/iphone/Classes/UIModule.m b/iphone/Classes/UIModule.m index 9df5f9ca039..114792f1cfb 100644 --- a/iphone/Classes/UIModule.m +++ b/iphone/Classes/UIModule.m @@ -449,9 +449,9 @@ - (NSString *)TEXT_STYLE_LARGE_TITLE - (void)setOverrideUserInterfaceStyle:(id)args { ENSURE_SINGLE_ARG(args, NSNumber) - [self replaceValue:args - forKey:@"overrideUserInterfaceStyle" - notification:NO]; + [self replaceValue:args + forKey:@"overrideUserInterfaceStyle" + notification:NO]; int style = [TiUtils intValue:args def:UIUserInterfaceStyleUnspecified]; TiApp.app.window.overrideUserInterfaceStyle = style; } diff --git a/iphone/Classes/WatchSessionModule.m b/iphone/Classes/WatchSessionModule.m index c34b682052c..95b0239ddef 100644 --- a/iphone/Classes/WatchSessionModule.m +++ b/iphone/Classes/WatchSessionModule.m @@ -243,7 +243,7 @@ - (void)transferUserInfo:(id)value } ENSURE_SINGLE_ARG(value, NSDictionary) - [[self watchSession] transferUserInfo:value]; + [[self watchSession] transferUserInfo:value]; } // sent in background @@ -280,7 +280,7 @@ - (void)transferCurrentComplication:(id)value } ENSURE_SINGLE_ARG(value, NSDictionary) - [[self watchSession] transferCurrentComplicationUserInfo:value]; + [[self watchSession] transferCurrentComplicationUserInfo:value]; } - (void)cancelAllUserInfoTransfers:(id)value diff --git a/iphone/TitaniumKit/TitaniumKit/Sources/API/SBJSON.m b/iphone/TitaniumKit/TitaniumKit/Sources/API/SBJSON.m index e2c007619bb..a665731e68b 100644 --- a/iphone/TitaniumKit/TitaniumKit/Sources/API/SBJSON.m +++ b/iphone/TitaniumKit/TitaniumKit/Sources/API/SBJSON.m @@ -922,10 +922,10 @@ - (BOOL)scanHexQuad:(unichar *)x error:(NSError **)error int d = (uc >= '0' && uc <= '9') ? uc - '0' : (uc >= 'a' && uc <= 'f') - ? (uc - 'a' + 10) - : (uc >= 'A' && uc <= 'F') - ? (uc - 'A' + 10) - : -1; + ? (uc - 'a' + 10) + : (uc >= 'A' && uc <= 'F') + ? (uc - 'A' + 10) + : -1; if (d == -1) { if (error) *error = err(EUNICODE, @"Missing hex digit in quad"); diff --git a/iphone/TitaniumKit/TitaniumKit/Sources/API/TiProxy.m b/iphone/TitaniumKit/TitaniumKit/Sources/API/TiProxy.m index a43a4a5b75f..ebbb9cddac4 100644 --- a/iphone/TitaniumKit/TitaniumKit/Sources/API/TiProxy.m +++ b/iphone/TitaniumKit/TitaniumKit/Sources/API/TiProxy.m @@ -1120,7 +1120,7 @@ - (void)setValue:(id)value forUndefinedKey:(NSString *)key - (void)applyProperties:(id)args { ENSURE_SINGLE_ARG(args, NSDictionary) - [self setValuesForKeysWithDictionary:args]; + [self setValuesForKeysWithDictionary:args]; } - (NSDictionary *)allProperties From f5f47159dd76c1048afc3587e237f64bf92ca577 Mon Sep 17 00:00:00 2001 From: Ewan Harris Date: Tue, 28 May 2024 22:58:40 +0100 Subject: [PATCH 14/35] chore: remove pnpm lockfile --- pnpm-lock.yaml | 8786 ------------------------------------------------ 1 file changed, 8786 deletions(-) delete mode 100644 pnpm-lock.yaml diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml deleted file mode 100644 index 305b2430562..00000000000 --- a/pnpm-lock.yaml +++ /dev/null @@ -1,8786 +0,0 @@ -lockfileVersion: 5.4 - -specifiers: - '@commitlint/cli': ^13.2.0 - '@commitlint/config-conventional': ^13.2.0 - '@npmcli/arborist': ^2.10.0 - '@rollup/plugin-babel': ^5.3.0 - '@rollup/plugin-commonjs': ^21.0.3 - '@rollup/plugin-node-resolve': ^13.0.5 - '@seadub/clang-format-lint': 0.0.2 - '@seadub/danger-plugin-dependencies': 1.0.0 - '@seadub/danger-plugin-eslint': ^2.0.0 - '@seadub/danger-plugin-junit': ^0.3.0 - always-tail: ^0.2.0 - ansi-escapes: ^4.3.2 - appc-tasks: ^1.0.3 - archiver: ^5.3.0 - async: ^3.2.1 - babel-plugin-transform-titanium: ^0.1.1 - boxen: ^5.1.2 - buffer-equal: 1.0.0 - chai: ^4.3.4 - clang-format: 1.5.0 - clean-css: 5.2.1 - colors: ^1.4.0 - commander: ^8.2.0 - commitizen: ^4.2.4 - conventional-changelog-cli: ^2.1.1 - core-js: ^3.27.2 - cz-conventional-changelog: ^3.3.0 - danger: ^10.6.6 - ejs: ^3.1.8 - eslint: ^8.13.0 - eslint-config-axway: ^7.0.0 - eslint-plugin-mocha: ^10.0.0 - fields: 0.1.24 - folder-hash: ^4.0.1 - fs-extra: ^10.0.0 - glob: ^7.2.0 - husky: ^7.0.2 - ioslib: ^1.7.30 - lint-staged: ^11.1.2 - liveview: ^1.5.6 - lockfile-lint: ^4.7.4 - lodash.merge: ^4.6.2 - markdown: 0.5.0 - mocha: ^9.2.2 - mocha-jenkins-reporter: ^0.4.7 - moment: ^2.29.4 - node-appc: ^1.1.6 - node-titanium-sdk: ^5.1.7 - node-uuid: 1.4.8 - nodeify: ^1.0.1 - npm-run-all: ^4.1.5 - nyc: ^15.1.0 - p-limit: ^3.1.0 - pngjs: ^6.0.0 - request: ^2.88.2 - request-promise-native: ^1.0.9 - rollup: ^2.76.0 - semver: ^7.3.5 - simple-plist: ^1.3.1 - sprintf: 0.1.5 - ssri: ^8.0.1 - stream-splitter: ^0.3.2 - strip-ansi: ^6.0.0 - temp: 0.9.4 - titanium: ^6.1.1 - titanium-docgen: ^4.10.3 - wrap-ansi: ^7.0.0 - xcode: ^3.0.1 - xmldom: ^0.5.0 - yauzl: ^2.10.0 - -dependencies: - '@npmcli/arborist': 2.10.0 - always-tail: 0.2.0 - ansi-escapes: 4.3.2 - appc-tasks: 1.0.3 - archiver: 5.3.1 - async: 3.2.4 - boxen: 5.1.2 - buffer-equal: 1.0.0 - clean-css: 5.2.1 - colors: 1.4.0 - ejs: 3.1.8 - fields: 0.1.24 - fs-extra: 10.1.0 - ioslib: 1.7.30 - liveview: 1.5.6 - lodash.merge: 4.6.2 - markdown: 0.5.0 - moment: 2.29.4 - node-appc: 1.1.6 - node-titanium-sdk: 5.1.7 - node-uuid: 1.4.8 - nodeify: 1.0.1 - p-limit: 3.1.0 - pngjs: 6.0.0 - request: 2.88.2 - semver: 7.3.8 - simple-plist: 1.3.1 - sprintf: 0.1.5 - temp: 0.9.4 - wrap-ansi: 7.0.0 - xcode: 3.0.1 - xmldom: 0.5.0 - yauzl: 2.10.0 - -devDependencies: - '@commitlint/cli': 13.2.1 - '@commitlint/config-conventional': 13.2.0 - '@rollup/plugin-babel': 5.3.1_rollup@2.79.1 - '@rollup/plugin-commonjs': 21.1.0_rollup@2.79.1 - '@rollup/plugin-node-resolve': 13.3.0_rollup@2.79.1 - '@seadub/clang-format-lint': 0.0.2_clang-format@1.5.0 - '@seadub/danger-plugin-dependencies': 1.0.0 - '@seadub/danger-plugin-eslint': 2.0.0_eslint@8.34.0 - '@seadub/danger-plugin-junit': 0.3.0 - babel-plugin-transform-titanium: 0.1.1 - chai: 4.3.7 - clang-format: 1.5.0 - commander: 8.3.0 - commitizen: 4.3.0 - conventional-changelog-cli: 2.2.2 - core-js: 3.28.0 - cz-conventional-changelog: 3.3.0 - danger: 10.9.0 - eslint: 8.34.0 - eslint-config-axway: 7.0.1_eslint@8.34.0 - eslint-plugin-mocha: 10.1.0_eslint@8.34.0 - folder-hash: 4.0.4 - glob: 7.2.3 - husky: 7.0.4 - lint-staged: 11.2.6 - lockfile-lint: 4.10.1 - mocha: 9.2.2 - mocha-jenkins-reporter: 0.4.8_mocha@9.2.2 - npm-run-all: 4.1.5 - nyc: 15.1.0 - request-promise-native: 1.0.9_request@2.88.2 - rollup: 2.79.1 - ssri: 8.0.1 - stream-splitter: 0.3.2 - strip-ansi: 6.0.1 - titanium: 6.1.1 - titanium-docgen: 4.10.3 - -packages: - - /@ampproject/remapping/2.2.0: - resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/gen-mapping': 0.1.1 - '@jridgewell/trace-mapping': 0.3.17 - - /@babel/code-frame/7.18.6: - resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.18.6 - - /@babel/compat-data/7.20.14: - resolution: {integrity: sha512-0YpKHD6ImkWMEINCyDAD0HLLUH/lPCefG8ld9it8DJB2wnApraKuhgYTvTY1z7UFIfBTGy5LwncZ+5HWWGbhFw==} - engines: {node: '>=6.9.0'} - - /@babel/core/7.20.12: - resolution: {integrity: sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==} - engines: {node: '>=6.9.0'} - dependencies: - '@ampproject/remapping': 2.2.0 - '@babel/code-frame': 7.18.6 - '@babel/generator': 7.20.14 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12 - '@babel/helper-module-transforms': 7.20.11 - '@babel/helpers': 7.20.13 - '@babel/parser': 7.20.15 - '@babel/template': 7.20.7 - '@babel/traverse': 7.20.13 - '@babel/types': 7.20.7 - convert-source-map: 1.9.0 - debug: 4.3.4 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - - /@babel/generator/7.20.14: - resolution: {integrity: sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.20.7 - '@jridgewell/gen-mapping': 0.3.2 - jsesc: 2.5.2 - - /@babel/helper-annotate-as-pure/7.18.6: - resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.20.7 - dev: false - - /@babel/helper-builder-binary-assignment-operator-visitor/7.18.9: - resolution: {integrity: sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-explode-assignable-expression': 7.18.6 - '@babel/types': 7.20.7 - dev: false - - /@babel/helper-compilation-targets/7.20.7_@babel+core@7.20.12: - resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/compat-data': 7.20.14 - '@babel/core': 7.20.12 - '@babel/helper-validator-option': 7.18.6 - browserslist: 4.21.5 - lru-cache: 5.1.1 - semver: 6.3.0 - - /@babel/helper-create-class-features-plugin/7.20.12_@babel+core@7.20.12: - resolution: {integrity: sha512-9OunRkbT0JQcednL0UFvbfXpAsUXiGjUk0a7sN8fUXX7Mue79cUSMjHGDRRi/Vz9vYlpIhLV5fMD5dKoMhhsNQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-function-name': 7.19.0 - '@babel/helper-member-expression-to-functions': 7.20.7 - '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/helper-replace-supers': 7.20.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/helper-split-export-declaration': 7.18.6 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/helper-create-regexp-features-plugin/7.20.5_@babel+core@7.20.12: - resolution: {integrity: sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-annotate-as-pure': 7.18.6 - regexpu-core: 5.3.0 - dev: false - - /@babel/helper-define-polyfill-provider/0.3.3_@babel+core@7.20.12: - resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==} - peerDependencies: - '@babel/core': ^7.4.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - debug: 4.3.4 - lodash.debounce: 4.0.8 - resolve: 1.22.1 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/helper-environment-visitor/7.18.9: - resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} - engines: {node: '>=6.9.0'} - - /@babel/helper-explode-assignable-expression/7.18.6: - resolution: {integrity: sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.20.7 - dev: false - - /@babel/helper-function-name/7.19.0: - resolution: {integrity: sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.20.7 - '@babel/types': 7.20.7 - - /@babel/helper-hoist-variables/7.18.6: - resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.20.7 - - /@babel/helper-member-expression-to-functions/7.20.7: - resolution: {integrity: sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.20.7 - dev: false - - /@babel/helper-module-imports/7.18.6: - resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.20.7 - - /@babel/helper-module-transforms/7.20.11: - resolution: {integrity: sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-module-imports': 7.18.6 - '@babel/helper-simple-access': 7.20.2 - '@babel/helper-split-export-declaration': 7.18.6 - '@babel/helper-validator-identifier': 7.19.1 - '@babel/template': 7.20.7 - '@babel/traverse': 7.20.13 - '@babel/types': 7.20.7 - transitivePeerDependencies: - - supports-color - - /@babel/helper-optimise-call-expression/7.18.6: - resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.20.7 - dev: false - - /@babel/helper-plugin-utils/7.20.2: - resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==} - engines: {node: '>=6.9.0'} - dev: false - - /@babel/helper-remap-async-to-generator/7.18.9_@babel+core@7.20.12: - resolution: {integrity: sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-wrap-function': 7.20.5 - '@babel/types': 7.20.7 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/helper-replace-supers/7.20.7: - resolution: {integrity: sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-member-expression-to-functions': 7.20.7 - '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/template': 7.20.7 - '@babel/traverse': 7.20.13 - '@babel/types': 7.20.7 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/helper-simple-access/7.20.2: - resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.20.7 - - /@babel/helper-skip-transparent-expression-wrappers/7.20.0: - resolution: {integrity: sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.20.7 - dev: false - - /@babel/helper-split-export-declaration/7.18.6: - resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.20.7 - - /@babel/helper-string-parser/7.19.4: - resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} - engines: {node: '>=6.9.0'} - - /@babel/helper-validator-identifier/7.19.1: - resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} - engines: {node: '>=6.9.0'} - - /@babel/helper-validator-option/7.18.6: - resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==} - engines: {node: '>=6.9.0'} - - /@babel/helper-wrap-function/7.20.5: - resolution: {integrity: sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-function-name': 7.19.0 - '@babel/template': 7.20.7 - '@babel/traverse': 7.20.13 - '@babel/types': 7.20.7 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/helpers/7.20.13: - resolution: {integrity: sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.20.7 - '@babel/traverse': 7.20.13 - '@babel/types': 7.20.7 - transitivePeerDependencies: - - supports-color - - /@babel/highlight/7.18.6: - resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.19.1 - chalk: 2.4.2 - js-tokens: 4.0.0 - - /@babel/parser/7.20.15: - resolution: {integrity: sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.20.7 - - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.18.6_@babel+core@7.20.12: - resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.20.7_@babel+core@7.20.12: - resolution: {integrity: sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.13.0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/plugin-proposal-optional-chaining': 7.20.7_@babel+core@7.20.12 - dev: false - - /@babel/plugin-proposal-async-generator-functions/7.20.7_@babel+core@7.20.12: - resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-remap-async-to-generator': 7.18.9_@babel+core@7.20.12 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.20.12 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/plugin-proposal-class-properties/7.18.6_@babel+core@7.20.12: - resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/plugin-proposal-class-static-block/7.20.7_@babel+core@7.20.12: - resolution: {integrity: sha512-AveGOoi9DAjUYYuUAG//Ig69GlazLnoyzMw68VCDux+c1tsnnH/OkYcpz/5xzMkEFC6UxjR5Gw1c+iY2wOGVeQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.12.0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.20.12 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/plugin-proposal-dynamic-import/7.18.6_@babel+core@7.20.12: - resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.20.12 - dev: false - - /@babel/plugin-proposal-export-namespace-from/7.18.9_@babel+core@7.20.12: - resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.20.12 - dev: false - - /@babel/plugin-proposal-json-strings/7.18.6_@babel+core@7.20.12: - resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.20.12 - dev: false - - /@babel/plugin-proposal-logical-assignment-operators/7.20.7_@babel+core@7.20.12: - resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.20.12 - dev: false - - /@babel/plugin-proposal-nullish-coalescing-operator/7.18.6_@babel+core@7.20.12: - resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.20.12 - dev: false - - /@babel/plugin-proposal-numeric-separator/7.18.6_@babel+core@7.20.12: - resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.20.12 - dev: false - - /@babel/plugin-proposal-object-rest-spread/7.20.7_@babel+core@7.20.12: - resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/compat-data': 7.20.14 - '@babel/core': 7.20.12 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.20.12 - '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.20.12 - dev: false - - /@babel/plugin-proposal-optional-catch-binding/7.18.6_@babel+core@7.20.12: - resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.20.12 - dev: false - - /@babel/plugin-proposal-optional-chaining/7.20.7_@babel+core@7.20.12: - resolution: {integrity: sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.20.12 - dev: false - - /@babel/plugin-proposal-private-methods/7.18.6_@babel+core@7.20.12: - resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/plugin-proposal-private-property-in-object/7.20.5_@babel+core@7.20.12: - resolution: {integrity: sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.20.12 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/plugin-proposal-unicode-property-regex/7.18.6_@babel+core@7.20.12: - resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} - engines: {node: '>=4'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-create-regexp-features-plugin': 7.20.5_@babel+core@7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.20.12: - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.20.12: - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.20.12: - resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.20.12: - resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.20.12: - resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-syntax-import-assertions/7.20.0_@babel+core@7.20.12: - resolution: {integrity: sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.20.12: - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.20.12: - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.20.12: - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.20.12: - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.20.12: - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.20.12: - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.20.12: - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.20.12: - resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.20.12: - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-transform-arrow-functions/7.20.7_@babel+core@7.20.12: - resolution: {integrity: sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-transform-async-to-generator/7.20.7_@babel+core@7.20.12: - resolution: {integrity: sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-module-imports': 7.18.6 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-remap-async-to-generator': 7.18.9_@babel+core@7.20.12 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/plugin-transform-block-scoped-functions/7.18.6_@babel+core@7.20.12: - resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-transform-block-scoping/7.20.15_@babel+core@7.20.12: - resolution: {integrity: sha512-Vv4DMZ6MiNOhu/LdaZsT/bsLRxgL94d269Mv4R/9sp6+Mp++X/JqypZYypJXLlM4mlL352/Egzbzr98iABH1CA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-transform-classes/7.20.7_@babel+core@7.20.12: - resolution: {integrity: sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-function-name': 7.19.0 - '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-replace-supers': 7.20.7 - '@babel/helper-split-export-declaration': 7.18.6 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/plugin-transform-computed-properties/7.20.7_@babel+core@7.20.12: - resolution: {integrity: sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/template': 7.20.7 - dev: false - - /@babel/plugin-transform-destructuring/7.20.7_@babel+core@7.20.12: - resolution: {integrity: sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-transform-dotall-regex/7.18.6_@babel+core@7.20.12: - resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-create-regexp-features-plugin': 7.20.5_@babel+core@7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-transform-duplicate-keys/7.18.9_@babel+core@7.20.12: - resolution: {integrity: sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-transform-exponentiation-operator/7.18.6_@babel+core@7.20.12: - resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.18.9 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-transform-for-of/7.18.8_@babel+core@7.20.12: - resolution: {integrity: sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-transform-function-name/7.18.9_@babel+core@7.20.12: - resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12 - '@babel/helper-function-name': 7.19.0 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-transform-literals/7.18.9_@babel+core@7.20.12: - resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-transform-member-expression-literals/7.18.6_@babel+core@7.20.12: - resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-transform-modules-amd/7.20.11_@babel+core@7.20.12: - resolution: {integrity: sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-module-transforms': 7.20.11 - '@babel/helper-plugin-utils': 7.20.2 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/plugin-transform-modules-commonjs/7.20.11_@babel+core@7.20.12: - resolution: {integrity: sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-module-transforms': 7.20.11 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-simple-access': 7.20.2 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/plugin-transform-modules-systemjs/7.20.11_@babel+core@7.20.12: - resolution: {integrity: sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-hoist-variables': 7.18.6 - '@babel/helper-module-transforms': 7.20.11 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-validator-identifier': 7.19.1 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/plugin-transform-modules-umd/7.18.6_@babel+core@7.20.12: - resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-module-transforms': 7.20.11 - '@babel/helper-plugin-utils': 7.20.2 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/plugin-transform-named-capturing-groups-regex/7.20.5_@babel+core@7.20.12: - resolution: {integrity: sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-create-regexp-features-plugin': 7.20.5_@babel+core@7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-transform-new-target/7.18.6_@babel+core@7.20.12: - resolution: {integrity: sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-transform-object-super/7.18.6_@babel+core@7.20.12: - resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-replace-supers': 7.20.7 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/plugin-transform-parameters/7.20.7_@babel+core@7.20.12: - resolution: {integrity: sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-transform-property-literals/7.18.6_@babel+core@7.20.12: - resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-transform-regenerator/7.20.5_@babel+core@7.20.12: - resolution: {integrity: sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - regenerator-transform: 0.15.1 - dev: false - - /@babel/plugin-transform-reserved-words/7.18.6_@babel+core@7.20.12: - resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-transform-shorthand-properties/7.18.6_@babel+core@7.20.12: - resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-transform-spread/7.20.7_@babel+core@7.20.12: - resolution: {integrity: sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - dev: false - - /@babel/plugin-transform-sticky-regex/7.18.6_@babel+core@7.20.12: - resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-transform-template-literals/7.18.9_@babel+core@7.20.12: - resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-transform-typeof-symbol/7.18.9_@babel+core@7.20.12: - resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-transform-unicode-escapes/7.18.10_@babel+core@7.20.12: - resolution: {integrity: sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/plugin-transform-unicode-regex/7.18.6_@babel+core@7.20.12: - resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-create-regexp-features-plugin': 7.20.5_@babel+core@7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - dev: false - - /@babel/polyfill/7.12.1: - resolution: {integrity: sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g==} - deprecated: 🚨 This package has been deprecated in favor of separate inclusion of a polyfill and regenerator-runtime (when needed). See the @babel/polyfill docs (https://babeljs.io/docs/en/babel-polyfill) for more information. - dependencies: - core-js: 2.6.12 - regenerator-runtime: 0.13.11 - dev: true - - /@babel/preset-env/7.20.2_@babel+core@7.20.12: - resolution: {integrity: sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/compat-data': 7.20.14 - '@babel/core': 7.20.12 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-validator-option': 7.18.6 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6_@babel+core@7.20.12 - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.20.7_@babel+core@7.20.12 - '@babel/plugin-proposal-async-generator-functions': 7.20.7_@babel+core@7.20.12 - '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.20.12 - '@babel/plugin-proposal-class-static-block': 7.20.7_@babel+core@7.20.12 - '@babel/plugin-proposal-dynamic-import': 7.18.6_@babel+core@7.20.12 - '@babel/plugin-proposal-export-namespace-from': 7.18.9_@babel+core@7.20.12 - '@babel/plugin-proposal-json-strings': 7.18.6_@babel+core@7.20.12 - '@babel/plugin-proposal-logical-assignment-operators': 7.20.7_@babel+core@7.20.12 - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6_@babel+core@7.20.12 - '@babel/plugin-proposal-numeric-separator': 7.18.6_@babel+core@7.20.12 - '@babel/plugin-proposal-object-rest-spread': 7.20.7_@babel+core@7.20.12 - '@babel/plugin-proposal-optional-catch-binding': 7.18.6_@babel+core@7.20.12 - '@babel/plugin-proposal-optional-chaining': 7.20.7_@babel+core@7.20.12 - '@babel/plugin-proposal-private-methods': 7.18.6_@babel+core@7.20.12 - '@babel/plugin-proposal-private-property-in-object': 7.20.5_@babel+core@7.20.12 - '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.20.12 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.20.12 - '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.20.12 - '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.20.12 - '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.20.12 - '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.20.12 - '@babel/plugin-syntax-import-assertions': 7.20.0_@babel+core@7.20.12 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.20.12 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.20.12 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.20.12 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.20.12 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.20.12 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.20.12 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.20.12 - '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.20.12 - '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.20.12 - '@babel/plugin-transform-arrow-functions': 7.20.7_@babel+core@7.20.12 - '@babel/plugin-transform-async-to-generator': 7.20.7_@babel+core@7.20.12 - '@babel/plugin-transform-block-scoped-functions': 7.18.6_@babel+core@7.20.12 - '@babel/plugin-transform-block-scoping': 7.20.15_@babel+core@7.20.12 - '@babel/plugin-transform-classes': 7.20.7_@babel+core@7.20.12 - '@babel/plugin-transform-computed-properties': 7.20.7_@babel+core@7.20.12 - '@babel/plugin-transform-destructuring': 7.20.7_@babel+core@7.20.12 - '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.20.12 - '@babel/plugin-transform-duplicate-keys': 7.18.9_@babel+core@7.20.12 - '@babel/plugin-transform-exponentiation-operator': 7.18.6_@babel+core@7.20.12 - '@babel/plugin-transform-for-of': 7.18.8_@babel+core@7.20.12 - '@babel/plugin-transform-function-name': 7.18.9_@babel+core@7.20.12 - '@babel/plugin-transform-literals': 7.18.9_@babel+core@7.20.12 - '@babel/plugin-transform-member-expression-literals': 7.18.6_@babel+core@7.20.12 - '@babel/plugin-transform-modules-amd': 7.20.11_@babel+core@7.20.12 - '@babel/plugin-transform-modules-commonjs': 7.20.11_@babel+core@7.20.12 - '@babel/plugin-transform-modules-systemjs': 7.20.11_@babel+core@7.20.12 - '@babel/plugin-transform-modules-umd': 7.18.6_@babel+core@7.20.12 - '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5_@babel+core@7.20.12 - '@babel/plugin-transform-new-target': 7.18.6_@babel+core@7.20.12 - '@babel/plugin-transform-object-super': 7.18.6_@babel+core@7.20.12 - '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.20.12 - '@babel/plugin-transform-property-literals': 7.18.6_@babel+core@7.20.12 - '@babel/plugin-transform-regenerator': 7.20.5_@babel+core@7.20.12 - '@babel/plugin-transform-reserved-words': 7.18.6_@babel+core@7.20.12 - '@babel/plugin-transform-shorthand-properties': 7.18.6_@babel+core@7.20.12 - '@babel/plugin-transform-spread': 7.20.7_@babel+core@7.20.12 - '@babel/plugin-transform-sticky-regex': 7.18.6_@babel+core@7.20.12 - '@babel/plugin-transform-template-literals': 7.18.9_@babel+core@7.20.12 - '@babel/plugin-transform-typeof-symbol': 7.18.9_@babel+core@7.20.12 - '@babel/plugin-transform-unicode-escapes': 7.18.10_@babel+core@7.20.12 - '@babel/plugin-transform-unicode-regex': 7.18.6_@babel+core@7.20.12 - '@babel/preset-modules': 0.1.5_@babel+core@7.20.12 - '@babel/types': 7.20.7 - babel-plugin-polyfill-corejs2: 0.3.3_@babel+core@7.20.12 - babel-plugin-polyfill-corejs3: 0.6.0_@babel+core@7.20.12 - babel-plugin-polyfill-regenerator: 0.4.1_@babel+core@7.20.12 - core-js-compat: 3.28.0 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/preset-modules/0.1.5_@babel+core@7.20.12: - resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.20.12 - '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.20.12 - '@babel/types': 7.20.7 - esutils: 2.0.3 - dev: false - - /@babel/regjsgen/0.8.0: - resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} - dev: false - - /@babel/runtime/7.20.13: - resolution: {integrity: sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA==} - engines: {node: '>=6.9.0'} - dependencies: - regenerator-runtime: 0.13.11 - dev: false - - /@babel/template/7.20.7: - resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.18.6 - '@babel/parser': 7.20.15 - '@babel/types': 7.20.7 - - /@babel/traverse/7.20.13: - resolution: {integrity: sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.18.6 - '@babel/generator': 7.20.14 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-function-name': 7.19.0 - '@babel/helper-hoist-variables': 7.18.6 - '@babel/helper-split-export-declaration': 7.18.6 - '@babel/parser': 7.20.15 - '@babel/types': 7.20.7 - debug: 4.3.4 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - - /@babel/types/7.20.7: - resolution: {integrity: sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.19.4 - '@babel/helper-validator-identifier': 7.19.1 - to-fast-properties: 2.0.0 - - /@commitlint/cli/13.2.1: - resolution: {integrity: sha512-JGzYk2ay5JkRS5w+FLQzr0u/Kih52ds4HPpa3vnwVOQN8Q+S1VYr8Nk/6kRm6uNYsAcC1nejtuDxRdLcLh/9TA==} - engines: {node: '>=v12'} - hasBin: true - dependencies: - '@commitlint/format': 13.2.0 - '@commitlint/lint': 13.2.0 - '@commitlint/load': 13.2.1 - '@commitlint/read': 13.2.0 - '@commitlint/types': 13.2.0 - lodash: 4.17.21 - resolve-from: 5.0.0 - resolve-global: 1.0.0 - yargs: 17.6.2 - dev: true - - /@commitlint/config-conventional/13.2.0: - resolution: {integrity: sha512-7u7DdOiF+3qSdDlbQGfpvCH8DCQdLFvnI2+VucYmmV7E92iD6t9PBj+UjIoSQCaMAzYp27Vkall78AkcXBh6Xw==} - engines: {node: '>=v12'} - dependencies: - conventional-changelog-conventionalcommits: 4.6.3 - dev: true - - /@commitlint/config-validator/17.4.0: - resolution: {integrity: sha512-Sa/+8KNpDXz4zT4bVbz2fpFjvgkPO6u2V2fP4TKgt6FjmOw2z3eEX859vtfeaTav/ukBw0/0jr+5ZTZp9zCBhA==} - engines: {node: '>=v14'} - dependencies: - '@commitlint/types': 17.4.0 - ajv: 8.12.0 - dev: true - optional: true - - /@commitlint/ensure/13.2.0: - resolution: {integrity: sha512-rqhT62RehdLTRBu8OrPHnRCCd/7RmHEE4TiTlT4BLlr5ls5jlZhecOQWJ8np872uCNirrJ5NFjnjYYdbkNoW9Q==} - engines: {node: '>=v12'} - dependencies: - '@commitlint/types': 13.2.0 - lodash: 4.17.21 - dev: true - - /@commitlint/execute-rule/13.2.0: - resolution: {integrity: sha512-6nPwpN0hwTYmsH3WM4hCdN+NrMopgRIuQ0aqZa+jnwMoS/g6ljliQNYfL+m5WO306BaIu1W3yYpbW5aI8gEr0g==} - engines: {node: '>=v12'} - dev: true - - /@commitlint/execute-rule/17.4.0: - resolution: {integrity: sha512-LIgYXuCSO5Gvtc0t9bebAMSwd68ewzmqLypqI2Kke1rqOqqDbMpYcYfoPfFlv9eyLIh4jocHWwCK5FS7z9icUA==} - engines: {node: '>=v14'} - dev: true - optional: true - - /@commitlint/format/13.2.0: - resolution: {integrity: sha512-yNBQJe6YFhM1pJAta4LvzQxccSKof6axJH7ALYjuhQqfT8AKlad7Y/2SuJ07ioyreNIqwOTuF2UfU8yJ7JzEIQ==} - engines: {node: '>=v12'} - dependencies: - '@commitlint/types': 13.2.0 - chalk: 4.1.2 - dev: true - - /@commitlint/is-ignored/13.2.0: - resolution: {integrity: sha512-onnx4WctHFPPkHGFFAZBIWRSaNwuhixIIfbwPhcZ6IewwQX5n4jpjwM1GokA7vhlOnQ57W7AavbKUGjzIVtnRQ==} - engines: {node: '>=v12'} - dependencies: - '@commitlint/types': 13.2.0 - semver: 7.3.5 - dev: true - - /@commitlint/lint/13.2.0: - resolution: {integrity: sha512-5XYkh0e9ehHjA7BxAHFpjPgr1qqbFY8OFG1wpBiAhycbYBtJnQmculA2wcwqTM40YCUBqEvWFdq86jTG8fbkMw==} - engines: {node: '>=v12'} - dependencies: - '@commitlint/is-ignored': 13.2.0 - '@commitlint/parse': 13.2.0 - '@commitlint/rules': 13.2.0 - '@commitlint/types': 13.2.0 - dev: true - - /@commitlint/load/13.2.1: - resolution: {integrity: sha512-qlaJkj0hfa9gtWRfCfbgFBTK3GYQRmjZhba4l9mUu4wV9lEZ4ICFlrLtd/8kaLXf/8xbrPhkAPkVFOAqM0YwUQ==} - engines: {node: '>=v12'} - dependencies: - '@commitlint/execute-rule': 13.2.0 - '@commitlint/resolve-extends': 13.2.0 - '@commitlint/types': 13.2.0 - '@endemolshinegroup/cosmiconfig-typescript-loader': 3.0.2_prdn7pc7mycjsinmi5fnyv4we4 - chalk: 4.1.2 - cosmiconfig: 7.1.0 - lodash: 4.17.21 - resolve-from: 5.0.0 - typescript: 4.9.5 - dev: true - - /@commitlint/load/17.4.2: - resolution: {integrity: sha512-Si++F85rJ9t4hw6JcOw1i2h0fdpdFQt0YKwjuK4bk9KhFjyFkRxvR3SB2dPaMs+EwWlDrDBGL+ygip1QD6gmPw==} - engines: {node: '>=v14'} - requiresBuild: true - dependencies: - '@commitlint/config-validator': 17.4.0 - '@commitlint/execute-rule': 17.4.0 - '@commitlint/resolve-extends': 17.4.0 - '@commitlint/types': 17.4.0 - '@types/node': 18.13.0 - chalk: 4.1.2 - cosmiconfig: 8.0.0 - cosmiconfig-typescript-loader: 4.3.0_p7cp6dsfhdrlk7mvuxd3wodbsu - lodash.isplainobject: 4.0.6 - lodash.merge: 4.6.2 - lodash.uniq: 4.5.0 - resolve-from: 5.0.0 - ts-node: 10.9.1_4bewfcp2iebiwuold25d6rgcsy - typescript: 4.9.5 - transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' - dev: true - optional: true - - /@commitlint/message/13.2.0: - resolution: {integrity: sha512-+LlErJj2F2AC86xJb33VJIvSt25xqSF1I0b0GApSgoUtQBeJhx4SxIj1BLvGcLVmbRmbgTzAFq/QylwLId7EhA==} - engines: {node: '>=v12'} - dev: true - - /@commitlint/parse/13.2.0: - resolution: {integrity: sha512-AtfKSQJQADbDhW+kuC5PxOyBANsYCuuJlZRZ2PYslOz2rvWwZ93zt+nKjM4g7C9ETbz0uq4r7/EoOsTJ2nJqfQ==} - engines: {node: '>=v12'} - dependencies: - '@commitlint/types': 13.2.0 - conventional-changelog-angular: 5.0.13 - conventional-commits-parser: 3.2.4 - dev: true - - /@commitlint/read/13.2.0: - resolution: {integrity: sha512-7db5e1Bn3re6hQN0SqygTMF/QX6/MQauoJn3wJiUHE93lvwO6aFQxT3qAlYeyBPwfWsmDz/uSH454jtrSsv3Uw==} - engines: {node: '>=v12'} - dependencies: - '@commitlint/top-level': 13.2.0 - '@commitlint/types': 13.2.0 - fs-extra: 10.1.0 - git-raw-commits: 2.0.11 - dev: true - - /@commitlint/resolve-extends/13.2.0: - resolution: {integrity: sha512-HLCMkqMKtvl1yYLZ1Pm0UpFvd0kYjsm1meLOGZ7VkOd9G/XX+Fr1S2G5AT2zeiDw7WUVYK8lGVMNa319bnV+aw==} - engines: {node: '>=v12'} - dependencies: - import-fresh: 3.3.0 - lodash: 4.17.21 - resolve-from: 5.0.0 - resolve-global: 1.0.0 - dev: true - - /@commitlint/resolve-extends/17.4.0: - resolution: {integrity: sha512-3JsmwkrCzoK8sO22AzLBvNEvC1Pmdn/65RKXzEtQMy6oYMl0Snrq97a5bQQEFETF0VsvbtUuKttLqqgn99OXRQ==} - engines: {node: '>=v14'} - dependencies: - '@commitlint/config-validator': 17.4.0 - '@commitlint/types': 17.4.0 - import-fresh: 3.3.0 - lodash.mergewith: 4.6.2 - resolve-from: 5.0.0 - resolve-global: 1.0.0 - dev: true - optional: true - - /@commitlint/rules/13.2.0: - resolution: {integrity: sha512-O3A9S7blOzvHfzrJrUQe9JxdtGy154ol/GXHwvd8WfMJ10y5ryBB4b6+0YZ1XhItWzrEASOfOKbD++EdLV90dQ==} - engines: {node: '>=v12'} - dependencies: - '@commitlint/ensure': 13.2.0 - '@commitlint/message': 13.2.0 - '@commitlint/to-lines': 13.2.0 - '@commitlint/types': 13.2.0 - execa: 5.1.1 - dev: true - - /@commitlint/to-lines/13.2.0: - resolution: {integrity: sha512-ZfWZix2y/CzewReCrj5g0nKOEfj5HW9eBMDrqjJJMPApve00CWv0tYrFCGXuGlv244lW4uvWJt6J/0HLRWsfyg==} - engines: {node: '>=v12'} - dev: true - - /@commitlint/top-level/13.2.0: - resolution: {integrity: sha512-knBvWYbIq6VV6VPHrVeDsxDiJq4Zq6cv5NIYU3iesKAsmK2KlLfsZPa+Ig96Y4AqAPU3zNJwjHxYkz9qxdBbfA==} - engines: {node: '>=v12'} - dependencies: - find-up: 5.0.0 - dev: true - - /@commitlint/types/13.2.0: - resolution: {integrity: sha512-RRVHEqmk1qn/dIaSQhvuca6k/6Z54G+r/KyimZ8gnAFielGiGUpsFRhIY3qhd5rXClVxDaa3nlcyTWckSccotQ==} - engines: {node: '>=v12'} - dependencies: - chalk: 4.1.2 - dev: true - - /@commitlint/types/17.4.0: - resolution: {integrity: sha512-2NjAnq5IcxY9kXtUeO2Ac0aPpvkuOmwbH/BxIm36XXK5LtWFObWJWjXOA+kcaABMrthjWu6la+FUpyYFMHRvbA==} - engines: {node: '>=v14'} - dependencies: - chalk: 4.1.2 - dev: true - optional: true - - /@cspotcode/source-map-support/0.8.1: - resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/trace-mapping': 0.3.9 - dev: true - optional: true - - /@endemolshinegroup/cosmiconfig-typescript-loader/3.0.2_prdn7pc7mycjsinmi5fnyv4we4: - resolution: {integrity: sha512-QRVtqJuS1mcT56oHpVegkKBlgtWjXw/gHNWO3eL9oyB5Sc7HBoc2OLG/nYpVfT/Jejvo3NUrD0Udk7XgoyDKkA==} - engines: {node: '>=10.0.0'} - peerDependencies: - cosmiconfig: '>=6' - dependencies: - cosmiconfig: 7.1.0 - lodash.get: 4.4.2 - make-error: 1.3.6 - ts-node: 9.1.1_typescript@4.9.5 - tslib: 2.5.0 - transitivePeerDependencies: - - typescript - dev: true - - /@eslint/eslintrc/1.4.1: - resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 9.4.1 - globals: 13.20.0 - ignore: 5.2.4 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@gar/promisify/1.1.3: - resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} - dev: false - - /@humanwhocodes/config-array/0.11.8: - resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} - engines: {node: '>=10.10.0'} - dependencies: - '@humanwhocodes/object-schema': 1.2.1 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@humanwhocodes/module-importer/1.0.1: - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - dev: true - - /@humanwhocodes/object-schema/1.2.1: - resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} - dev: true - - /@hutson/parse-repository-url/3.0.2: - resolution: {integrity: sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==} - engines: {node: '>=6.9.0'} - dev: true - - /@isaacs/string-locale-compare/1.1.0: - resolution: {integrity: sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==} - dev: false - - /@istanbuljs/load-nyc-config/1.1.0: - resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} - engines: {node: '>=8'} - dependencies: - camelcase: 5.3.1 - find-up: 4.1.0 - get-package-type: 0.1.0 - js-yaml: 3.14.1 - resolve-from: 5.0.0 - dev: true - - /@istanbuljs/schema/0.1.3: - resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} - engines: {node: '>=8'} - dev: true - - /@jridgewell/gen-mapping/0.1.1: - resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.14 - - /@jridgewell/gen-mapping/0.3.2: - resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.14 - '@jridgewell/trace-mapping': 0.3.17 - - /@jridgewell/resolve-uri/3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} - engines: {node: '>=6.0.0'} - - /@jridgewell/set-array/1.1.2: - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} - engines: {node: '>=6.0.0'} - - /@jridgewell/sourcemap-codec/1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - - /@jridgewell/trace-mapping/0.3.17: - resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} - dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 - - /@jridgewell/trace-mapping/0.3.9: - resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} - dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 - dev: true - optional: true - - /@mapbox/node-pre-gyp/1.0.10: - resolution: {integrity: sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==} - hasBin: true - dependencies: - detect-libc: 2.0.1 - https-proxy-agent: 5.0.1 - make-dir: 3.1.0 - node-fetch: 2.6.9 - nopt: 5.0.0 - npmlog: 5.0.1 - rimraf: 3.0.2 - semver: 7.3.8 - tar: 6.1.13 - transitivePeerDependencies: - - encoding - - supports-color - dev: false - - /@nodelib/fs.scandir/2.1.5: - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - dev: true - - /@nodelib/fs.stat/2.0.5: - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - dev: true - - /@nodelib/fs.walk/1.2.8: - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 - dev: true - - /@npmcli/arborist/2.10.0: - resolution: {integrity: sha512-CLnD+zXG9oijEEzViimz8fbOoFVb7hoypiaf7p6giJhvYtrxLAyY3cZAMPIFQvsG731+02eMDp3LqVBNo7BaZA==} - engines: {node: '>= 10'} - hasBin: true - dependencies: - '@isaacs/string-locale-compare': 1.1.0 - '@npmcli/installed-package-contents': 1.0.7 - '@npmcli/map-workspaces': 1.0.4 - '@npmcli/metavuln-calculator': 1.1.1 - '@npmcli/move-file': 1.1.2 - '@npmcli/name-from-folder': 1.0.1 - '@npmcli/node-gyp': 1.0.3 - '@npmcli/package-json': 1.0.1 - '@npmcli/run-script': 1.8.6 - bin-links: 2.3.0 - cacache: 15.3.0 - common-ancestor-path: 1.0.1 - json-parse-even-better-errors: 2.3.1 - json-stringify-nice: 1.1.4 - mkdirp: 1.0.4 - mkdirp-infer-owner: 2.0.0 - npm-install-checks: 4.0.0 - npm-package-arg: 8.1.5 - npm-pick-manifest: 6.1.1 - npm-registry-fetch: 11.0.0 - pacote: 11.3.5 - parse-conflict-json: 1.1.1 - proc-log: 1.0.0 - promise-all-reject-late: 1.0.1 - promise-call-limit: 1.0.1 - read-package-json-fast: 2.0.3 - readdir-scoped-modules: 1.1.0 - rimraf: 3.0.2 - semver: 7.3.8 - ssri: 8.0.1 - treeverse: 1.0.4 - walk-up-path: 1.0.0 - transitivePeerDependencies: - - bluebird - - supports-color - dev: false - - /@npmcli/fs/1.1.1: - resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} - dependencies: - '@gar/promisify': 1.1.3 - semver: 7.3.8 - dev: false - - /@npmcli/git/2.1.0: - resolution: {integrity: sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw==} - dependencies: - '@npmcli/promise-spawn': 1.3.2 - lru-cache: 6.0.0 - mkdirp: 1.0.4 - npm-pick-manifest: 6.1.1 - promise-inflight: 1.0.1 - promise-retry: 2.0.1 - semver: 7.3.8 - which: 2.0.2 - transitivePeerDependencies: - - bluebird - dev: false - - /@npmcli/installed-package-contents/1.0.7: - resolution: {integrity: sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==} - engines: {node: '>= 10'} - hasBin: true - dependencies: - npm-bundled: 1.1.2 - npm-normalize-package-bin: 1.0.1 - dev: false - - /@npmcli/map-workspaces/1.0.4: - resolution: {integrity: sha512-wVR8QxhyXsFcD/cORtJwGQodeeaDf0OxcHie8ema4VgFeqwYkFsDPnSrIRSytX8xR6nKPAH89WnwTcaU608b/Q==} - engines: {node: '>=10'} - dependencies: - '@npmcli/name-from-folder': 1.0.1 - glob: 7.2.3 - minimatch: 3.1.2 - read-package-json-fast: 2.0.3 - dev: false - - /@npmcli/metavuln-calculator/1.1.1: - resolution: {integrity: sha512-9xe+ZZ1iGVaUovBVFI9h3qW+UuECUzhvZPxK9RaEA2mjU26o5D0JloGYWwLYvQELJNmBdQB6rrpuN8jni6LwzQ==} - dependencies: - cacache: 15.3.0 - json-parse-even-better-errors: 2.3.1 - pacote: 11.3.5 - semver: 7.3.8 - transitivePeerDependencies: - - bluebird - - supports-color - dev: false - - /@npmcli/move-file/1.1.2: - resolution: {integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==} - engines: {node: '>=10'} - deprecated: This functionality has been moved to @npmcli/fs - dependencies: - mkdirp: 1.0.4 - rimraf: 3.0.2 - dev: false - - /@npmcli/name-from-folder/1.0.1: - resolution: {integrity: sha512-qq3oEfcLFwNfEYOQ8HLimRGKlD8WSeGEdtUa7hmzpR8Sa7haL1KVQrvgO6wqMjhWFFVjgtrh1gIxDz+P8sjUaA==} - dev: false - - /@npmcli/node-gyp/1.0.3: - resolution: {integrity: sha512-fnkhw+fmX65kiLqk6E3BFLXNC26rUhK90zVwe2yncPliVT/Qos3xjhTLE59Df8KnPlcwIERXKVlU1bXoUQ+liA==} - dev: false - - /@npmcli/package-json/1.0.1: - resolution: {integrity: sha512-y6jnu76E9C23osz8gEMBayZmaZ69vFOIk8vR1FJL/wbEJ54+9aVG9rLTjQKSXfgYZEr50nw1txBBFfBZZe+bYg==} - dependencies: - json-parse-even-better-errors: 2.3.1 - dev: false - - /@npmcli/promise-spawn/1.3.2: - resolution: {integrity: sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==} - dependencies: - infer-owner: 1.0.4 - dev: false - - /@npmcli/run-script/1.8.6: - resolution: {integrity: sha512-e42bVZnC6VluBZBAFEr3YrdqSspG3bgilyg4nSLBJ7TRGNCzxHa92XAHxQBLYg0BmgwO4b2mf3h/l5EkEWRn3g==} - dependencies: - '@npmcli/node-gyp': 1.0.3 - '@npmcli/promise-spawn': 1.3.2 - node-gyp: 7.1.2 - read-package-json-fast: 2.0.3 - dev: false - - /@octokit/auth-token/2.5.0: - resolution: {integrity: sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==} - dependencies: - '@octokit/types': 6.41.0 - dev: true - - /@octokit/endpoint/6.0.12: - resolution: {integrity: sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==} - dependencies: - '@octokit/types': 6.41.0 - is-plain-object: 5.0.0 - universal-user-agent: 6.0.0 - dev: true - - /@octokit/openapi-types/12.11.0: - resolution: {integrity: sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==} - dev: true - - /@octokit/plugin-paginate-rest/1.1.2: - resolution: {integrity: sha512-jbsSoi5Q1pj63sC16XIUboklNw+8tL9VOnJsWycWYR78TKss5PVpIPb1TUUcMQ+bBh7cY579cVAWmf5qG+dw+Q==} - dependencies: - '@octokit/types': 2.16.2 - dev: true - - /@octokit/plugin-request-log/1.0.4: - resolution: {integrity: sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==} - peerDependencies: - '@octokit/core': '>=3' - dev: true - - /@octokit/plugin-rest-endpoint-methods/2.4.0: - resolution: {integrity: sha512-EZi/AWhtkdfAYi01obpX0DF7U6b1VRr30QNQ5xSFPITMdLSfhcBqjamE3F+sKcxPbD7eZuMHu3Qkk2V+JGxBDQ==} - dependencies: - '@octokit/types': 2.16.2 - deprecation: 2.3.1 - dev: true - - /@octokit/request-error/1.2.1: - resolution: {integrity: sha512-+6yDyk1EES6WK+l3viRDElw96MvwfJxCt45GvmjDUKWjYIb3PJZQkq3i46TwGwoPD4h8NmTrENmtyA1FwbmhRA==} - dependencies: - '@octokit/types': 2.16.2 - deprecation: 2.3.1 - once: 1.4.0 - dev: true - - /@octokit/request-error/2.1.0: - resolution: {integrity: sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==} - dependencies: - '@octokit/types': 6.41.0 - deprecation: 2.3.1 - once: 1.4.0 - dev: true - - /@octokit/request/5.6.3: - resolution: {integrity: sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==} - dependencies: - '@octokit/endpoint': 6.0.12 - '@octokit/request-error': 2.1.0 - '@octokit/types': 6.41.0 - is-plain-object: 5.0.0 - node-fetch: 2.6.9 - universal-user-agent: 6.0.0 - transitivePeerDependencies: - - encoding - dev: true - - /@octokit/rest/16.43.2: - resolution: {integrity: sha512-ngDBevLbBTFfrHZeiS7SAMAZ6ssuVmXuya+F/7RaVvlysgGa1JKJkKWY+jV6TCJYcW0OALfJ7nTIGXcBXzycfQ==} - dependencies: - '@octokit/auth-token': 2.5.0 - '@octokit/plugin-paginate-rest': 1.1.2 - '@octokit/plugin-request-log': 1.0.4 - '@octokit/plugin-rest-endpoint-methods': 2.4.0 - '@octokit/request': 5.6.3 - '@octokit/request-error': 1.2.1 - atob-lite: 2.0.0 - before-after-hook: 2.2.3 - btoa-lite: 1.0.0 - deprecation: 2.3.1 - lodash.get: 4.4.2 - lodash.set: 4.3.2 - lodash.uniq: 4.5.0 - octokit-pagination-methods: 1.1.0 - once: 1.4.0 - universal-user-agent: 4.0.1 - transitivePeerDependencies: - - '@octokit/core' - - encoding - dev: true - - /@octokit/types/2.16.2: - resolution: {integrity: sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==} - dependencies: - '@types/node': 18.13.0 - dev: true - - /@octokit/types/6.41.0: - resolution: {integrity: sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==} - dependencies: - '@octokit/openapi-types': 12.11.0 - dev: true - - /@rollup/plugin-babel/5.3.1_rollup@2.79.1: - resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} - engines: {node: '>= 10.0.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@types/babel__core': ^7.1.9 - rollup: ^1.20.0||^2.0.0 - peerDependenciesMeta: - '@types/babel__core': - optional: true - dependencies: - '@babel/helper-module-imports': 7.18.6 - '@rollup/pluginutils': 3.1.0_rollup@2.79.1 - rollup: 2.79.1 - dev: true - - /@rollup/plugin-commonjs/21.1.0_rollup@2.79.1: - resolution: {integrity: sha512-6ZtHx3VHIp2ReNNDxHjuUml6ur+WcQ28N1yHgCQwsbNkQg2suhxGMDQGJOn/KuDxKtd1xuZP5xSTwBA4GQ8hbA==} - engines: {node: '>= 8.0.0'} - peerDependencies: - rollup: ^2.38.3 - dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.79.1 - commondir: 1.0.1 - estree-walker: 2.0.2 - glob: 7.2.3 - is-reference: 1.2.1 - magic-string: 0.25.9 - resolve: 1.22.1 - rollup: 2.79.1 - dev: true - - /@rollup/plugin-node-resolve/13.3.0_rollup@2.79.1: - resolution: {integrity: sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==} - engines: {node: '>= 10.0.0'} - peerDependencies: - rollup: ^2.42.0 - dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.79.1 - '@types/resolve': 1.17.1 - deepmerge: 4.3.0 - is-builtin-module: 3.2.1 - is-module: 1.0.0 - resolve: 1.22.1 - rollup: 2.79.1 - dev: true - - /@rollup/pluginutils/3.1.0_rollup@2.79.1: - resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} - engines: {node: '>= 8.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0 - dependencies: - '@types/estree': 0.0.39 - estree-walker: 1.0.1 - picomatch: 2.3.1 - rollup: 2.79.1 - dev: true - - /@seadub/clang-format-lint/0.0.2_clang-format@1.5.0: - resolution: {integrity: sha512-0P/NUsIpUsP5MJ9WpEmBMlCQY2zFJDVkstrl+jb8EsWNixeshfzQYxlAeabbEbT4Buixuelr/HKLphyZB1rDYA==} - engines: {node: '>=8.0.0'} - hasBin: true - peerDependencies: - clang-format: ^1.0.0 - dependencies: - clang-format: 1.5.0 - commander: 3.0.2 - glob: 7.2.3 - p-limit: 2.3.0 - dev: true - - /@seadub/danger-plugin-dependencies/1.0.0: - resolution: {integrity: sha512-rk1OGopIHXf5/lfYZEIf6Kr9l1opRSSrhEF36CmXT2aoM3/VrLhB2w7g6nIxvl72ixDUSrXJrD02u/mKGLULxQ==} - engines: {node: '>=4.0.0'} - dependencies: - date-fns: 2.29.3 - lodash.flatten: 4.4.0 - lodash.includes: 4.3.0 - node-fetch: 2.6.9 - semver: 7.3.8 - transitivePeerDependencies: - - encoding - dev: true - - /@seadub/danger-plugin-eslint/2.0.0_eslint@8.34.0: - resolution: {integrity: sha512-eOfolDJyWwP5vJQqKLVhr6FDayQfbqwmwPMslFWPMd9AhJfgU85Pz3R8MHfjfsdIzn/zNofnDa5k+GSZtMAZ5g==} - engines: {node: '>=6.0.0'} - peerDependencies: - eslint: '*' - dependencies: - eslint: 8.34.0 - dev: true - - /@seadub/danger-plugin-junit/0.3.0: - resolution: {integrity: sha512-x2PkV5Q7cR9UAhS2jsEgyqs4JP7yXGk2psQKdZFq4zuwRrzsMT0e4JpipSzb05zMaGLqtdwV6oW8XJwS3FpHIQ==} - engines: {node: '>=4.0.0'} - dependencies: - '@xmldom/xmldom': 0.7.9 - fs-extra: 9.1.0 - glob: 7.2.3 - dev: true - - /@sindresorhus/is/4.6.0: - resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} - engines: {node: '>=10'} - dev: true - - /@szmarczak/http-timer/4.0.6: - resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} - engines: {node: '>=10'} - dependencies: - defer-to-connect: 2.0.1 - dev: true - - /@tootallnate/once/1.1.2: - resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} - engines: {node: '>= 6'} - dev: false - - /@tsconfig/node10/1.0.9: - resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} - dev: true - optional: true - - /@tsconfig/node12/1.0.11: - resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} - dev: true - optional: true - - /@tsconfig/node14/1.0.3: - resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} - dev: true - optional: true - - /@tsconfig/node16/1.0.3: - resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} - dev: true - optional: true - - /@types/cacheable-request/6.0.3: - resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} - dependencies: - '@types/http-cache-semantics': 4.0.1 - '@types/keyv': 3.1.4 - '@types/node': 18.13.0 - '@types/responselike': 1.0.0 - dev: true - - /@types/estree/0.0.39: - resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} - dev: true - - /@types/estree/1.0.0: - resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} - dev: true - - /@types/http-cache-semantics/4.0.1: - resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==} - dev: true - - /@types/json5/0.0.29: - resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - dev: true - - /@types/keyv/3.1.4: - resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} - dependencies: - '@types/node': 18.13.0 - dev: true - - /@types/minimist/1.2.2: - resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} - dev: true - - /@types/node/18.13.0: - resolution: {integrity: sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg==} - dev: true - - /@types/normalize-package-data/2.4.1: - resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} - dev: true - - /@types/parse-json/4.0.0: - resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} - dev: true - - /@types/resolve/1.17.1: - resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} - dependencies: - '@types/node': 18.13.0 - dev: true - - /@types/responselike/1.0.0: - resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} - dependencies: - '@types/node': 18.13.0 - dev: true - - /@ungap/promise-all-settled/1.1.2: - resolution: {integrity: sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==} - dev: true - - /@xmldom/xmldom/0.7.9: - resolution: {integrity: sha512-yceMpm/xd4W2a85iqZyO09gTnHvXF6pyiWjD2jcOJs7hRoZtNNOO1eJlhHj1ixA+xip2hOyGn+LgcvLCMo5zXA==} - engines: {node: '>=10.0.0'} - dev: true - - /@xmldom/xmldom/0.8.6: - resolution: {integrity: sha512-uRjjusqpoqfmRkTaNuLJ2VohVr67Q5YwDATW3VU7PfzTj6IRaihGrYI7zckGZjxQPBIp63nfvJbM+Yu5ICh0Bg==} - engines: {node: '>=10.0.0'} - - /@yarnpkg/lockfile/1.1.0: - resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} - dev: false - - /@yarnpkg/parsers/3.0.0-rc.39: - resolution: {integrity: sha512-BsD4zq3EVmaHqlynXTceNuEFAtrfToV4fI9GA54moKlWZL4Eb2eXrhgf1jV2nMYx18SZxYO4Jc5Kf1sCDNRjOg==} - engines: {node: '>=14.15.0'} - dependencies: - js-yaml: 3.14.1 - tslib: 2.5.0 - dev: true - - /JSONStream/1.3.5: - resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} - hasBin: true - dependencies: - jsonparse: 1.3.1 - through: 2.3.8 - dev: true - - /abbrev/1.1.1: - resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} - dev: false - - /abort-controller/3.0.0: - resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} - engines: {node: '>=6.5'} - dependencies: - event-target-shim: 5.0.1 - dev: true - - /acorn-jsx/5.3.2_acorn@8.8.2: - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 8.8.2 - dev: true - - /acorn-walk/8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} - engines: {node: '>=0.4.0'} - dev: true - optional: true - - /acorn/8.8.2: - resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true - - /add-stream/1.0.0: - resolution: {integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==} - dev: true - - /adm-zip/0.4.16: - resolution: {integrity: sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==} - engines: {node: '>=0.3.0'} - dev: false - - /agent-base/4.3.0: - resolution: {integrity: sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==} - engines: {node: '>= 4.0.0'} - dependencies: - es6-promisify: 5.0.0 - dev: true - - /agent-base/6.0.2: - resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} - engines: {node: '>= 6.0.0'} - dependencies: - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: false - - /agentkeepalive/4.2.1: - resolution: {integrity: sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==} - engines: {node: '>= 8.0.0'} - dependencies: - debug: 4.3.4 - depd: 1.1.2 - humanize-ms: 1.2.1 - transitivePeerDependencies: - - supports-color - dev: false - - /aggregate-error/3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} - dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 - - /ajv/6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - - /ajv/8.12.0: - resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - dev: true - optional: true - - /always-tail/0.2.0: - resolution: {integrity: sha512-ixHs1j0+xChHt6v2OwxuPSL9udDnRegON1RezcbePdoZ+y6jGjXjA/f2SCuh9lrYxNWqJAvptOCxH2sov/zSyg==} - dependencies: - debug: 0.7.4 - transitivePeerDependencies: - - supports-color - dev: false - - /ansi-align/3.0.1: - resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} - dependencies: - string-width: 4.2.3 - dev: false - - /ansi-colors/4.1.1: - resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} - engines: {node: '>=6'} - dev: true - - /ansi-colors/4.1.3: - resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} - engines: {node: '>=6'} - dev: true - - /ansi-escapes/4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.21.3 - - /ansi-regex/2.1.1: - resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} - engines: {node: '>=0.10.0'} - dev: false - - /ansi-regex/5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - - /ansi-styles/3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - dependencies: - color-convert: 1.9.3 - - /ansi-styles/4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - - /anymatch/3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - - /appc-tasks/1.0.3: - resolution: {integrity: sha512-HJDXuFZ3ELd+Cjk89hN1S/MMoHKmQuwvELBoaPko5i4kdSMbWFh/srMxQoxO3wsxYqYPKeKUxLLq+KTViVlCSg==} - engines: {node: '>= 4.0.0'} - dependencies: - file-state-monitor: 2.0.0 - fs-extra: 9.1.0 - dev: false - - /append-transform/2.0.0: - resolution: {integrity: sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==} - engines: {node: '>=8'} - dependencies: - default-require-extensions: 3.0.1 - dev: true - - /aproba/1.2.0: - resolution: {integrity: sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==} - dev: false - - /aproba/2.0.0: - resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} - dev: false - - /archiver-utils/2.1.0: - resolution: {integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==} - engines: {node: '>= 6'} - dependencies: - glob: 7.2.3 - graceful-fs: 4.2.10 - lazystream: 1.0.1 - lodash.defaults: 4.2.0 - lodash.difference: 4.5.0 - lodash.flatten: 4.4.0 - lodash.isplainobject: 4.0.6 - lodash.union: 4.6.0 - normalize-path: 3.0.0 - readable-stream: 2.3.7 - dev: false - - /archiver/5.3.1: - resolution: {integrity: sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w==} - engines: {node: '>= 10'} - dependencies: - archiver-utils: 2.1.0 - async: 3.2.4 - buffer-crc32: 0.2.13 - readable-stream: 3.6.0 - readdir-glob: 1.1.2 - tar-stream: 2.2.0 - zip-stream: 4.1.0 - dev: false - - /archy/1.0.0: - resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} - dev: true - - /are-we-there-yet/1.1.7: - resolution: {integrity: sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==} - dependencies: - delegates: 1.0.0 - readable-stream: 2.3.7 - dev: false - - /are-we-there-yet/2.0.0: - resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} - engines: {node: '>=10'} - dependencies: - delegates: 1.0.0 - readable-stream: 3.6.0 - dev: false - - /arg/4.1.3: - resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - dev: true - - /argparse/1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - dependencies: - sprintf-js: 1.0.3 - dev: true - - /argparse/2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: true - - /array-ify/1.0.0: - resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} - dev: true - - /array-includes/3.1.6: - resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.1 - get-intrinsic: 1.2.0 - is-string: 1.0.7 - dev: true - - /array.prototype.flat/1.3.1: - resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.1 - es-shim-unscopables: 1.0.0 - dev: true - - /array.prototype.flatmap/1.3.1: - resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.1 - es-shim-unscopables: 1.0.0 - dev: true - - /arrify/1.0.1: - resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} - engines: {node: '>=0.10.0'} - dev: true - - /asap/2.0.6: - resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} - dev: false - - /asn1/0.2.6: - resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} - dependencies: - safer-buffer: 2.1.2 - - /assert-plus/1.0.0: - resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} - engines: {node: '>=0.8'} - - /assertion-error/1.1.0: - resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} - dev: true - - /astral-regex/2.0.0: - resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} - engines: {node: '>=8'} - dev: true - - /async-retry/1.2.3: - resolution: {integrity: sha512-tfDb02Th6CE6pJUF2gjW5ZVjsgwlucVXOEQMvEX9JgSJMs9gAX+Nz3xRuJBKuUYjTSYORqvDBORdAQ3LU59g7Q==} - dependencies: - retry: 0.12.0 - dev: true - - /async/1.5.2: - resolution: {integrity: sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==} - dev: true - - /async/2.6.4: - resolution: {integrity: sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==} - dependencies: - lodash: 4.17.21 - dev: false - - /async/3.2.4: - resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} - - /asynckit/0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - - /at-least-node/1.0.0: - resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} - engines: {node: '>= 4.0.0'} - - /atob-lite/2.0.0: - resolution: {integrity: sha512-LEeSAWeh2Gfa2FtlQE1shxQ8zi5F9GHarrGKz08TMdODD5T4eH6BMsvtnhbWZ+XQn+Gb6om/917ucvRu7l7ukw==} - dev: true - - /available-typed-arrays/1.0.5: - resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} - engines: {node: '>= 0.4'} - dev: true - - /aws-sign2/0.7.0: - resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} - - /aws4/1.12.0: - resolution: {integrity: sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==} - - /babel-helper-evaluate-path/0.5.0: - resolution: {integrity: sha512-mUh0UhS607bGh5wUMAQfOpt2JX2ThXMtppHRdRU1kL7ZLRWIXxoV2UIV1r2cAeeNeU1M5SB5/RSUgUxrK8yOkA==} - dev: false - - /babel-helper-flip-expressions/0.4.3: - resolution: {integrity: sha512-rSrkRW4YQ2ETCWww9gbsWk4N0x1BOtln349Tk0dlCS90oT68WMLyGR7WvaMp3eAnsVrCqdUtC19lo1avyGPejA==} - dev: false - - /babel-helper-is-nodes-equiv/0.0.1: - resolution: {integrity: sha512-ri/nsMFVRqXn7IyT5qW4/hIAGQxuYUFHa3qsxmPtbk6spZQcYlyDogfVpNm2XYOslH/ULS4VEJGUqQX5u7ACQw==} - dev: false - - /babel-helper-is-void-0/0.4.3: - resolution: {integrity: sha512-07rBV0xPRM3TM5NVJEOQEkECX3qnHDjaIbFvWYPv+T1ajpUiVLiqTfC+MmiZxY5KOL/Ec08vJdJD9kZiP9UkUg==} - dev: false - - /babel-helper-mark-eval-scopes/0.4.3: - resolution: {integrity: sha512-+d/mXPP33bhgHkdVOiPkmYoeXJ+rXRWi7OdhwpyseIqOS8CmzHQXHUp/+/Qr8baXsT0kjGpMHHofHs6C3cskdA==} - dev: false - - /babel-helper-remove-or-void/0.4.3: - resolution: {integrity: sha512-eYNceYtcGKpifHDir62gHJadVXdg9fAhuZEXiRQnJJ4Yi4oUTpqpNY//1pM4nVyjjDMPYaC2xSf0I+9IqVzwdA==} - dev: false - - /babel-helper-to-multiple-sequence-expressions/0.5.0: - resolution: {integrity: sha512-m2CvfDW4+1qfDdsrtf4dwOslQC3yhbgyBFptncp4wvtdrDHqueW7slsYv4gArie056phvQFhT2nRcGS4bnm6mA==} - dev: false - - /babel-plugin-minify-builtins/0.5.0: - resolution: {integrity: sha512-wpqbN7Ov5hsNwGdzuzvFcjgRlzbIeVv1gMIlICbPj0xkexnfoIDe7q+AZHMkQmAE/F9R5jkrB6TLfTegImlXag==} - dev: false - - /babel-plugin-minify-constant-folding/0.5.0: - resolution: {integrity: sha512-Vj97CTn/lE9hR1D+jKUeHfNy+m1baNiJ1wJvoGyOBUx7F7kJqDZxr9nCHjO/Ad+irbR3HzR6jABpSSA29QsrXQ==} - dependencies: - babel-helper-evaluate-path: 0.5.0 - dev: false - - /babel-plugin-minify-dead-code-elimination/0.5.2: - resolution: {integrity: sha512-krq9Lwi0QIzyAlcNBXTL4usqUvevB4BzktdEsb8srcXC1AaYqRJiAQw6vdKdJSaXbz6snBvziGr6ch/aoRCfpA==} - dependencies: - babel-helper-evaluate-path: 0.5.0 - babel-helper-mark-eval-scopes: 0.4.3 - babel-helper-remove-or-void: 0.4.3 - lodash: 4.17.21 - dev: false - - /babel-plugin-minify-flip-comparisons/0.4.3: - resolution: {integrity: sha512-8hNwgLVeJzpeLVOVArag2DfTkbKodzOHU7+gAZ8mGBFGPQHK6uXVpg3jh5I/F6gfi5Q5usWU2OKcstn1YbAV7A==} - dependencies: - babel-helper-is-void-0: 0.4.3 - dev: false - - /babel-plugin-minify-guarded-expressions/0.4.4: - resolution: {integrity: sha512-RMv0tM72YuPPfLT9QLr3ix9nwUIq+sHT6z8Iu3sLbqldzC1Dls8DPCywzUIzkTx9Zh1hWX4q/m9BPoPed9GOfA==} - dependencies: - babel-helper-evaluate-path: 0.5.0 - babel-helper-flip-expressions: 0.4.3 - dev: false - - /babel-plugin-minify-infinity/0.4.3: - resolution: {integrity: sha512-X0ictxCk8y+NvIf+bZ1HJPbVZKMlPku3lgYxPmIp62Dp8wdtbMLSekczty3MzvUOlrk5xzWYpBpQprXUjDRyMA==} - dev: false - - /babel-plugin-minify-mangle-names/0.5.1: - resolution: {integrity: sha512-8KMichAOae2FHlipjNDTo2wz97MdEb2Q0jrn4NIRXzHH7SJ3c5TaNNBkeTHbk9WUsMnqpNUx949ugM9NFWewzw==} - dependencies: - babel-helper-mark-eval-scopes: 0.4.3 - dev: false - - /babel-plugin-minify-numeric-literals/0.4.3: - resolution: {integrity: sha512-5D54hvs9YVuCknfWywq0eaYDt7qYxlNwCqW9Ipm/kYeS9gYhJd0Rr/Pm2WhHKJ8DC6aIlDdqSBODSthabLSX3A==} - dev: false - - /babel-plugin-minify-replace/0.5.0: - resolution: {integrity: sha512-aXZiaqWDNUbyNNNpWs/8NyST+oU7QTpK7J9zFEFSA0eOmtUNMU3fczlTTTlnCxHmq/jYNFEmkkSG3DDBtW3Y4Q==} - dev: false - - /babel-plugin-minify-simplify/0.5.1: - resolution: {integrity: sha512-OSYDSnoCxP2cYDMk9gxNAed6uJDiDz65zgL6h8d3tm8qXIagWGMLWhqysT6DY3Vs7Fgq7YUDcjOomhVUb+xX6A==} - dependencies: - babel-helper-evaluate-path: 0.5.0 - babel-helper-flip-expressions: 0.4.3 - babel-helper-is-nodes-equiv: 0.0.1 - babel-helper-to-multiple-sequence-expressions: 0.5.0 - dev: false - - /babel-plugin-minify-type-constructors/0.4.3: - resolution: {integrity: sha512-4ADB0irJ/6BeXWHubjCJmrPbzhxDgjphBMjIjxCc25n4NGJ00NsYqwYt+F/OvE9RXx8KaSW7cJvp+iZX436tnQ==} - dependencies: - babel-helper-is-void-0: 0.4.3 - dev: false - - /babel-plugin-polyfill-corejs2/0.3.3_@babel+core@7.20.12: - resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/compat-data': 7.20.14 - '@babel/core': 7.20.12 - '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.20.12 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - dev: false - - /babel-plugin-polyfill-corejs3/0.6.0_@babel+core@7.20.12: - resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.20.12 - core-js-compat: 3.28.0 - transitivePeerDependencies: - - supports-color - dev: false - - /babel-plugin-polyfill-regenerator/0.4.1_@babel+core@7.20.12: - resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.20.12 - transitivePeerDependencies: - - supports-color - dev: false - - /babel-plugin-transform-inline-consecutive-adds/0.4.3: - resolution: {integrity: sha512-8D104wbzzI5RlxeVPYeQb9QsUyepiH1rAO5hpPpQ6NPRgQLpIVwkS/Nbx944pm4K8Z+rx7CgjPsFACz/VCBN0Q==} - dev: false - - /babel-plugin-transform-member-expression-literals/6.9.4: - resolution: {integrity: sha512-Xq9/Rarpj+bjOZSl1nBbZYETsNEDDJSrb6Plb1sS3/36FukWFLLRysgecva5KZECjUJTrJoQqjJgtWToaflk5Q==} - dev: false - - /babel-plugin-transform-merge-sibling-variables/6.9.5: - resolution: {integrity: sha512-xj/KrWi6/uP+DrD844h66Qh2cZN++iugEIgH8QcIxhmZZPNP6VpOE9b4gP2FFW39xDAY43kCmYMM6U0QNKN8fw==} - dev: false - - /babel-plugin-transform-minify-booleans/6.9.4: - resolution: {integrity: sha512-9pW9ePng6DZpzGPalcrULuhSCcauGAbn8AeU3bE34HcDkGm8Ldt0ysjGkyb64f0K3T5ilV4mriayOVv5fg0ASA==} - dev: false - - /babel-plugin-transform-property-literals/6.9.4: - resolution: {integrity: sha512-Pf8JHTjTPxecqVyL6KSwD/hxGpoTZjiEgV7nCx0KFQsJYM0nuuoCajbg09KRmZWeZbJ5NGTySABYv8b/hY1eEA==} - dependencies: - esutils: 2.0.3 - dev: false - - /babel-plugin-transform-regexp-constructors/0.4.3: - resolution: {integrity: sha512-JjymDyEyRNhAoNFp09y/xGwYVYzT2nWTGrBrWaL6eCg2m+B24qH2jR0AA8V8GzKJTgC8NW6joJmc6nabvWBD/g==} - dev: false - - /babel-plugin-transform-remove-console/6.9.4: - resolution: {integrity: sha512-88blrUrMX3SPiGkT1GnvVY8E/7A+k6oj3MNvUtTIxJflFzXTw1bHkuJ/y039ouhFMp2prRn5cQGzokViYi1dsg==} - dev: false - - /babel-plugin-transform-remove-debugger/6.9.4: - resolution: {integrity: sha512-Kd+eTBYlXfwoFzisburVwrngsrz4xh9I0ppoJnU/qlLysxVBRgI4Pj+dk3X8F5tDiehp3hhP8oarRMT9v2Z3lw==} - dev: false - - /babel-plugin-transform-remove-undefined/0.5.0: - resolution: {integrity: sha512-+M7fJYFaEE/M9CXa0/IRkDbiV3wRELzA1kKQFCJ4ifhrzLKn/9VCCgj9OFmYWwBd8IB48YdgPkHYtbYq+4vtHQ==} - dependencies: - babel-helper-evaluate-path: 0.5.0 - dev: false - - /babel-plugin-transform-simplify-comparison-operators/6.9.4: - resolution: {integrity: sha512-GLInxhGAQWJ9YIdjwF6dAFlmh4U+kN8pL6Big7nkDzHoZcaDQOtBm28atEhQJq6m9GpAovbiGEShKqXv4BSp0A==} - dev: false - - /babel-plugin-transform-titanium/0.1.1: - resolution: {integrity: sha512-N2ImhDNsfmT5Q68HeNJfg1xE8Z3NsVYWC+/TWLtckscXPjleDJRciIRzhUhI6876VXhxSjbw5s7ylv1NTa/xoA==} - - /babel-plugin-transform-undefined-to-void/6.9.4: - resolution: {integrity: sha512-D2UbwxawEY1xVc9svYAUZQM2xarwSNXue2qDIx6CeV2EuMGaes/0su78zlIDIAgE7BvnMw4UpmSo9fDy+znghg==} - dev: false - - /babel-preset-minify/0.5.2: - resolution: {integrity: sha512-v4GL+kk0TfovbRIKZnC3HPbu2cAGmPAby7BsOmuPdMJfHV+4FVdsGXTH/OOGQRKYdjemBuL1+MsE6mobobhe9w==} - dependencies: - babel-plugin-minify-builtins: 0.5.0 - babel-plugin-minify-constant-folding: 0.5.0 - babel-plugin-minify-dead-code-elimination: 0.5.2 - babel-plugin-minify-flip-comparisons: 0.4.3 - babel-plugin-minify-guarded-expressions: 0.4.4 - babel-plugin-minify-infinity: 0.4.3 - babel-plugin-minify-mangle-names: 0.5.1 - babel-plugin-minify-numeric-literals: 0.4.3 - babel-plugin-minify-replace: 0.5.0 - babel-plugin-minify-simplify: 0.5.1 - babel-plugin-minify-type-constructors: 0.4.3 - babel-plugin-transform-inline-consecutive-adds: 0.4.3 - babel-plugin-transform-member-expression-literals: 6.9.4 - babel-plugin-transform-merge-sibling-variables: 6.9.5 - babel-plugin-transform-minify-booleans: 6.9.4 - babel-plugin-transform-property-literals: 6.9.4 - babel-plugin-transform-regexp-constructors: 0.4.3 - babel-plugin-transform-remove-console: 6.9.4 - babel-plugin-transform-remove-debugger: 6.9.4 - babel-plugin-transform-remove-undefined: 0.5.0 - babel-plugin-transform-simplify-comparison-operators: 6.9.4 - babel-plugin-transform-undefined-to-void: 6.9.4 - lodash: 4.17.21 - dev: false - - /balanced-match/1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - - /base64-js/1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - - /bcrypt-pbkdf/1.0.2: - resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} - dependencies: - tweetnacl: 0.14.5 - - /before-after-hook/2.2.3: - resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} - dev: true - - /big-integer/1.6.51: - resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==} - engines: {node: '>=0.6'} - dev: false - - /bin-links/2.3.0: - resolution: {integrity: sha512-JzrOLHLwX2zMqKdyYZjkDgQGT+kHDkIhv2/IK2lJ00qLxV4TmFoHi8drDBb6H5Zrz1YfgHkai4e2MGPqnoUhqA==} - engines: {node: '>=10'} - dependencies: - cmd-shim: 4.1.0 - mkdirp-infer-owner: 2.0.0 - npm-normalize-package-bin: 1.0.1 - read-cmd-shim: 2.0.0 - rimraf: 3.0.2 - write-file-atomic: 3.0.3 - dev: false - - /binary-extensions/2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} - engines: {node: '>=8'} - - /bl/4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.0 - - /boxen/5.1.2: - resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} - engines: {node: '>=10'} - dependencies: - ansi-align: 3.0.1 - camelcase: 6.3.0 - chalk: 4.1.2 - cli-boxes: 2.2.1 - string-width: 4.2.3 - type-fest: 0.20.2 - widest-line: 3.1.0 - wrap-ansi: 7.0.0 - dev: false - - /bplist-creator/0.1.0: - resolution: {integrity: sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg==} - dependencies: - stream-buffers: 2.2.0 - dev: false - - /bplist-parser/0.3.1: - resolution: {integrity: sha512-PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA==} - engines: {node: '>= 5.10.0'} - dependencies: - big-integer: 1.6.51 - dev: false - - /bplist-parser/0.3.2: - resolution: {integrity: sha512-apC2+fspHGI3mMKj+dGevkGo/tCqVB8jMb6i+OX+E29p0Iposz07fABkRIfVUPNd5A5VbuOz1bZbnmkKLYF+wQ==} - engines: {node: '>= 5.10.0'} - dependencies: - big-integer: 1.6.51 - dev: false - - /brace-expansion/1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - - /brace-expansion/2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - dependencies: - balanced-match: 1.0.2 - - /braces/3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 - - /browser-stdout/1.3.1: - resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} - dev: true - - /browserslist/4.21.5: - resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - dependencies: - caniuse-lite: 1.0.30001452 - electron-to-chromium: 1.4.295 - node-releases: 2.0.10 - update-browserslist-db: 1.0.10_browserslist@4.21.5 - - /btoa-lite/1.0.0: - resolution: {integrity: sha512-gvW7InbIyF8AicrqWoptdW08pUxuhq8BEgowNajy9RhiE86fmGAGl+bLKo6oB8QP0CkqHLowfN0oJdKC/J6LbA==} - dev: true - - /buffer-crc32/0.2.13: - resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} - - /buffer-equal-constant-time/1.0.1: - resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} - dev: true - - /buffer-equal/1.0.0: - resolution: {integrity: sha512-tcBWO2Dl4e7Asr9hTGcpVrCe+F7DubpmqWCTbj4FHLmjqO2hIaC383acQubWtRJhdceqs5uBHs6Es+Sk//RKiQ==} - engines: {node: '>=0.4.0'} - dev: false - - /buffer-from/1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - dev: true - - /buffer/5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - - /buffers/0.1.1: - resolution: {integrity: sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==} - engines: {node: '>=0.2.0'} - - /builtin-modules/3.3.0: - resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} - engines: {node: '>=6'} - dev: true - - /builtins/1.0.3: - resolution: {integrity: sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==} - dev: false - - /cacache/15.3.0: - resolution: {integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==} - engines: {node: '>= 10'} - dependencies: - '@npmcli/fs': 1.1.1 - '@npmcli/move-file': 1.1.2 - chownr: 2.0.0 - fs-minipass: 2.1.0 - glob: 7.2.3 - infer-owner: 1.0.4 - lru-cache: 6.0.0 - minipass: 3.3.6 - minipass-collect: 1.0.2 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - mkdirp: 1.0.4 - p-map: 4.0.0 - promise-inflight: 1.0.1 - rimraf: 3.0.2 - ssri: 8.0.1 - tar: 6.1.13 - unique-filename: 1.1.1 - transitivePeerDependencies: - - bluebird - dev: false - - /cacheable-lookup/5.0.4: - resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} - engines: {node: '>=10.6.0'} - dev: true - - /cacheable-request/7.0.2: - resolution: {integrity: sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==} - engines: {node: '>=8'} - dependencies: - clone-response: 1.0.3 - get-stream: 5.2.0 - http-cache-semantics: 4.1.1 - keyv: 4.5.2 - lowercase-keys: 2.0.0 - normalize-url: 6.1.0 - responselike: 2.0.1 - dev: true - - /cachedir/2.3.0: - resolution: {integrity: sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==} - engines: {node: '>=6'} - dev: true - - /caching-transform/4.0.0: - resolution: {integrity: sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==} - engines: {node: '>=8'} - dependencies: - hasha: 5.2.2 - make-dir: 3.1.0 - package-hash: 4.0.0 - write-file-atomic: 3.0.3 - dev: true - - /call-bind/1.0.2: - resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} - dependencies: - function-bind: 1.1.1 - get-intrinsic: 1.2.0 - dev: true - - /callsites/3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - dev: true - - /camelcase-keys/6.2.2: - resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} - engines: {node: '>=8'} - dependencies: - camelcase: 5.3.1 - map-obj: 4.3.0 - quick-lru: 4.0.1 - dev: true - - /camelcase/5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} - dev: true - - /camelcase/6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} - - /caniuse-lite/1.0.30001452: - resolution: {integrity: sha512-Lkp0vFjMkBB3GTpLR8zk4NwW5EdRdnitwYJHDOOKIU85x4ckYCPQ+9WlVvSVClHxVReefkUMtWZH2l9KGlD51w==} - - /caseless/0.12.0: - resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} - - /chai/4.3.7: - resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==} - engines: {node: '>=4'} - dependencies: - assertion-error: 1.1.0 - check-error: 1.0.2 - deep-eql: 4.1.3 - get-func-name: 2.0.0 - loupe: 2.3.6 - pathval: 1.1.1 - type-detect: 4.0.8 - dev: true - - /chalk/2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - - /chalk/4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - - /chardet/0.7.0: - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - dev: true - - /check-error/1.0.2: - resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==} - dev: true - - /chokidar/3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} - engines: {node: '>= 8.10.0'} - dependencies: - anymatch: 3.1.3 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.2 - - /chownr/2.0.0: - resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} - engines: {node: '>=10'} - dev: false - - /ci-info/2.0.0: - resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} - dev: false - - /clang-format/1.5.0: - resolution: {integrity: sha512-C1LucFX7E+ABVYcPEbBHM4PYQ2+WInXsqsLpFlQ9cmRfSbk7A7b1I06h/nE4bQ3MsyEkb31jY2gC0Dtc76b4IA==} - hasBin: true - dependencies: - async: 1.5.2 - glob: 7.2.3 - resolve: 1.22.1 - dev: true - - /clean-css/5.2.1: - resolution: {integrity: sha512-ooQCa1/70oRfVdUUGjKpbHuxgMgm8BsDT5EBqBGvPxMoRoGXf4PNx5mMnkjzJ9Ptx4vvmDdha0QVh86QtYIk1g==} - engines: {node: '>= 10.0'} - dependencies: - source-map: 0.6.1 - dev: false - - /clean-stack/2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} - - /cli-boxes/2.2.1: - resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} - engines: {node: '>=6'} - dev: false - - /cli-cursor/3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} - dependencies: - restore-cursor: 3.1.0 - dev: true - - /cli-spinners/2.7.0: - resolution: {integrity: sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==} - engines: {node: '>=6'} - dev: true - - /cli-truncate/2.1.0: - resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} - engines: {node: '>=8'} - dependencies: - slice-ansi: 3.0.0 - string-width: 4.2.3 - dev: true - - /cli-width/3.0.0: - resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} - engines: {node: '>= 10'} - dev: true - - /cliui/6.0.0: - resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 6.2.0 - dev: true - - /cliui/7.0.4: - resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - dev: true - - /cliui/8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - dev: true - - /clone-response/1.0.3: - resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} - dependencies: - mimic-response: 1.0.1 - dev: true - - /clone/1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} - dev: true - - /cmd-shim/4.1.0: - resolution: {integrity: sha512-lb9L7EM4I/ZRVuljLPEtUJOP+xiQVknZ4ZMpMgEp4JzNldPb27HU03hi6K1/6CoIuit/Zm/LQXySErFeXxDprw==} - engines: {node: '>=10'} - dependencies: - mkdirp-infer-owner: 2.0.0 - dev: false - - /code-point-at/1.1.0: - resolution: {integrity: sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==} - engines: {node: '>=0.10.0'} - dev: false - - /color-convert/1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - dependencies: - color-name: 1.1.3 - - /color-convert/2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - - /color-name/1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - - /color-name/1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - - /color-support/1.1.3: - resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} - hasBin: true - dev: false - - /colorette/1.4.0: - resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==} - dev: true - - /colorette/2.0.19: - resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} - dev: true - - /coloring/0.1.0: - resolution: {integrity: sha512-oM29C+Xf365414vmGtti5+tRSynKtDwH5XSASysb4bBQHq77IYP3EfEq5mp3cf4jAIJEkpDDmd00gqrqC59ZQg==} - dev: false - - /colors/0.6.2: - resolution: {integrity: sha512-OsSVtHK8Ir8r3+Fxw/b4jS1ZLPXkV6ZxDRJQzeD7qo0SqMXWrHDM71DgYzPMHY8SFJ0Ao+nNU2p1MmwdzKqPrw==} - engines: {node: '>=0.1.90'} - - /colors/1.0.3: - resolution: {integrity: sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==} - engines: {node: '>=0.1.90'} - dev: true - - /colors/1.3.3: - resolution: {integrity: sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==} - engines: {node: '>=0.1.90'} - dev: false - - /colors/1.4.0: - resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} - engines: {node: '>=0.1.90'} - - /combined-stream/1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} - dependencies: - delayed-stream: 1.0.0 - - /commander/2.0.0: - resolution: {integrity: sha512-qebjpyeaA/nJ4w3EO2cV2++/zEkccPnjWogzA2rff+Lk8ILI75vULeTmyd4wPxWdKwtP3J+G39IXVZadh0UHyw==} - engines: {node: '>= 0.6.x'} - dev: false - - /commander/2.19.0: - resolution: {integrity: sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==} - dev: false - - /commander/2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - dev: true - - /commander/3.0.2: - resolution: {integrity: sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==} - dev: true - - /commander/8.3.0: - resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} - engines: {node: '>= 12'} - dev: true - - /commitizen/4.3.0: - resolution: {integrity: sha512-H0iNtClNEhT0fotHvGV3E9tDejDeS04sN1veIebsKYGMuGscFaswRoYJKmT3eW85eIJAs0F28bG2+a/9wCOfPw==} - engines: {node: '>= 12'} - hasBin: true - dependencies: - cachedir: 2.3.0 - cz-conventional-changelog: 3.3.0 - dedent: 0.7.0 - detect-indent: 6.1.0 - find-node-modules: 2.1.3 - find-root: 1.1.0 - fs-extra: 9.1.0 - glob: 7.2.3 - inquirer: 8.2.5 - is-utf8: 0.2.1 - lodash: 4.17.21 - minimist: 1.2.7 - strip-bom: 4.0.0 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' - dev: true - - /common-ancestor-path/1.0.1: - resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==} - dev: false - - /commondir/1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - dev: true - - /compare-func/2.0.0: - resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} - dependencies: - array-ify: 1.0.0 - dot-prop: 5.3.0 - dev: true - - /compress-commons/4.1.1: - resolution: {integrity: sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==} - engines: {node: '>= 10'} - dependencies: - buffer-crc32: 0.2.13 - crc32-stream: 4.0.2 - normalize-path: 3.0.0 - readable-stream: 3.6.0 - dev: false - - /concat-map/0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - - /console-control-strings/1.1.0: - resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} - dev: false - - /conventional-changelog-angular/5.0.13: - resolution: {integrity: sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==} - engines: {node: '>=10'} - dependencies: - compare-func: 2.0.0 - q: 1.5.1 - dev: true - - /conventional-changelog-atom/2.0.8: - resolution: {integrity: sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw==} - engines: {node: '>=10'} - dependencies: - q: 1.5.1 - dev: true - - /conventional-changelog-cli/2.2.2: - resolution: {integrity: sha512-8grMV5Jo8S0kP3yoMeJxV2P5R6VJOqK72IiSV9t/4H5r/HiRqEBQ83bYGuz4Yzfdj4bjaAEhZN/FFbsFXr5bOA==} - engines: {node: '>=10'} - hasBin: true - dependencies: - add-stream: 1.0.0 - conventional-changelog: 3.1.25 - lodash: 4.17.21 - meow: 8.1.2 - tempfile: 3.0.0 - dev: true - - /conventional-changelog-codemirror/2.0.8: - resolution: {integrity: sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw==} - engines: {node: '>=10'} - dependencies: - q: 1.5.1 - dev: true - - /conventional-changelog-conventionalcommits/4.6.3: - resolution: {integrity: sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==} - engines: {node: '>=10'} - dependencies: - compare-func: 2.0.0 - lodash: 4.17.21 - q: 1.5.1 - dev: true - - /conventional-changelog-core/4.2.4: - resolution: {integrity: sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==} - engines: {node: '>=10'} - dependencies: - add-stream: 1.0.0 - conventional-changelog-writer: 5.0.1 - conventional-commits-parser: 3.2.4 - dateformat: 3.0.3 - get-pkg-repo: 4.2.1 - git-raw-commits: 2.0.11 - git-remote-origin-url: 2.0.0 - git-semver-tags: 4.1.1 - lodash: 4.17.21 - normalize-package-data: 3.0.3 - q: 1.5.1 - read-pkg: 3.0.0 - read-pkg-up: 3.0.0 - through2: 4.0.2 - dev: true - - /conventional-changelog-ember/2.0.9: - resolution: {integrity: sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A==} - engines: {node: '>=10'} - dependencies: - q: 1.5.1 - dev: true - - /conventional-changelog-eslint/3.0.9: - resolution: {integrity: sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA==} - engines: {node: '>=10'} - dependencies: - q: 1.5.1 - dev: true - - /conventional-changelog-express/2.0.6: - resolution: {integrity: sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ==} - engines: {node: '>=10'} - dependencies: - q: 1.5.1 - dev: true - - /conventional-changelog-jquery/3.0.11: - resolution: {integrity: sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw==} - engines: {node: '>=10'} - dependencies: - q: 1.5.1 - dev: true - - /conventional-changelog-jshint/2.0.9: - resolution: {integrity: sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA==} - engines: {node: '>=10'} - dependencies: - compare-func: 2.0.0 - q: 1.5.1 - dev: true - - /conventional-changelog-preset-loader/2.3.4: - resolution: {integrity: sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==} - engines: {node: '>=10'} - dev: true - - /conventional-changelog-writer/5.0.1: - resolution: {integrity: sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==} - engines: {node: '>=10'} - hasBin: true - dependencies: - conventional-commits-filter: 2.0.7 - dateformat: 3.0.3 - handlebars: 4.7.7 - json-stringify-safe: 5.0.1 - lodash: 4.17.21 - meow: 8.1.2 - semver: 6.3.0 - split: 1.0.1 - through2: 4.0.2 - dev: true - - /conventional-changelog/3.1.25: - resolution: {integrity: sha512-ryhi3fd1mKf3fSjbLXOfK2D06YwKNic1nC9mWqybBHdObPd8KJ2vjaXZfYj1U23t+V8T8n0d7gwnc9XbIdFbyQ==} - engines: {node: '>=10'} - dependencies: - conventional-changelog-angular: 5.0.13 - conventional-changelog-atom: 2.0.8 - conventional-changelog-codemirror: 2.0.8 - conventional-changelog-conventionalcommits: 4.6.3 - conventional-changelog-core: 4.2.4 - conventional-changelog-ember: 2.0.9 - conventional-changelog-eslint: 3.0.9 - conventional-changelog-express: 2.0.6 - conventional-changelog-jquery: 3.0.11 - conventional-changelog-jshint: 2.0.9 - conventional-changelog-preset-loader: 2.3.4 - dev: true - - /conventional-commit-types/3.0.0: - resolution: {integrity: sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg==} - dev: true - - /conventional-commits-filter/2.0.7: - resolution: {integrity: sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==} - engines: {node: '>=10'} - dependencies: - lodash.ismatch: 4.4.0 - modify-values: 1.0.1 - dev: true - - /conventional-commits-parser/3.2.4: - resolution: {integrity: sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==} - engines: {node: '>=10'} - hasBin: true - dependencies: - JSONStream: 1.3.5 - is-text-path: 1.0.1 - lodash: 4.17.21 - meow: 8.1.2 - split2: 3.2.2 - through2: 4.0.2 - dev: true - - /convert-source-map/1.9.0: - resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} - - /core-js-compat/3.28.0: - resolution: {integrity: sha512-myzPgE7QodMg4nnd3K1TDoES/nADRStM8Gpz0D6nhkwbmwEnE0ZGJgoWsvQ722FR8D7xS0n0LV556RcEicjTyg==} - dependencies: - browserslist: 4.21.5 - dev: false - - /core-js/2.6.12: - resolution: {integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==} - deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js. - requiresBuild: true - dev: true - - /core-js/3.28.0: - resolution: {integrity: sha512-GiZn9D4Z/rSYvTeg1ljAIsEqFm0LaN9gVtwDCrKL80zHtS31p9BAjmTxVqTQDMpwlMolJZOFntUG2uwyj7DAqw==} - requiresBuild: true - dev: true - - /core-util-is/1.0.2: - resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} - - /core-util-is/1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - - /cosmiconfig-typescript-loader/4.3.0_p7cp6dsfhdrlk7mvuxd3wodbsu: - resolution: {integrity: sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==} - engines: {node: '>=12', npm: '>=6'} - peerDependencies: - '@types/node': '*' - cosmiconfig: '>=7' - ts-node: '>=10' - typescript: '>=3' - dependencies: - '@types/node': 18.13.0 - cosmiconfig: 8.0.0 - ts-node: 10.9.1_4bewfcp2iebiwuold25d6rgcsy - typescript: 4.9.5 - dev: true - optional: true - - /cosmiconfig/7.1.0: - resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} - engines: {node: '>=10'} - dependencies: - '@types/parse-json': 4.0.0 - import-fresh: 3.3.0 - parse-json: 5.2.0 - path-type: 4.0.0 - yaml: 1.10.2 - dev: true - - /cosmiconfig/8.0.0: - resolution: {integrity: sha512-da1EafcpH6b/TD8vDRaWV7xFINlHlF6zKsGwS1TsuVJTZRkquaS5HTMq7uq6h31619QjbsYl21gVDOm32KM1vQ==} - engines: {node: '>=14'} - dependencies: - import-fresh: 3.3.0 - js-yaml: 4.1.0 - parse-json: 5.2.0 - path-type: 4.0.0 - dev: true - optional: true - - /crc-32/1.2.2: - resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} - engines: {node: '>=0.8'} - hasBin: true - dev: false - - /crc32-stream/4.0.2: - resolution: {integrity: sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==} - engines: {node: '>= 10'} - dependencies: - crc-32: 1.2.2 - readable-stream: 3.6.0 - dev: false - - /create-require/1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - dev: true - - /cross-spawn/6.0.5: - resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} - engines: {node: '>=4.8'} - dependencies: - nice-try: 1.0.5 - path-key: 2.0.1 - semver: 5.7.1 - shebang-command: 1.2.0 - which: 1.3.1 - - /cross-spawn/7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - dev: true - - /cycle/1.0.3: - resolution: {integrity: sha512-TVF6svNzeQCOpjCqsy0/CSy8VgObG3wXusJ73xW2GbG5rGx7lC8zxDSURicsXI2UsGdi2L0QNRCi745/wUDvsA==} - engines: {node: '>=0.4.0'} - dev: true - - /cz-conventional-changelog/3.3.0: - resolution: {integrity: sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==} - engines: {node: '>= 10'} - dependencies: - chalk: 2.4.2 - commitizen: 4.3.0 - conventional-commit-types: 3.0.0 - lodash.map: 4.6.0 - longest: 2.0.1 - word-wrap: 1.2.3 - optionalDependencies: - '@commitlint/load': 17.4.2 - transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' - dev: true - - /danger/10.9.0: - resolution: {integrity: sha512-eEWQAaIPfWSfzlQiFx+w9fWuP3jwq8VAV9W22EZRxfmCBnkdDa5aN0Akr7lzfCKudzy+4uEmIGUtxnYeFgTthQ==} - hasBin: true - dependencies: - '@babel/polyfill': 7.12.1 - '@octokit/rest': 16.43.2 - async-retry: 1.2.3 - chalk: 2.4.2 - commander: 2.20.3 - debug: 4.3.4 - fast-json-patch: 3.1.1 - get-stdin: 6.0.0 - gitlab: 10.2.1 - http-proxy-agent: 2.1.0 - https-proxy-agent: 2.2.4 - hyperlinker: 1.0.0 - json5: 2.2.3 - jsonpointer: 5.0.1 - jsonwebtoken: 8.5.1 - lodash.find: 4.6.0 - lodash.includes: 4.3.0 - lodash.isobject: 3.0.2 - lodash.keys: 4.2.0 - lodash.mapvalues: 4.6.0 - lodash.memoize: 4.1.2 - memfs-or-file-map-to-github-branch: 1.2.1 - micromatch: 4.0.5 - node-cleanup: 2.1.2 - node-fetch: 2.6.9 - override-require: 1.1.1 - p-limit: 2.3.0 - parse-diff: 0.7.1 - parse-git-config: 2.0.3 - parse-github-url: 1.0.2 - parse-link-header: 2.0.0 - pinpoint: 1.1.0 - prettyjson: 1.2.5 - readline-sync: 1.4.10 - require-from-string: 2.0.2 - supports-hyperlinks: 1.0.1 - transitivePeerDependencies: - - '@octokit/core' - - encoding - - supports-color - dev: true - - /dargs/7.0.0: - resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==} - engines: {node: '>=8'} - dev: true - - /dashdash/1.14.1: - resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} - engines: {node: '>=0.10'} - dependencies: - assert-plus: 1.0.0 - - /date-fns/2.29.3: - resolution: {integrity: sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA==} - engines: {node: '>=0.11'} - dev: true - - /dateformat/3.0.3: - resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==} - dev: true - - /debug/0.7.4: - resolution: {integrity: sha512-EohAb3+DSHSGx8carOSKJe8G0ayV5/i609OD0J2orCkuyae7SyZSz2aoLmQF2s0Pj5gITDebwPH7GFBlqOUQ1Q==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dev: false - - /debug/3.1.0: - resolution: {integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.0.0 - dev: true - - /debug/3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.3 - dev: true - - /debug/4.2.0: - resolution: {integrity: sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==} - engines: {node: '>=6.0'} - deprecated: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - dev: false - - /debug/4.3.3_supports-color@8.1.1: - resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - supports-color: 8.1.1 - dev: true - - /debug/4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - - /debug/4.3.4_supports-color@8.1.1: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - supports-color: 8.1.1 - dev: true - - /debuglog/1.0.1: - resolution: {integrity: sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw==} - dev: false - - /decamelize-keys/1.1.1: - resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} - engines: {node: '>=0.10.0'} - dependencies: - decamelize: 1.2.0 - map-obj: 1.0.1 - dev: true - - /decamelize/1.2.0: - resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} - engines: {node: '>=0.10.0'} - dev: true - - /decamelize/4.0.0: - resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==} - engines: {node: '>=10'} - dev: true - - /decode-uri-component/0.2.2: - resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} - engines: {node: '>=0.10'} - dev: true - - /decompress-response/6.0.0: - resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} - engines: {node: '>=10'} - dependencies: - mimic-response: 3.1.0 - dev: true - - /dedent/0.7.0: - resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} - dev: true - - /deep-eql/4.1.3: - resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} - engines: {node: '>=6'} - dependencies: - type-detect: 4.0.8 - dev: true - - /deep-is/0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - dev: true - - /deepmerge/4.3.0: - resolution: {integrity: sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==} - engines: {node: '>=0.10.0'} - dev: true - - /default-require-extensions/3.0.1: - resolution: {integrity: sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==} - engines: {node: '>=8'} - dependencies: - strip-bom: 4.0.0 - dev: true - - /defaults/1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - dependencies: - clone: 1.0.4 - dev: true - - /defer-to-connect/2.0.1: - resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} - engines: {node: '>=10'} - dev: true - - /define-properties/1.2.0: - resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} - engines: {node: '>= 0.4'} - dependencies: - has-property-descriptors: 1.0.0 - object-keys: 1.1.1 - dev: true - - /delayed-stream/1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} - - /delegates/1.0.0: - resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} - dev: false - - /depd/1.1.2: - resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} - engines: {node: '>= 0.6'} - dev: false - - /deprecation/2.3.1: - resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} - dev: true - - /detect-file/1.0.0: - resolution: {integrity: sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==} - engines: {node: '>=0.10.0'} - dev: true - - /detect-indent/6.1.0: - resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} - engines: {node: '>=8'} - dev: true - - /detect-libc/2.0.1: - resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==} - engines: {node: '>=8'} - dev: false - - /dezalgo/1.0.4: - resolution: {integrity: sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==} - dependencies: - asap: 2.0.6 - wrappy: 1.0.2 - dev: false - - /diff/3.5.0: - resolution: {integrity: sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==} - engines: {node: '>=0.3.1'} - dev: false - - /diff/4.0.1: - resolution: {integrity: sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==} - engines: {node: '>=0.3.1'} - dev: true - - /diff/4.0.2: - resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} - engines: {node: '>=0.3.1'} - dev: true - - /diff/5.0.0: - resolution: {integrity: sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==} - engines: {node: '>=0.3.1'} - dev: true - - /doctrine/2.1.0: - resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} - engines: {node: '>=0.10.0'} - dependencies: - esutils: 2.0.3 - dev: true - - /doctrine/3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - dependencies: - esutils: 2.0.3 - dev: true - - /dot-prop/5.3.0: - resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} - engines: {node: '>=8'} - dependencies: - is-obj: 2.0.0 - dev: true - - /ecc-jsbn/0.1.2: - resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} - dependencies: - jsbn: 0.1.1 - safer-buffer: 2.1.2 - - /ecdsa-sig-formatter/1.0.11: - resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} - dependencies: - safe-buffer: 5.2.1 - dev: true - - /ejs/3.1.8: - resolution: {integrity: sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==} - engines: {node: '>=0.10.0'} - hasBin: true - dependencies: - jake: 10.8.5 - - /electron-to-chromium/1.4.295: - resolution: {integrity: sha512-lEO94zqf1bDA3aepxwnWoHUjA8sZ+2owgcSZjYQy0+uOSEclJX0VieZC+r+wLpSxUHRd6gG32znTWmr+5iGzFw==} - - /emoji-regex/8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - - /encoding/0.1.13: - resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} - requiresBuild: true - dependencies: - iconv-lite: 0.6.3 - dev: false - optional: true - - /end-of-stream/1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - dependencies: - once: 1.4.0 - - /enquirer/2.3.6: - resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} - engines: {node: '>=8.6'} - dependencies: - ansi-colors: 4.1.3 - dev: true - - /entities/2.1.0: - resolution: {integrity: sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==} - dev: true - - /env-paths/2.2.1: - resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} - engines: {node: '>=6'} - dev: false - - /err-code/2.0.3: - resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} - dev: false - - /error-ex/1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - dependencies: - is-arrayish: 0.2.1 - dev: true - - /es-abstract/1.21.1: - resolution: {integrity: sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==} - engines: {node: '>= 0.4'} - dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - es-set-tostringtag: 2.0.1 - es-to-primitive: 1.2.1 - function-bind: 1.1.1 - function.prototype.name: 1.1.5 - get-intrinsic: 1.2.0 - get-symbol-description: 1.0.0 - globalthis: 1.0.3 - gopd: 1.0.1 - has: 1.0.3 - has-property-descriptors: 1.0.0 - has-proto: 1.0.1 - has-symbols: 1.0.3 - internal-slot: 1.0.5 - is-array-buffer: 3.0.1 - is-callable: 1.2.7 - is-negative-zero: 2.0.2 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 - is-string: 1.0.7 - is-typed-array: 1.1.10 - is-weakref: 1.0.2 - object-inspect: 1.12.3 - object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.4.3 - safe-regex-test: 1.0.0 - string.prototype.trimend: 1.0.6 - string.prototype.trimstart: 1.0.6 - typed-array-length: 1.0.4 - unbox-primitive: 1.0.2 - which-typed-array: 1.1.9 - dev: true - - /es-set-tostringtag/2.0.1: - resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} - engines: {node: '>= 0.4'} - dependencies: - get-intrinsic: 1.2.0 - has: 1.0.3 - has-tostringtag: 1.0.0 - dev: true - - /es-shim-unscopables/1.0.0: - resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} - dependencies: - has: 1.0.3 - dev: true - - /es-to-primitive/1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} - dependencies: - is-callable: 1.2.7 - is-date-object: 1.0.5 - is-symbol: 1.0.4 - dev: true - - /es6-error/4.1.1: - resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} - dev: true - - /es6-promise/4.2.8: - resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} - dev: true - - /es6-promisify/5.0.0: - resolution: {integrity: sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==} - dependencies: - es6-promise: 4.2.8 - dev: true - - /escalade/3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} - engines: {node: '>=6'} - - /escape-string-regexp/1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - - /escape-string-regexp/4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - dev: true - - /eslint-config-axway/7.0.1_eslint@8.34.0: - resolution: {integrity: sha512-f5Gzs7HdaBV2npkfqft6mYu2xooh5aIX2aTGkzOLjEDyWhNo8DfKlizAHYX8zlfLmOyh+g96cq9GJPn1U44diQ==} - peerDependencies: - eslint: 8.x - dependencies: - eslint: 8.34.0 - eslint-plugin-chai-expect: 3.0.0_eslint@8.34.0 - eslint-plugin-import: 2.27.5_eslint@8.34.0 - eslint-plugin-node: 11.1.0_eslint@8.34.0 - eslint-plugin-promise: 6.1.1_eslint@8.34.0 - eslint-plugin-security: 1.7.1 - find-root: 1.1.0 - semver: 7.3.8 - transitivePeerDependencies: - - '@typescript-eslint/parser' - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - dev: true - - /eslint-import-resolver-node/0.3.7: - resolution: {integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==} - dependencies: - debug: 3.2.7 - is-core-module: 2.11.0 - resolve: 1.22.1 - transitivePeerDependencies: - - supports-color - dev: true - - /eslint-module-utils/2.7.4_eyqnu5kib2hfrvsonwfdq4ojse: - resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: '*' - eslint-import-resolver-node: '*' - eslint-import-resolver-typescript: '*' - eslint-import-resolver-webpack: '*' - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint: - optional: true - eslint-import-resolver-node: - optional: true - eslint-import-resolver-typescript: - optional: true - eslint-import-resolver-webpack: - optional: true - dependencies: - debug: 3.2.7 - eslint: 8.34.0 - eslint-import-resolver-node: 0.3.7 - transitivePeerDependencies: - - supports-color - dev: true - - /eslint-plugin-chai-expect/3.0.0_eslint@8.34.0: - resolution: {integrity: sha512-NS0YBcToJl+BRKBSMCwRs/oHJIX67fG5Gvb4tGked+9Wnd1/PzKijd82B2QVKcSSOwRe+pp4RAJ2AULeck4eQw==} - engines: {node: 10.* || 12.* || >= 14.*} - peerDependencies: - eslint: '>=2.0.0 <= 8.x' - dependencies: - eslint: 8.34.0 - dev: true - - /eslint-plugin-es/3.0.1_eslint@8.34.0: - resolution: {integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==} - engines: {node: '>=8.10.0'} - peerDependencies: - eslint: '>=4.19.1' - dependencies: - eslint: 8.34.0 - eslint-utils: 2.1.0 - regexpp: 3.2.0 - dev: true - - /eslint-plugin-import/2.27.5_eslint@8.34.0: - resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - dependencies: - array-includes: 3.1.6 - array.prototype.flat: 1.3.1 - array.prototype.flatmap: 1.3.1 - debug: 3.2.7 - doctrine: 2.1.0 - eslint: 8.34.0 - eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.7.4_eyqnu5kib2hfrvsonwfdq4ojse - has: 1.0.3 - is-core-module: 2.11.0 - is-glob: 4.0.3 - minimatch: 3.1.2 - object.values: 1.1.6 - resolve: 1.22.1 - semver: 6.3.0 - tsconfig-paths: 3.14.1 - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - dev: true - - /eslint-plugin-mocha/10.1.0_eslint@8.34.0: - resolution: {integrity: sha512-xLqqWUF17llsogVOC+8C6/jvQ+4IoOREbN7ZCHuOHuD6cT5cDD4h7f2LgsZuzMAiwswWE21tO7ExaknHVDrSkw==} - engines: {node: '>=14.0.0'} - peerDependencies: - eslint: '>=7.0.0' - dependencies: - eslint: 8.34.0 - eslint-utils: 3.0.0_eslint@8.34.0 - rambda: 7.4.0 - dev: true - - /eslint-plugin-node/11.1.0_eslint@8.34.0: - resolution: {integrity: sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==} - engines: {node: '>=8.10.0'} - peerDependencies: - eslint: '>=5.16.0' - dependencies: - eslint: 8.34.0 - eslint-plugin-es: 3.0.1_eslint@8.34.0 - eslint-utils: 2.1.0 - ignore: 5.2.4 - minimatch: 3.1.2 - resolve: 1.22.1 - semver: 6.3.0 - dev: true - - /eslint-plugin-promise/6.1.1_eslint@8.34.0: - resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - dependencies: - eslint: 8.34.0 - dev: true - - /eslint-plugin-security/1.7.1: - resolution: {integrity: sha512-sMStceig8AFglhhT2LqlU5r+/fn9OwsA72O5bBuQVTssPCdQAOQzL+oMn/ZcpeUY6KcNfLJArgcrsSULNjYYdQ==} - dependencies: - safe-regex: 2.1.1 - dev: true - - /eslint-scope/7.1.1: - resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - dev: true - - /eslint-utils/2.1.0: - resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} - engines: {node: '>=6'} - dependencies: - eslint-visitor-keys: 1.3.0 - dev: true - - /eslint-utils/3.0.0_eslint@8.34.0: - resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} - engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} - peerDependencies: - eslint: '>=5' - dependencies: - eslint: 8.34.0 - eslint-visitor-keys: 2.1.0 - dev: true - - /eslint-visitor-keys/1.3.0: - resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} - engines: {node: '>=4'} - dev: true - - /eslint-visitor-keys/2.1.0: - resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} - engines: {node: '>=10'} - dev: true - - /eslint-visitor-keys/3.3.0: - resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - - /eslint/8.34.0: - resolution: {integrity: sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true - dependencies: - '@eslint/eslintrc': 1.4.1 - '@humanwhocodes/config-array': 0.11.8 - '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4 - doctrine: 3.0.0 - escape-string-regexp: 4.0.0 - eslint-scope: 7.1.1 - eslint-utils: 3.0.0_eslint@8.34.0 - eslint-visitor-keys: 3.3.0 - espree: 9.4.1 - esquery: 1.4.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - find-up: 5.0.0 - glob-parent: 6.0.2 - globals: 13.20.0 - grapheme-splitter: 1.0.4 - ignore: 5.2.4 - import-fresh: 3.3.0 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - is-path-inside: 3.0.3 - js-sdsl: 4.3.0 - js-yaml: 4.1.0 - json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 - lodash.merge: 4.6.2 - minimatch: 3.1.2 - natural-compare: 1.4.0 - optionator: 0.9.1 - regexpp: 3.2.0 - strip-ansi: 6.0.1 - strip-json-comments: 3.1.1 - text-table: 0.2.0 - transitivePeerDependencies: - - supports-color - dev: true - - /espree/9.4.1: - resolution: {integrity: sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - acorn: 8.8.2 - acorn-jsx: 5.3.2_acorn@8.8.2 - eslint-visitor-keys: 3.3.0 - dev: true - - /esprima/4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - dev: true - - /esquery/1.4.0: - resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} - engines: {node: '>=0.10'} - dependencies: - estraverse: 5.3.0 - dev: true - - /esrecurse/4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - dependencies: - estraverse: 5.3.0 - dev: true - - /estraverse/5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - dev: true - - /estree-walker/1.0.1: - resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} - dev: true - - /estree-walker/2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - dev: true - - /esutils/2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - - /event-target-shim/5.0.1: - resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} - engines: {node: '>=6'} - dev: true - - /execa/1.0.0: - resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} - engines: {node: '>=6'} - dependencies: - cross-spawn: 6.0.5 - get-stream: 4.1.0 - is-stream: 1.1.0 - npm-run-path: 2.0.2 - p-finally: 1.0.0 - signal-exit: 3.0.7 - strip-eof: 1.0.0 - dev: true - - /execa/5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} - dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - dev: true - - /expand-tilde/2.0.2: - resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==} - engines: {node: '>=0.10.0'} - dependencies: - homedir-polyfill: 1.0.3 - dev: true - - /extend-shallow/2.0.1: - resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} - engines: {node: '>=0.10.0'} - dependencies: - is-extendable: 0.1.1 - dev: true - - /extend/3.0.2: - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - - /external-editor/3.1.0: - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} - engines: {node: '>=4'} - dependencies: - chardet: 0.7.0 - iconv-lite: 0.4.24 - tmp: 0.0.33 - dev: true - - /extsprintf/1.3.0: - resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} - engines: {'0': node >=0.6.0} - - /eyes/0.1.8: - resolution: {integrity: sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==} - engines: {node: '> 0.1.90'} - dev: true - - /fast-deep-equal/3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - - /fast-json-patch/3.1.1: - resolution: {integrity: sha512-vf6IHUX2SBcA+5/+4883dsIjpBTqmfBjmYiWK1savxQmFk4JfBMLa7ynTYOs1Rolp/T1betJxHiGD3g1Mn8lUQ==} - dev: true - - /fast-json-stable-stringify/2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - - /fast-levenshtein/2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - dev: true - - /fastq/1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} - dependencies: - reusify: 1.0.4 - dev: true - - /fd-slicer/1.1.0: - resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} - dependencies: - pend: 1.2.0 - - /fields/0.1.24: - resolution: {integrity: sha512-5k80eIrOggir9KC+sVxj/pI285mtNdfhSlyET9wEH4hbafB38b1/Eco5r2IEdeG78LNBaJMF2q/awdzNUzVp/Q==} - engines: {node: '>=0.8.0'} - dependencies: - colors: 0.6.2 - keypress: 0.2.1 - sprintf: 0.1.5 - - /figures/3.2.0: - resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} - engines: {node: '>=8'} - dependencies: - escape-string-regexp: 1.0.5 - dev: true - - /file-entry-cache/6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flat-cache: 3.0.4 - dev: true - - /file-state-monitor/2.0.0: - resolution: {integrity: sha512-GfAAJ+er3ms2mxEYoMiu9nu5U9Fp8KwgW7WAM2Fq+x+L5yK4GDD74SNCUKYDoaDKcFRcWAqdCWbaDW+bxv6TnQ==} - engines: {node: '>= 10.0'} - dependencies: - fs-extra: 9.1.0 - dev: false - - /filelist/1.0.4: - resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} - dependencies: - minimatch: 5.1.6 - - /fill-range/7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - - /filter-obj/1.1.0: - resolution: {integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==} - engines: {node: '>=0.10.0'} - dev: true - - /find-cache-dir/3.3.2: - resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} - engines: {node: '>=8'} - dependencies: - commondir: 1.0.1 - make-dir: 3.1.0 - pkg-dir: 4.2.0 - dev: true - - /find-node-modules/2.1.3: - resolution: {integrity: sha512-UC2I2+nx1ZuOBclWVNdcnbDR5dlrOdVb7xNjmT/lHE+LsgztWks3dG7boJ37yTS/venXw84B/mAW9uHVoC5QRg==} - dependencies: - findup-sync: 4.0.0 - merge: 2.1.1 - dev: true - - /find-root/1.1.0: - resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} - dev: true - - /find-up/2.1.0: - resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} - engines: {node: '>=4'} - dependencies: - locate-path: 2.0.0 - dev: true - - /find-up/4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} - dependencies: - locate-path: 5.0.0 - path-exists: 4.0.0 - dev: true - - /find-up/5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - dev: true - - /find-yarn-workspace-root/2.0.0: - resolution: {integrity: sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==} - dependencies: - micromatch: 4.0.5 - dev: false - - /findup-sync/4.0.0: - resolution: {integrity: sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==} - engines: {node: '>= 8'} - dependencies: - detect-file: 1.0.0 - is-glob: 4.0.3 - micromatch: 4.0.5 - resolve-dir: 1.0.1 - dev: true - - /flat-cache/3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flatted: 3.2.7 - rimraf: 3.0.2 - dev: true - - /flat/5.0.2: - resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} - hasBin: true - dev: true - - /flatted/3.2.7: - resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} - dev: true - - /folder-hash/4.0.4: - resolution: {integrity: sha512-zEyYH+UsHEfJJcCRSf9ai5I4CTZwZ8ObONRuEI5hcEmJY5pS0FUWKruX9mMnYJrgC7MlPFDYnGsK1R+WFYjLlQ==} - engines: {node: '>=10.10.0'} - hasBin: true - dependencies: - debug: 4.3.4 - minimatch: 5.1.6 - transitivePeerDependencies: - - supports-color - dev: true - - /for-each/0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - dependencies: - is-callable: 1.2.7 - dev: true - - /foreground-child/2.0.0: - resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==} - engines: {node: '>=8.0.0'} - dependencies: - cross-spawn: 7.0.3 - signal-exit: 3.0.7 - dev: true - - /forever-agent/0.6.1: - resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} - - /form-data/2.3.3: - resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} - engines: {node: '>= 0.12'} - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - - /form-data/2.5.1: - resolution: {integrity: sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==} - engines: {node: '>= 0.12'} - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - dev: true - - /fromentries/1.3.2: - resolution: {integrity: sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==} - dev: true - - /fs-constants/1.0.0: - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} - dev: false - - /fs-exists-sync/0.1.0: - resolution: {integrity: sha512-cR/vflFyPZtrN6b38ZyWxpWdhlXrzZEBawlpBQMq7033xVY7/kg0GDMBK5jg8lDYQckdJ5x/YC88lM3C7VMsLg==} - engines: {node: '>=0.10.0'} - dev: true - - /fs-extra/10.1.0: - resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} - engines: {node: '>=12'} - dependencies: - graceful-fs: 4.2.10 - jsonfile: 6.1.0 - universalify: 2.0.0 - - /fs-extra/11.1.0: - resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} - engines: {node: '>=14.14'} - dependencies: - graceful-fs: 4.2.10 - jsonfile: 6.1.0 - universalify: 2.0.0 - dev: false - - /fs-extra/7.0.1: - resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} - engines: {node: '>=6 <7 || >=8'} - dependencies: - graceful-fs: 4.2.10 - jsonfile: 4.0.0 - universalify: 0.1.2 - dev: false - - /fs-extra/8.1.0: - resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} - engines: {node: '>=6 <7 || >=8'} - dependencies: - graceful-fs: 4.2.10 - jsonfile: 4.0.0 - universalify: 0.1.2 - dev: false - - /fs-extra/9.1.0: - resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} - engines: {node: '>=10'} - dependencies: - at-least-node: 1.0.0 - graceful-fs: 4.2.10 - jsonfile: 6.1.0 - universalify: 2.0.0 - - /fs-minipass/2.1.0: - resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} - engines: {node: '>= 8'} - dependencies: - minipass: 3.3.6 - dev: false - - /fs.realpath/1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - - /fsevents/2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - optional: true - - /function-bind/1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - - /function.prototype.name/1.1.5: - resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.1 - functions-have-names: 1.2.3 - dev: true - - /functions-have-names/1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - dev: true - - /gauge/2.7.4: - resolution: {integrity: sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==} - dependencies: - aproba: 1.2.0 - console-control-strings: 1.1.0 - has-unicode: 2.0.1 - object-assign: 4.1.1 - signal-exit: 3.0.7 - string-width: 1.0.2 - strip-ansi: 3.0.1 - wide-align: 1.1.5 - dev: false - - /gauge/3.0.2: - resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} - engines: {node: '>=10'} - dependencies: - aproba: 2.0.0 - color-support: 1.1.3 - console-control-strings: 1.1.0 - has-unicode: 2.0.1 - object-assign: 4.1.1 - signal-exit: 3.0.7 - string-width: 4.2.3 - strip-ansi: 6.0.1 - wide-align: 1.1.5 - dev: false - - /gensync/1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - - /get-caller-file/2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - dev: true - - /get-func-name/2.0.0: - resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==} - dev: true - - /get-intrinsic/1.2.0: - resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==} - dependencies: - function-bind: 1.1.1 - has: 1.0.3 - has-symbols: 1.0.3 - dev: true - - /get-own-enumerable-property-symbols/3.0.2: - resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} - dev: true - - /get-package-type/0.1.0: - resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} - engines: {node: '>=8.0.0'} - dev: true - - /get-pkg-repo/4.2.1: - resolution: {integrity: sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==} - engines: {node: '>=6.9.0'} - hasBin: true - dependencies: - '@hutson/parse-repository-url': 3.0.2 - hosted-git-info: 4.1.0 - through2: 2.0.5 - yargs: 16.2.0 - dev: true - - /get-stdin/6.0.0: - resolution: {integrity: sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==} - engines: {node: '>=4'} - dev: true - - /get-stream/4.1.0: - resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} - engines: {node: '>=6'} - dependencies: - pump: 3.0.0 - dev: true - - /get-stream/5.2.0: - resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} - engines: {node: '>=8'} - dependencies: - pump: 3.0.0 - dev: true - - /get-stream/6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - dev: true - - /get-symbol-description/1.0.0: - resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 - dev: true - - /getpass/0.1.7: - resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} - dependencies: - assert-plus: 1.0.0 - - /git-config-path/1.0.1: - resolution: {integrity: sha512-KcJ2dlrrP5DbBnYIZ2nlikALfRhKzNSX0stvv3ImJ+fvC4hXKoV+U+74SV0upg+jlQZbrtQzc0bu6/Zh+7aQbg==} - engines: {node: '>=0.10.0'} - dependencies: - extend-shallow: 2.0.1 - fs-exists-sync: 0.1.0 - homedir-polyfill: 1.0.3 - dev: true - - /git-raw-commits/2.0.11: - resolution: {integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==} - engines: {node: '>=10'} - hasBin: true - dependencies: - dargs: 7.0.0 - lodash: 4.17.21 - meow: 8.1.2 - split2: 3.2.2 - through2: 4.0.2 - dev: true - - /git-remote-origin-url/2.0.0: - resolution: {integrity: sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==} - engines: {node: '>=4'} - dependencies: - gitconfiglocal: 1.0.0 - pify: 2.3.0 - dev: true - - /git-semver-tags/4.1.1: - resolution: {integrity: sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==} - engines: {node: '>=10'} - hasBin: true - dependencies: - meow: 8.1.2 - semver: 6.3.0 - dev: true - - /gitconfiglocal/1.0.0: - resolution: {integrity: sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==} - dependencies: - ini: 1.3.8 - dev: true - - /gitlab/10.2.1: - resolution: {integrity: sha512-z+DxRF1C9uayVbocs9aJkJz+kGy14TSm1noB/rAIEBbXOkOYbjKxyuqJzt+0zeFpXFdgA0yq6DVVbvM7HIfGwg==} - engines: {node: '>=10.0.0'} - deprecated: 'The gitlab package has found a new home in the @gitbeaker organization. For the latest gitlab node library, check out @gitbeaker/node. A full list of the features can be found here: https://github.com/jdalrymple/gitbeaker#readme' - dependencies: - form-data: 2.5.1 - humps: 2.0.1 - ky: 0.12.0 - ky-universal: 0.3.0_ky@0.12.0 - li: 1.3.0 - query-string: 6.14.1 - universal-url: 2.0.0 - transitivePeerDependencies: - - encoding - dev: true - - /glob-parent/5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - dependencies: - is-glob: 4.0.3 - - /glob-parent/6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} - dependencies: - is-glob: 4.0.3 - dev: true - - /glob/7.2.0: - resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - - /glob/7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - - /global-dirs/0.1.1: - resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==} - engines: {node: '>=4'} - dependencies: - ini: 1.3.8 - dev: true - - /global-modules/1.0.0: - resolution: {integrity: sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==} - engines: {node: '>=0.10.0'} - dependencies: - global-prefix: 1.0.2 - is-windows: 1.0.2 - resolve-dir: 1.0.1 - dev: true - - /global-prefix/1.0.2: - resolution: {integrity: sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==} - engines: {node: '>=0.10.0'} - dependencies: - expand-tilde: 2.0.2 - homedir-polyfill: 1.0.3 - ini: 1.3.8 - is-windows: 1.0.2 - which: 1.3.1 - dev: true - - /globals/11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - - /globals/13.20.0: - resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.20.2 - dev: true - - /globalthis/1.0.3: - resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} - engines: {node: '>= 0.4'} - dependencies: - define-properties: 1.2.0 - dev: true - - /gopd/1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} - dependencies: - get-intrinsic: 1.2.0 - dev: true - - /got/11.8.6: - resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} - engines: {node: '>=10.19.0'} - dependencies: - '@sindresorhus/is': 4.6.0 - '@szmarczak/http-timer': 4.0.6 - '@types/cacheable-request': 6.0.3 - '@types/responselike': 1.0.0 - cacheable-lookup: 5.0.4 - cacheable-request: 7.0.2 - decompress-response: 6.0.0 - http2-wrapper: 1.0.3 - lowercase-keys: 2.0.0 - p-cancelable: 2.1.1 - responselike: 2.0.1 - dev: true - - /graceful-fs/4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} - - /grapheme-splitter/1.0.4: - resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} - dev: true - - /growl/1.10.5: - resolution: {integrity: sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==} - engines: {node: '>=4.x'} - dev: true - - /handlebars/4.7.7: - resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==} - engines: {node: '>=0.4.7'} - hasBin: true - dependencies: - minimist: 1.2.8 - neo-async: 2.6.2 - source-map: 0.6.1 - wordwrap: 1.0.0 - optionalDependencies: - uglify-js: 3.17.4 - dev: true - - /har-schema/2.0.0: - resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==} - engines: {node: '>=4'} - - /har-validator/5.1.5: - resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==} - engines: {node: '>=6'} - deprecated: this library is no longer supported - dependencies: - ajv: 6.12.6 - har-schema: 2.0.0 - - /hard-rejection/2.1.0: - resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} - engines: {node: '>=6'} - dev: true - - /has-bigints/1.0.2: - resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} - dev: true - - /has-flag/2.0.0: - resolution: {integrity: sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==} - engines: {node: '>=0.10.0'} - dev: true - - /has-flag/3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - - /has-flag/4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - - /has-property-descriptors/1.0.0: - resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} - dependencies: - get-intrinsic: 1.2.0 - dev: true - - /has-proto/1.0.1: - resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} - engines: {node: '>= 0.4'} - dev: true - - /has-symbols/1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} - engines: {node: '>= 0.4'} - dev: true - - /has-tostringtag/1.0.0: - resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} - engines: {node: '>= 0.4'} - dependencies: - has-symbols: 1.0.3 - dev: true - - /has-unicode/2.0.1: - resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} - dev: false - - /has/1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} - dependencies: - function-bind: 1.1.1 - - /hasha/5.2.2: - resolution: {integrity: sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==} - engines: {node: '>=8'} - dependencies: - is-stream: 2.0.1 - type-fest: 0.8.1 - dev: true - - /hasurl/1.0.0: - resolution: {integrity: sha512-43ypUd3DbwyCT01UYpA99AEZxZ4aKtRxWGBHEIbjcOsUghd9YUON0C+JF6isNjaiwC/UF5neaUudy6JS9jZPZQ==} - engines: {node: '>= 4'} - dev: true - - /he/1.2.0: - resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} - hasBin: true - dev: true - - /homedir-polyfill/1.0.3: - resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} - engines: {node: '>=0.10.0'} - dependencies: - parse-passwd: 1.0.0 - dev: true - - /hosted-git-info/2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - dev: true - - /hosted-git-info/4.1.0: - resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} - engines: {node: '>=10'} - dependencies: - lru-cache: 6.0.0 - - /html-escaper/2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - dev: true - - /http-cache-semantics/4.1.1: - resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} - - /http-proxy-agent/2.1.0: - resolution: {integrity: sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==} - engines: {node: '>= 4.5.0'} - dependencies: - agent-base: 4.3.0 - debug: 3.1.0 - transitivePeerDependencies: - - supports-color - dev: true - - /http-proxy-agent/4.0.1: - resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} - engines: {node: '>= 6'} - dependencies: - '@tootallnate/once': 1.1.2 - agent-base: 6.0.2 - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: false - - /http-signature/1.2.0: - resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==} - engines: {node: '>=0.8', npm: '>=1.3.7'} - dependencies: - assert-plus: 1.0.0 - jsprim: 1.4.2 - sshpk: 1.17.0 - - /http2-wrapper/1.0.3: - resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} - engines: {node: '>=10.19.0'} - dependencies: - quick-lru: 5.1.1 - resolve-alpn: 1.2.1 - dev: true - - /https-proxy-agent/2.2.4: - resolution: {integrity: sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==} - engines: {node: '>= 4.5.0'} - dependencies: - agent-base: 4.3.0 - debug: 3.2.7 - transitivePeerDependencies: - - supports-color - dev: true - - /https-proxy-agent/5.0.1: - resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} - engines: {node: '>= 6'} - dependencies: - agent-base: 6.0.2 - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: false - - /human-signals/2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - dev: true - - /humanize-ms/1.2.1: - resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} - dependencies: - ms: 2.1.3 - dev: false - - /humanize/0.0.9: - resolution: {integrity: sha512-bvZZ7vXpr1RKoImjuQ45hJb5OvE2oJafHysiD/AL3nkqTZH2hFCjQ3YZfCd63FefDitbJze/ispUPP0gfDsT2Q==} - dev: true - - /humps/2.0.1: - resolution: {integrity: sha512-E0eIbrFWUhwfXJmsbdjRQFQPrl5pTEoKlz163j1mTqqUnU9PgR4AgB8AIITzuB3vLBdxZXyZ9TDIrwB2OASz4g==} - dev: true - - /husky/7.0.4: - resolution: {integrity: sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==} - engines: {node: '>=12'} - hasBin: true - dev: true - - /hypar/0.1.0: - resolution: {integrity: sha512-jLohCUFV1vs7tzyCydbsYT8WBbyP33UO1WNlQkuWox3nn+N6bIC90ahK9JKz14GRtMzYQPSPPBwEu7hOnxRiHA==} - dependencies: - debug: 0.7.4 - transitivePeerDependencies: - - supports-color - dev: false - - /hyperlinker/1.0.0: - resolution: {integrity: sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==} - engines: {node: '>=4'} - dev: true - - /iconv-lite/0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} - dependencies: - safer-buffer: 2.1.2 - dev: true - - /iconv-lite/0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} - engines: {node: '>=0.10.0'} - dependencies: - safer-buffer: 2.1.2 - dev: false - optional: true - - /ieee754/1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - - /ignore-walk/3.0.4: - resolution: {integrity: sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==} - dependencies: - minimatch: 3.1.2 - dev: false - - /ignore/5.2.4: - resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} - engines: {node: '>= 4'} - dev: true - - /import-fresh/3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - dev: true - - /imurmurhash/0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - - /indent-string/4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} - - /infer-owner/1.0.4: - resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} - dev: false - - /inflight/1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - - /inherits/2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - - /ini/1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - dev: true - - /inquirer/8.2.5: - resolution: {integrity: sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==} - engines: {node: '>=12.0.0'} - dependencies: - ansi-escapes: 4.3.2 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-width: 3.0.0 - external-editor: 3.1.0 - figures: 3.2.0 - lodash: 4.17.21 - mute-stream: 0.0.8 - ora: 5.4.1 - run-async: 2.4.1 - rxjs: 7.8.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - through: 2.3.8 - wrap-ansi: 7.0.0 - dev: true - - /internal-slot/1.0.5: - resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} - engines: {node: '>= 0.4'} - dependencies: - get-intrinsic: 1.2.0 - has: 1.0.3 - side-channel: 1.0.4 - dev: true - - /ioslib/1.7.30: - resolution: {integrity: sha512-ZT9N+avvDBLzicPkeaL9roQUsdWU+PObtSfFEB/+4Hreo+RpHyUje7dwQ0SN4SI2T5zLYEPiwEN2iBQxZHiC3g==} - engines: {node: '>=10.13'} - dependencies: - always-tail: 0.2.0 - async: 3.2.4 - bplist-parser: 0.3.2 - debug: 4.3.4 - mkdirp: 0.5.1 - node-appc: 1.1.6 - node-ios-device: 1.10.0 - transitivePeerDependencies: - - encoding - - supports-color - dev: false - - /ip/2.0.0: - resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==} - dev: false - - /is-array-buffer/3.0.1: - resolution: {integrity: sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ==} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 - is-typed-array: 1.1.10 - dev: true - - /is-arrayish/0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - dev: true - - /is-bigint/1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} - dependencies: - has-bigints: 1.0.2 - dev: true - - /is-binary-path/2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - dependencies: - binary-extensions: 2.2.0 - - /is-boolean-object/1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 - dev: true - - /is-builtin-module/3.2.1: - resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} - engines: {node: '>=6'} - dependencies: - builtin-modules: 3.3.0 - dev: true - - /is-callable/1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} - dev: true - - /is-ci/2.0.0: - resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} - hasBin: true - dependencies: - ci-info: 2.0.0 - dev: false - - /is-core-module/2.11.0: - resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} - dependencies: - has: 1.0.3 - - /is-date-object/1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} - engines: {node: '>= 0.4'} - dependencies: - has-tostringtag: 1.0.0 - dev: true - - /is-docker/2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true - dev: false - - /is-extendable/0.1.1: - resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} - engines: {node: '>=0.10.0'} - dev: true - - /is-extglob/2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - - /is-fullwidth-code-point/1.0.0: - resolution: {integrity: sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==} - engines: {node: '>=0.10.0'} - dependencies: - number-is-nan: 1.0.1 - dev: false - - /is-fullwidth-code-point/3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - - /is-glob/4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - - /is-interactive/1.0.0: - resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} - engines: {node: '>=8'} - dev: true - - /is-lambda/1.0.1: - resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} - dev: false - - /is-module/1.0.0: - resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} - dev: true - - /is-negative-zero/2.0.2: - resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} - engines: {node: '>= 0.4'} - dev: true - - /is-number-object/1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} - engines: {node: '>= 0.4'} - dependencies: - has-tostringtag: 1.0.0 - dev: true - - /is-number/7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - - /is-obj/1.0.1: - resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} - engines: {node: '>=0.10.0'} - dev: true - - /is-obj/2.0.0: - resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} - engines: {node: '>=8'} - dev: true - - /is-path-inside/3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - dev: true - - /is-plain-obj/1.1.0: - resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} - engines: {node: '>=0.10.0'} - dev: true - - /is-plain-obj/2.1.0: - resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} - engines: {node: '>=8'} - dev: true - - /is-plain-object/5.0.0: - resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} - engines: {node: '>=0.10.0'} - dev: true - - /is-promise/1.0.1: - resolution: {integrity: sha512-mjWH5XxnhMA8cFnDchr6qRP9S/kLntKuEfIYku+PaN1CnS8v+OG9O/BKpRCVRJvpIkgAZm0Pf5Is3iSSOILlcg==} - dev: false - - /is-reference/1.2.1: - resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} - dependencies: - '@types/estree': 1.0.0 - dev: true - - /is-regex/1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 - dev: true - - /is-regexp/1.0.0: - resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} - engines: {node: '>=0.10.0'} - dev: true - - /is-shared-array-buffer/1.0.2: - resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} - dependencies: - call-bind: 1.0.2 - dev: true - - /is-stream/1.1.0: - resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} - engines: {node: '>=0.10.0'} - dev: true - - /is-stream/2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - dev: true - - /is-string/1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} - engines: {node: '>= 0.4'} - dependencies: - has-tostringtag: 1.0.0 - dev: true - - /is-symbol/1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} - engines: {node: '>= 0.4'} - dependencies: - has-symbols: 1.0.3 - dev: true - - /is-text-path/1.0.1: - resolution: {integrity: sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==} - engines: {node: '>=0.10.0'} - dependencies: - text-extensions: 1.9.0 - dev: true - - /is-typed-array/1.1.10: - resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==} - engines: {node: '>= 0.4'} - dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.0 - dev: true - - /is-typedarray/1.0.0: - resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} - - /is-unicode-supported/0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - dev: true - - /is-utf8/0.2.1: - resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} - dev: true - - /is-weakref/1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} - dependencies: - call-bind: 1.0.2 - dev: true - - /is-windows/1.0.2: - resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} - engines: {node: '>=0.10.0'} - dev: true - - /is-wsl/2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} - dependencies: - is-docker: 2.2.1 - dev: false - - /isarray/1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - - /isexe/2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - - /isstream/0.1.2: - resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} - - /istanbul-lib-coverage/3.2.0: - resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} - engines: {node: '>=8'} - dev: true - - /istanbul-lib-hook/3.0.0: - resolution: {integrity: sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==} - engines: {node: '>=8'} - dependencies: - append-transform: 2.0.0 - dev: true - - /istanbul-lib-instrument/4.0.3: - resolution: {integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==} - engines: {node: '>=8'} - dependencies: - '@babel/core': 7.20.12 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-coverage: 3.2.0 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - dev: true - - /istanbul-lib-processinfo/2.0.3: - resolution: {integrity: sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==} - engines: {node: '>=8'} - dependencies: - archy: 1.0.0 - cross-spawn: 7.0.3 - istanbul-lib-coverage: 3.2.0 - p-map: 3.0.0 - rimraf: 3.0.2 - uuid: 8.3.2 - dev: true - - /istanbul-lib-report/3.0.0: - resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} - engines: {node: '>=8'} - dependencies: - istanbul-lib-coverage: 3.2.0 - make-dir: 3.1.0 - supports-color: 7.2.0 - dev: true - - /istanbul-lib-source-maps/4.0.1: - resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} - engines: {node: '>=10'} - dependencies: - debug: 4.3.4 - istanbul-lib-coverage: 3.2.0 - source-map: 0.6.1 - transitivePeerDependencies: - - supports-color - dev: true - - /istanbul-reports/3.1.5: - resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==} - engines: {node: '>=8'} - dependencies: - html-escaper: 2.0.2 - istanbul-lib-report: 3.0.0 - dev: true - - /jake/10.8.5: - resolution: {integrity: sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==} - engines: {node: '>=10'} - hasBin: true - dependencies: - async: 3.2.4 - chalk: 4.1.2 - filelist: 1.0.4 - minimatch: 3.1.2 - - /js-sdsl/4.3.0: - resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==} - dev: true - - /js-tokens/4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - - /js-yaml/3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - dev: true - - /js-yaml/4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true - dependencies: - argparse: 2.0.1 - dev: true - - /jsbn/0.1.1: - resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} - - /jsesc/0.5.0: - resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} - hasBin: true - dev: false - - /jsesc/2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} - hasBin: true - - /json-buffer/3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - dev: true - - /json-parse-better-errors/1.0.2: - resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} - dev: true - - /json-parse-even-better-errors/2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - - /json-schema-traverse/0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - - /json-schema-traverse/1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - dev: true - optional: true - - /json-schema/0.4.0: - resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} - - /json-stable-stringify-without-jsonify/1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - dev: true - - /json-stringify-nice/1.1.4: - resolution: {integrity: sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw==} - dev: false - - /json-stringify-safe/5.0.1: - resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} - - /json5/1.0.2: - resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} - hasBin: true - dependencies: - minimist: 1.2.8 - dev: true - - /json5/2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - - /jsonfile/4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - optionalDependencies: - graceful-fs: 4.2.10 - dev: false - - /jsonfile/6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - dependencies: - universalify: 2.0.0 - optionalDependencies: - graceful-fs: 4.2.10 - - /jsonparse/1.3.1: - resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} - engines: {'0': node >= 0.2.0} - - /jsonpointer/5.0.1: - resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} - engines: {node: '>=0.10.0'} - dev: true - - /jsonwebtoken/8.5.1: - resolution: {integrity: sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==} - engines: {node: '>=4', npm: '>=1.4.28'} - dependencies: - jws: 3.2.2 - lodash.includes: 4.3.0 - lodash.isboolean: 3.0.3 - lodash.isinteger: 4.0.4 - lodash.isnumber: 3.0.3 - lodash.isplainobject: 4.0.6 - lodash.isstring: 4.0.1 - lodash.once: 4.1.1 - ms: 2.1.3 - semver: 5.7.1 - dev: true - - /jsprim/1.4.2: - resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} - engines: {node: '>=0.6.0'} - dependencies: - assert-plus: 1.0.0 - extsprintf: 1.3.0 - json-schema: 0.4.0 - verror: 1.10.0 - - /just-diff-apply/3.1.2: - resolution: {integrity: sha512-TCa7ZdxCeq6q3Rgms2JCRHTCfWAETPZ8SzYUbkYF6KR3I03sN29DaOIC+xyWboIcMvjAsD5iG2u/RWzHD8XpgQ==} - dev: false - - /just-diff/3.1.1: - resolution: {integrity: sha512-sdMWKjRq8qWZEjDcVA6llnUT8RDEBIfOiGpYFPYa9u+2c39JCsejktSP7mj5eRid5EIvTzIpQ2kDOCw1Nq9BjQ==} - dev: false - - /jwa/1.4.1: - resolution: {integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==} - dependencies: - buffer-equal-constant-time: 1.0.1 - ecdsa-sig-formatter: 1.0.11 - safe-buffer: 5.2.1 - dev: true - - /jws/3.2.2: - resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==} - dependencies: - jwa: 1.4.1 - safe-buffer: 5.2.1 - dev: true - - /keypress/0.2.1: - resolution: {integrity: sha512-HjorDJFNhnM4SicvaUXac0X77NiskggxJdesG72+O5zBKpSqKFCrqmndKVqpu3pFqkla0St6uGk8Ju0sCurrmg==} - - /keyv/4.5.2: - resolution: {integrity: sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==} - dependencies: - json-buffer: 3.0.1 - dev: true - - /kind-of/6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - dev: true - - /klaw-sync/6.0.0: - resolution: {integrity: sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==} - dependencies: - graceful-fs: 4.2.10 - dev: false - - /ky-universal/0.3.0_ky@0.12.0: - resolution: {integrity: sha512-CM4Bgb2zZZpsprcjI6DNYTaH3oGHXL2u7BU4DK+lfCuC4snkt9/WRpMYeKbBbXscvKkeqBwzzjFX2WwmKY5K/A==} - engines: {node: '>=8'} - peerDependencies: - ky: '>=0.12.0' - dependencies: - abort-controller: 3.0.0 - ky: 0.12.0 - node-fetch: 2.6.9 - transitivePeerDependencies: - - encoding - dev: true - - /ky/0.12.0: - resolution: {integrity: sha512-t9b7v3V2fGwAcQnnDDQwKQGF55eWrf4pwi1RN08Fy8b/9GEwV7Ea0xQiaSW6ZbeghBHIwl8kgnla4vVo9seepQ==} - engines: {node: '>=8'} - dev: true - - /lazystream/1.0.1: - resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} - engines: {node: '>= 0.6.3'} - dependencies: - readable-stream: 2.3.7 - dev: false - - /levn/0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /li/1.3.0: - resolution: {integrity: sha512-z34TU6GlMram52Tss5mt1m//ifRIpKH5Dqm7yUVOdHI+BQCs9qGPHFaCUTIzsWX7edN30aa2WrPwR7IO10FHaw==} - dev: true - - /lines-and-columns/1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - dev: true - - /linkify-it/3.0.3: - resolution: {integrity: sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==} - dependencies: - uc.micro: 1.0.6 - dev: true - - /lint-staged/11.2.6: - resolution: {integrity: sha512-Vti55pUnpvPE0J9936lKl0ngVeTdSZpEdTNhASbkaWX7J5R9OEifo1INBGQuGW4zmy6OG+TcWPJ3m5yuy5Q8Tg==} - hasBin: true - dependencies: - cli-truncate: 2.1.0 - colorette: 1.4.0 - commander: 8.3.0 - cosmiconfig: 7.1.0 - debug: 4.3.4_supports-color@8.1.1 - enquirer: 2.3.6 - execa: 5.1.1 - listr2: 3.14.0_enquirer@2.3.6 - micromatch: 4.0.5 - normalize-path: 3.0.0 - please-upgrade-node: 3.2.0 - string-argv: 0.3.1 - stringify-object: 3.3.0 - supports-color: 8.1.1 - dev: true - - /listr2/3.14.0_enquirer@2.3.6: - resolution: {integrity: sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==} - engines: {node: '>=10.0.0'} - peerDependencies: - enquirer: '>= 2.3.0 < 3' - peerDependenciesMeta: - enquirer: - optional: true - dependencies: - cli-truncate: 2.1.0 - colorette: 2.0.19 - enquirer: 2.3.6 - log-update: 4.0.0 - p-map: 4.0.0 - rfdc: 1.3.0 - rxjs: 7.8.0 - through: 2.3.8 - wrap-ansi: 7.0.0 - dev: true - - /liveview/1.5.6: - resolution: {integrity: sha512-N58a+UeM8J3t8a6S6ux7SOnHgyDFV4PJxfbaHcQX0YNzbA0F68joGHQFhMpMv/2Z0dIoNLr9YBQ0GDCutUrtGw==} - engines: {node: '>=10.0.0'} - hasBin: true - dependencies: - chokidar: 3.5.3 - coloring: 0.1.0 - commander: 2.0.0 - debug: 4.2.0 - fs-extra: 8.1.0 - hypar: 0.1.0 - node-titanium-sdk: 3.2.2 - shelljs: 0.2.6 - win-fork: 1.1.1 - transitivePeerDependencies: - - supports-color - dev: false - - /load-json-file/4.0.0: - resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} - engines: {node: '>=4'} - dependencies: - graceful-fs: 4.2.10 - parse-json: 4.0.0 - pify: 3.0.0 - strip-bom: 3.0.0 - dev: true - - /locate-path/2.0.0: - resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} - engines: {node: '>=4'} - dependencies: - p-locate: 2.0.0 - path-exists: 3.0.0 - dev: true - - /locate-path/5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} - dependencies: - p-locate: 4.1.0 - dev: true - - /locate-path/6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} - dependencies: - p-locate: 5.0.0 - dev: true - - /lockfile-lint-api/5.5.1: - resolution: {integrity: sha512-/29lQyXOSOgqgh5dbItWYE3sm7WAO2kWH7WmbbovUDAHyRLYtVqFfDzG35zlIOzlEydEJ33DKXl8GPoLjBAvEg==} - engines: {node: '>=10.0.0'} - dependencies: - '@yarnpkg/parsers': 3.0.0-rc.39 - object-hash: 3.0.0 - dev: true - - /lockfile-lint/4.10.1: - resolution: {integrity: sha512-I45oGDBSKThsXiogy0hABI2T8TiR4Bk1cxpPrtA2J/MdqQYZIDl1k2+KqjD/fKRJtmaWfds70nK7Hl4K6r8veQ==} - engines: {node: '>=10.0.0'} - hasBin: true - dependencies: - cosmiconfig: 7.1.0 - debug: 4.3.4 - lockfile-lint-api: 5.5.1 - yargs: 16.2.0 - transitivePeerDependencies: - - supports-color - dev: true - - /lodash.debounce/4.0.8: - resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - dev: false - - /lodash.defaults/4.2.0: - resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} - dev: false - - /lodash.difference/4.5.0: - resolution: {integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==} - dev: false - - /lodash.find/4.6.0: - resolution: {integrity: sha512-yaRZoAV3Xq28F1iafWN1+a0rflOej93l1DQUejs3SZ41h2O9UJBoS9aueGjPDgAl4B6tPC0NuuchLKaDQQ3Isg==} - dev: true - - /lodash.flatten/4.4.0: - resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==} - - /lodash.flattendeep/4.4.0: - resolution: {integrity: sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==} - dev: true - - /lodash.get/4.4.2: - resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} - dev: true - - /lodash.includes/4.3.0: - resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==} - dev: true - - /lodash.isboolean/3.0.3: - resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==} - dev: true - - /lodash.isinteger/4.0.4: - resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==} - dev: true - - /lodash.ismatch/4.4.0: - resolution: {integrity: sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==} - dev: true - - /lodash.isnumber/3.0.3: - resolution: {integrity: sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==} - dev: true - - /lodash.isobject/3.0.2: - resolution: {integrity: sha512-3/Qptq2vr7WeJbB4KHUSKlq8Pl7ASXi3UG6CMbBm8WRtXi8+GHm7mKaU3urfpSEzWe2wCIChs6/sdocUsTKJiA==} - dev: true - - /lodash.isplainobject/4.0.6: - resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} - - /lodash.isstring/4.0.1: - resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} - dev: true - - /lodash.keys/4.2.0: - resolution: {integrity: sha512-J79MkJcp7Df5mizHiVNpjoHXLi4HLjh9VLS/M7lQSGoQ+0oQ+lWEigREkqKyizPB1IawvQLLKY8mzEcm1tkyxQ==} - dev: true - - /lodash.map/4.6.0: - resolution: {integrity: sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==} - dev: true - - /lodash.mapvalues/4.6.0: - resolution: {integrity: sha512-JPFqXFeZQ7BfS00H58kClY7SPVeHertPE0lNuCyZ26/XlN8TvakYD7b9bGyNmXbT/D3BbtPAAmq90gPWqLkxlQ==} - dev: true - - /lodash.memoize/4.1.2: - resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} - dev: true - - /lodash.merge/4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - - /lodash.mergewith/4.6.2: - resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} - dev: true - optional: true - - /lodash.once/4.1.1: - resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} - dev: true - - /lodash.set/4.3.2: - resolution: {integrity: sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==} - dev: true - - /lodash.sortby/4.7.0: - resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} - dev: true - - /lodash.union/4.6.0: - resolution: {integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==} - dev: false - - /lodash.uniq/4.5.0: - resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} - dev: true - - /lodash/4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - - /log-symbols/4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 - dev: true - - /log-update/4.0.0: - resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} - engines: {node: '>=10'} - dependencies: - ansi-escapes: 4.3.2 - cli-cursor: 3.1.0 - slice-ansi: 4.0.0 - wrap-ansi: 6.2.0 - dev: true - - /longest/2.0.1: - resolution: {integrity: sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q==} - engines: {node: '>=0.10.0'} - dev: true - - /loupe/2.3.6: - resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==} - dependencies: - get-func-name: 2.0.0 - dev: true - - /lowercase-keys/2.0.0: - resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} - engines: {node: '>=8'} - dev: true - - /lru-cache/5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - dependencies: - yallist: 3.1.1 - - /lru-cache/6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - dependencies: - yallist: 4.0.0 - - /macos-release/2.5.0: - resolution: {integrity: sha512-EIgv+QZ9r+814gjJj0Bt5vSLJLzswGmSUbUpbi9AIr/fsN2IWFBl2NucV9PAiek+U1STK468tEkxmVYUtuAN3g==} - engines: {node: '>=6'} - dev: true - - /magic-string/0.25.9: - resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} - dependencies: - sourcemap-codec: 1.4.8 - dev: true - - /make-dir/3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} - dependencies: - semver: 6.3.0 - - /make-error/1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - dev: true - - /make-fetch-happen/9.1.0: - resolution: {integrity: sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==} - engines: {node: '>= 10'} - dependencies: - agentkeepalive: 4.2.1 - cacache: 15.3.0 - http-cache-semantics: 4.1.1 - http-proxy-agent: 4.0.1 - https-proxy-agent: 5.0.1 - is-lambda: 1.0.1 - lru-cache: 6.0.0 - minipass: 3.3.6 - minipass-collect: 1.0.2 - minipass-fetch: 1.4.1 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - negotiator: 0.6.3 - promise-retry: 2.0.1 - socks-proxy-agent: 6.2.1 - ssri: 8.0.1 - transitivePeerDependencies: - - bluebird - - supports-color - dev: false - - /map-obj/1.0.1: - resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} - engines: {node: '>=0.10.0'} - dev: true - - /map-obj/4.3.0: - resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} - engines: {node: '>=8'} - dev: true - - /markdown-it/12.3.2: - resolution: {integrity: sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==} - hasBin: true - dependencies: - argparse: 2.0.1 - entities: 2.1.0 - linkify-it: 3.0.3 - mdurl: 1.0.1 - uc.micro: 1.0.6 - dev: true - - /markdown/0.5.0: - resolution: {integrity: sha512-ctGPIcuqsYoJ493sCtFK7H4UEgMWAUdXeBhPbdsg1W0LsV9yJELAHRsMmWfTgao6nH0/x5gf9FmsbxiXnrgaIQ==} - hasBin: true - dependencies: - nopt: 2.1.2 - dev: false - - /mdurl/1.0.1: - resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} - dev: true - - /memfs-or-file-map-to-github-branch/1.2.1: - resolution: {integrity: sha512-I/hQzJ2a/pCGR8fkSQ9l5Yx+FQ4e7X6blNHyWBm2ojeFLT3GVzGkTj7xnyWpdclrr7Nq4dmx3xrvu70m3ypzAQ==} - dependencies: - '@octokit/rest': 16.43.2 - transitivePeerDependencies: - - '@octokit/core' - - encoding - dev: true - - /memorystream/0.3.1: - resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} - engines: {node: '>= 0.10.0'} - dev: true - - /meow/8.1.2: - resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==} - engines: {node: '>=10'} - dependencies: - '@types/minimist': 1.2.2 - camelcase-keys: 6.2.2 - decamelize-keys: 1.1.1 - hard-rejection: 2.1.0 - minimist-options: 4.1.0 - normalize-package-data: 3.0.3 - read-pkg-up: 7.0.1 - redent: 3.0.0 - trim-newlines: 3.0.1 - type-fest: 0.18.1 - yargs-parser: 20.2.9 - dev: true - - /merge-stream/2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true - - /merge/2.1.1: - resolution: {integrity: sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==} - dev: true - - /micromatch/4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} - dependencies: - braces: 3.0.2 - picomatch: 2.3.1 - - /mime-db/1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - - /mime-types/2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - dependencies: - mime-db: 1.52.0 - - /mimic-fn/2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - dev: true - - /mimic-response/1.0.1: - resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} - engines: {node: '>=4'} - dev: true - - /mimic-response/3.1.0: - resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} - engines: {node: '>=10'} - dev: true - - /min-indent/1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} - dev: true - - /minimatch/3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - dependencies: - brace-expansion: 1.1.11 - - /minimatch/4.2.1: - resolution: {integrity: sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==} - engines: {node: '>=10'} - dependencies: - brace-expansion: 1.1.11 - dev: true - - /minimatch/5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} - dependencies: - brace-expansion: 2.0.1 - - /minimist-options/4.1.0: - resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} - engines: {node: '>= 6'} - dependencies: - arrify: 1.0.1 - is-plain-obj: 1.1.0 - kind-of: 6.0.3 - dev: true - - /minimist/0.0.10: - resolution: {integrity: sha512-iotkTvxc+TwOm5Ieim8VnSNvCDjCK9S8G3scJ50ZthspSxa7jx50jkhYduuAtAjvfDUwSgOwf8+If99AlOEhyw==} - dev: false - - /minimist/0.0.8: - resolution: {integrity: sha512-miQKw5Hv4NS1Psg2517mV4e4dYNaO3++hjAvLOAzKqZ61rH8NS1SK+vbfBWZ5PY/Me/bEWhUwqMghEW5Fb9T7Q==} - dev: false - - /minimist/1.2.7: - resolution: {integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==} - dev: true - - /minimist/1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - - /minipass-collect/1.0.2: - resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} - engines: {node: '>= 8'} - dependencies: - minipass: 3.3.6 - dev: false - - /minipass-fetch/1.4.1: - resolution: {integrity: sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==} - engines: {node: '>=8'} - dependencies: - minipass: 3.3.6 - minipass-sized: 1.0.3 - minizlib: 2.1.2 - optionalDependencies: - encoding: 0.1.13 - dev: false - - /minipass-flush/1.0.5: - resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} - engines: {node: '>= 8'} - dependencies: - minipass: 3.3.6 - dev: false - - /minipass-json-stream/1.0.1: - resolution: {integrity: sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==} - dependencies: - jsonparse: 1.3.1 - minipass: 3.3.6 - dev: false - - /minipass-pipeline/1.2.4: - resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} - engines: {node: '>=8'} - dependencies: - minipass: 3.3.6 - dev: false - - /minipass-sized/1.0.3: - resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} - engines: {node: '>=8'} - dependencies: - minipass: 3.3.6 - dev: false - - /minipass/3.3.6: - resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} - engines: {node: '>=8'} - dependencies: - yallist: 4.0.0 - - /minipass/4.0.3: - resolution: {integrity: sha512-OW2r4sQ0sI+z5ckEt5c1Tri4xTgZwYDxpE54eqWlQloQRoWtXjqt9udJ5Z4dSv7wK+nfFI7FRXyCpBSft+gpFw==} - engines: {node: '>=8'} - dev: false - - /minizlib/2.1.2: - resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} - engines: {node: '>= 8'} - dependencies: - minipass: 3.3.6 - yallist: 4.0.0 - dev: false - - /mkdirp-infer-owner/2.0.0: - resolution: {integrity: sha512-sdqtiFt3lkOaYvTXSRIUjkIdPTcxgv5+fgqYE/5qgwdw12cOrAuzzgzvVExIkH/ul1oeHN3bCLOWSG3XOqbKKw==} - engines: {node: '>=10'} - dependencies: - chownr: 2.0.0 - infer-owner: 1.0.4 - mkdirp: 1.0.4 - dev: false - - /mkdirp/0.5.1: - resolution: {integrity: sha512-SknJC52obPfGQPnjIkXbmA6+5H15E+fR+E4iR2oQ3zzCLbd7/ONua69R/Gw7AgkTLsRG+r5fzksYwWe1AgTyWA==} - deprecated: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.) - hasBin: true - dependencies: - minimist: 0.0.8 - dev: false - - /mkdirp/0.5.6: - resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} - hasBin: true - dependencies: - minimist: 1.2.8 - - /mkdirp/1.0.4: - resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} - engines: {node: '>=10'} - hasBin: true - - /mocha-jenkins-reporter/0.4.8_mocha@9.2.2: - resolution: {integrity: sha512-1nz1Q+YgREUlh2kgFR+lrp+ufEFbdhCdtlEVEJR/5LhgqNLIg52+KG3X94hHpwWnf5SwYLS7udxgBbkWOUbyeQ==} - peerDependencies: - mocha: ^5.2.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 - dependencies: - diff: 4.0.1 - mkdirp: 1.0.4 - mocha: 9.2.2 - xml: 1.0.1 - dev: true - - /mocha/9.2.2: - resolution: {integrity: sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==} - engines: {node: '>= 12.0.0'} - hasBin: true - dependencies: - '@ungap/promise-all-settled': 1.1.2 - ansi-colors: 4.1.1 - browser-stdout: 1.3.1 - chokidar: 3.5.3 - debug: 4.3.3_supports-color@8.1.1 - diff: 5.0.0 - escape-string-regexp: 4.0.0 - find-up: 5.0.0 - glob: 7.2.0 - growl: 1.10.5 - he: 1.2.0 - js-yaml: 4.1.0 - log-symbols: 4.1.0 - minimatch: 4.2.1 - ms: 2.1.3 - nanoid: 3.3.1 - serialize-javascript: 6.0.0 - strip-json-comments: 3.1.1 - supports-color: 8.1.1 - which: 2.0.2 - workerpool: 6.2.0 - yargs: 16.2.0 - yargs-parser: 20.2.4 - yargs-unparser: 2.0.0 - dev: true - - /modify-values/1.0.1: - resolution: {integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==} - engines: {node: '>=0.10.0'} - dev: true - - /moment/2.29.4: - resolution: {integrity: sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==} - dev: false - - /ms/2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - dev: true - - /ms/2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - - /ms/2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - - /mute-stream/0.0.8: - resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} - dev: true - - /nan/2.17.0: - resolution: {integrity: sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==} - dev: false - - /nanoid/3.3.1: - resolution: {integrity: sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - dev: true - - /natural-compare/1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - dev: true - - /negotiator/0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} - dev: false - - /neo-async/2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - dev: true - - /nice-try/1.0.5: - resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} - - /node-appc/0.3.4: - resolution: {integrity: sha512-DFJCttcjDmbKS/Z2oPHugp+MjfZ/dsT25dLf2gXzujPOH+zAWOH03079dokon0/hp0zbZu3ksFmrx+JIWtV97Q==} - engines: {node: '>=8.0'} - dependencies: - adm-zip: 0.4.16 - async: 2.6.4 - colors: 1.3.3 - diff: 3.5.0 - fs-extra: 7.0.1 - optimist: 0.6.1 - request: 2.88.2 - semver: 6.0.0 - sprintf: 0.1.5 - temp: 0.9.4 - uglify-js: 3.4.10 - uuid: 3.3.3 - xmldom: 0.1.27 - dev: false - - /node-appc/1.1.6: - resolution: {integrity: sha512-ZfoHjoDLpNfXYBshztIq+aTjtlvCZF4XAE00ZYNk4u+/qAjQI+8BidCn957b69WzronQtyNw2NtnJEhsP3N7EQ==} - engines: {node: '>=10.13'} - dependencies: - '@xmldom/xmldom': 0.8.6 - async: 3.2.4 - colors: 1.4.0 - fs-extra: 9.1.0 - request: 2.88.2 - semver: 7.3.8 - sprintf: 0.1.5 - temp: 0.9.4 - uuid: 9.0.0 - yauzl: 2.10.0 - - /node-cleanup/2.1.2: - resolution: {integrity: sha512-qN8v/s2PAJwGUtr1/hYTpNKlD6Y9rc4p8KSmJXyGdYGZsDGKXrGThikLFP9OCHFeLeEpQzPwiAtdIvBLqm//Hw==} - dev: true - - /node-fetch/2.6.9: - resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - dependencies: - whatwg-url: 5.0.0 - - /node-gyp/7.1.2: - resolution: {integrity: sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==} - engines: {node: '>= 10.12.0'} - hasBin: true - dependencies: - env-paths: 2.2.1 - glob: 7.2.3 - graceful-fs: 4.2.10 - nopt: 5.0.0 - npmlog: 4.1.2 - request: 2.88.2 - rimraf: 3.0.2 - semver: 7.3.8 - tar: 6.1.13 - which: 2.0.2 - dev: false - - /node-ios-device/1.10.0: - resolution: {integrity: sha512-HPmTMZW6aBzJfiJCQvI77ZkwFhItDw7F3CqLdEHWz9EfmC/woRflVJzkOwB2wEe0W5+VPMDcyb4NoUahX7nTWw==} - engines: {node: '>=10.13'} - requiresBuild: true - dependencies: - '@mapbox/node-pre-gyp': 1.0.10 - debug: 4.3.4 - nan: 2.17.0 - node-pre-gyp-init: 1.2.1 - patch-package: 6.5.1 - transitivePeerDependencies: - - encoding - - supports-color - dev: false - - /node-pre-gyp-init/1.2.1: - resolution: {integrity: sha512-gbC2fERRmWbJFvj54f4yyiY/O6J1kkLrN7jkwRvzNmgMgPCufZLv76l2luzWjj+Ge0xQF6zDalZ6iIgzCHJ95Q==} - dependencies: - '@mapbox/node-pre-gyp': 1.0.10 - transitivePeerDependencies: - - encoding - - supports-color - dev: false - - /node-preload/0.2.1: - resolution: {integrity: sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==} - engines: {node: '>=8'} - dependencies: - process-on-spawn: 1.0.0 - dev: true - - /node-releases/2.0.10: - resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} - - /node-titanium-sdk/3.2.2: - resolution: {integrity: sha512-qASjqmnHNeohUh/F6PljkDyZNqcXjK4TPqVJ4ZXH8njs97ITpg+frG7S05IhqHxsPfyHWJv/I5qxcewv2voNcA==} - engines: {node: '>=8.9.0'} - dependencies: - '@babel/core': 7.20.12 - '@babel/parser': 7.20.15 - '@babel/plugin-transform-property-literals': 7.18.6_@babel+core@7.20.12 - '@babel/preset-env': 7.20.2_@babel+core@7.20.12 - async: 3.2.4 - babel-preset-minify: 0.5.2 - colors: 1.4.0 - fs-extra: 8.1.0 - node-appc: 0.3.4 - node-uuid: 1.4.8 - stream-splitter: 0.3.2 - unorm: 1.6.0 - xmldom: 0.1.27 - transitivePeerDependencies: - - supports-color - dev: false - - /node-titanium-sdk/5.1.7: - resolution: {integrity: sha512-IjzyWq5IrV3PUwyVX8kG1/GRxEMQJDki00F4uuVodY7Eq8b8N6ox4MmCOEs6kO3GJyC+lsDmZDOwA3WS5OEcwQ==} - engines: {node: '>=10'} - dependencies: - '@babel/core': 7.20.12 - '@babel/parser': 7.20.15 - '@babel/plugin-transform-property-literals': 7.18.6_@babel+core@7.20.12 - '@babel/preset-env': 7.20.2_@babel+core@7.20.12 - async: 3.2.4 - babel-plugin-transform-titanium: 0.1.1 - babel-preset-minify: 0.5.2 - colors: 1.4.0 - fs-extra: 11.1.0 - node-appc: 1.1.6 - node-uuid: 1.4.8 - stream-splitter: 0.3.2 - unorm: 1.6.0 - xmldom: 0.6.0 - transitivePeerDependencies: - - supports-color - dev: false - - /node-uuid/1.4.8: - resolution: {integrity: sha512-TkCET/3rr9mUuRp+CpO7qfgT++aAxfDRaalQhwPFzI9BY/2rCDn6OfpZOVggi1AXfTPpfkTrg5f5WQx5G1uLxA==} - deprecated: Use uuid module instead - hasBin: true - dev: false - - /nodeify/1.0.1: - resolution: {integrity: sha512-n7C2NyEze8GCo/z73KdbjRsBiLbv6eBn1FxwYKQ23IqGo7pQY3mhQan61Sv7eEDJCiyUjTVrVkXTzJCo1dW7Aw==} - dependencies: - is-promise: 1.0.1 - promise: 1.3.0 - dev: false - - /nopt/2.1.2: - resolution: {integrity: sha512-x8vXm7BZ2jE1Txrxh/hO74HTuYZQEbo8edoRcANgdZ4+PCV+pbjd/xdummkmjjC7LU5EjPzlu8zEq/oxWylnKA==} - hasBin: true - dependencies: - abbrev: 1.1.1 - dev: false - - /nopt/5.0.0: - resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} - engines: {node: '>=6'} - hasBin: true - dependencies: - abbrev: 1.1.1 - dev: false - - /normalize-package-data/2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} - dependencies: - hosted-git-info: 2.8.9 - resolve: 1.22.1 - semver: 5.7.1 - validate-npm-package-license: 3.0.4 - dev: true - - /normalize-package-data/3.0.3: - resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} - engines: {node: '>=10'} - dependencies: - hosted-git-info: 4.1.0 - is-core-module: 2.11.0 - semver: 7.3.8 - validate-npm-package-license: 3.0.4 - dev: true - - /normalize-path/3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - - /normalize-url/6.1.0: - resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} - engines: {node: '>=10'} - dev: true - - /npm-bundled/1.1.2: - resolution: {integrity: sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==} - dependencies: - npm-normalize-package-bin: 1.0.1 - dev: false - - /npm-install-checks/4.0.0: - resolution: {integrity: sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==} - engines: {node: '>=10'} - dependencies: - semver: 7.3.8 - dev: false - - /npm-normalize-package-bin/1.0.1: - resolution: {integrity: sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==} - dev: false - - /npm-package-arg/8.1.5: - resolution: {integrity: sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==} - engines: {node: '>=10'} - dependencies: - hosted-git-info: 4.1.0 - semver: 7.3.8 - validate-npm-package-name: 3.0.0 - dev: false - - /npm-packlist/2.2.2: - resolution: {integrity: sha512-Jt01acDvJRhJGthnUJVF/w6gumWOZxO7IkpY/lsX9//zqQgnF7OJaxgQXcerd4uQOLu7W5bkb4mChL9mdfm+Zg==} - engines: {node: '>=10'} - hasBin: true - dependencies: - glob: 7.2.3 - ignore-walk: 3.0.4 - npm-bundled: 1.1.2 - npm-normalize-package-bin: 1.0.1 - dev: false - - /npm-pick-manifest/6.1.1: - resolution: {integrity: sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==} - dependencies: - npm-install-checks: 4.0.0 - npm-normalize-package-bin: 1.0.1 - npm-package-arg: 8.1.5 - semver: 7.3.8 - dev: false - - /npm-registry-fetch/11.0.0: - resolution: {integrity: sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA==} - engines: {node: '>=10'} - dependencies: - make-fetch-happen: 9.1.0 - minipass: 3.3.6 - minipass-fetch: 1.4.1 - minipass-json-stream: 1.0.1 - minizlib: 2.1.2 - npm-package-arg: 8.1.5 - transitivePeerDependencies: - - bluebird - - supports-color - dev: false - - /npm-run-all/4.1.5: - resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==} - engines: {node: '>= 4'} - hasBin: true - dependencies: - ansi-styles: 3.2.1 - chalk: 2.4.2 - cross-spawn: 6.0.5 - memorystream: 0.3.1 - minimatch: 3.1.2 - pidtree: 0.3.1 - read-pkg: 3.0.0 - shell-quote: 1.8.0 - string.prototype.padend: 3.1.4 - dev: true - - /npm-run-path/2.0.2: - resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} - engines: {node: '>=4'} - dependencies: - path-key: 2.0.1 - dev: true - - /npm-run-path/4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - dependencies: - path-key: 3.1.1 - dev: true - - /npmlog/4.1.2: - resolution: {integrity: sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==} - dependencies: - are-we-there-yet: 1.1.7 - console-control-strings: 1.1.0 - gauge: 2.7.4 - set-blocking: 2.0.0 - dev: false - - /npmlog/5.0.1: - resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} - dependencies: - are-we-there-yet: 2.0.0 - console-control-strings: 1.1.0 - gauge: 3.0.2 - set-blocking: 2.0.0 - dev: false - - /number-is-nan/1.0.1: - resolution: {integrity: sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==} - engines: {node: '>=0.10.0'} - dev: false - - /nyc/15.1.0: - resolution: {integrity: sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==} - engines: {node: '>=8.9'} - hasBin: true - dependencies: - '@istanbuljs/load-nyc-config': 1.1.0 - '@istanbuljs/schema': 0.1.3 - caching-transform: 4.0.0 - convert-source-map: 1.9.0 - decamelize: 1.2.0 - find-cache-dir: 3.3.2 - find-up: 4.1.0 - foreground-child: 2.0.0 - get-package-type: 0.1.0 - glob: 7.2.3 - istanbul-lib-coverage: 3.2.0 - istanbul-lib-hook: 3.0.0 - istanbul-lib-instrument: 4.0.3 - istanbul-lib-processinfo: 2.0.3 - istanbul-lib-report: 3.0.0 - istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.5 - make-dir: 3.1.0 - node-preload: 0.2.1 - p-map: 3.0.0 - process-on-spawn: 1.0.0 - resolve-from: 5.0.0 - rimraf: 3.0.2 - signal-exit: 3.0.7 - spawn-wrap: 2.0.0 - test-exclude: 6.0.0 - yargs: 15.4.1 - transitivePeerDependencies: - - supports-color - dev: true - - /oauth-sign/0.9.0: - resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} - - /object-assign/4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} - dev: false - - /object-hash/3.0.0: - resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} - engines: {node: '>= 6'} - dev: true - - /object-inspect/1.12.3: - resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} - dev: true - - /object-keys/1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - dev: true - - /object.assign/4.1.4: - resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - has-symbols: 1.0.3 - object-keys: 1.1.1 - dev: true - - /object.values/1.1.6: - resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.1 - dev: true - - /octokit-pagination-methods/1.1.0: - resolution: {integrity: sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ==} - dev: true - - /once/1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - dependencies: - wrappy: 1.0.2 - - /onetime/5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - dependencies: - mimic-fn: 2.1.0 - dev: true - - /open/7.4.2: - resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} - engines: {node: '>=8'} - dependencies: - is-docker: 2.2.1 - is-wsl: 2.2.0 - dev: false - - /optimist/0.6.1: - resolution: {integrity: sha512-snN4O4TkigujZphWLN0E//nQmm7790RYaE53DdL7ZYwee2D8DDo9/EyYiKUfN3rneWUjhJnueija3G9I2i0h3g==} - dependencies: - minimist: 0.0.10 - wordwrap: 0.0.3 - dev: false - - /optionator/0.9.1: - resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} - engines: {node: '>= 0.8.0'} - dependencies: - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - word-wrap: 1.2.3 - dev: true - - /ora/5.4.1: - resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} - engines: {node: '>=10'} - dependencies: - bl: 4.1.0 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-spinners: 2.7.0 - is-interactive: 1.0.0 - is-unicode-supported: 0.1.0 - log-symbols: 4.1.0 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - dev: true - - /os-name/3.1.0: - resolution: {integrity: sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg==} - engines: {node: '>=6'} - dependencies: - macos-release: 2.5.0 - windows-release: 3.3.3 - dev: true - - /os-tmpdir/1.0.2: - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} - engines: {node: '>=0.10.0'} - - /override-require/1.1.1: - resolution: {integrity: sha512-eoJ9YWxFcXbrn2U8FKT6RV+/Kj7fiGAB1VvHzbYKt8xM5ZuKZgCGvnHzDxmreEjcBH28ejg5MiOH4iyY1mQnkg==} - dev: true - - /p-cancelable/2.1.1: - resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} - engines: {node: '>=8'} - dev: true - - /p-finally/1.0.0: - resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} - engines: {node: '>=4'} - dev: true - - /p-limit/1.3.0: - resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} - engines: {node: '>=4'} - dependencies: - p-try: 1.0.0 - dev: true - - /p-limit/2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} - dependencies: - p-try: 2.2.0 - dev: true - - /p-limit/3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - dependencies: - yocto-queue: 0.1.0 - - /p-locate/2.0.0: - resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} - engines: {node: '>=4'} - dependencies: - p-limit: 1.3.0 - dev: true - - /p-locate/4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} - dependencies: - p-limit: 2.3.0 - dev: true - - /p-locate/5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} - dependencies: - p-limit: 3.1.0 - dev: true - - /p-map/3.0.0: - resolution: {integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==} - engines: {node: '>=8'} - dependencies: - aggregate-error: 3.1.0 - dev: true - - /p-map/4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} - dependencies: - aggregate-error: 3.1.0 - - /p-try/1.0.0: - resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} - engines: {node: '>=4'} - dev: true - - /p-try/2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - dev: true - - /package-hash/4.0.0: - resolution: {integrity: sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==} - engines: {node: '>=8'} - dependencies: - graceful-fs: 4.2.10 - hasha: 5.2.2 - lodash.flattendeep: 4.4.0 - release-zalgo: 1.0.0 - dev: true - - /pacote/11.3.5: - resolution: {integrity: sha512-fT375Yczn4zi+6Hkk2TBe1x1sP8FgFsEIZ2/iWaXY2r/NkhDJfxbcn5paz1+RTFCyNf+dPnaoBDJoAxXSU8Bkg==} - engines: {node: '>=10'} - hasBin: true - dependencies: - '@npmcli/git': 2.1.0 - '@npmcli/installed-package-contents': 1.0.7 - '@npmcli/promise-spawn': 1.3.2 - '@npmcli/run-script': 1.8.6 - cacache: 15.3.0 - chownr: 2.0.0 - fs-minipass: 2.1.0 - infer-owner: 1.0.4 - minipass: 3.3.6 - mkdirp: 1.0.4 - npm-package-arg: 8.1.5 - npm-packlist: 2.2.2 - npm-pick-manifest: 6.1.1 - npm-registry-fetch: 11.0.0 - promise-retry: 2.0.1 - read-package-json-fast: 2.0.3 - rimraf: 3.0.2 - ssri: 8.0.1 - tar: 6.1.13 - transitivePeerDependencies: - - bluebird - - supports-color - dev: false - - /parent-module/1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - dependencies: - callsites: 3.1.0 - dev: true - - /parse-conflict-json/1.1.1: - resolution: {integrity: sha512-4gySviBiW5TRl7XHvp1agcS7SOe0KZOjC//71dzZVWJrY9hCrgtvl5v3SyIxCZ4fZF47TxD9nfzmxcx76xmbUw==} - dependencies: - json-parse-even-better-errors: 2.3.1 - just-diff: 3.1.1 - just-diff-apply: 3.1.2 - dev: false - - /parse-diff/0.7.1: - resolution: {integrity: sha512-1j3l8IKcy4yRK2W4o9EYvJLSzpAVwz4DXqCewYyx2vEwk2gcf3DBPqc8Fj4XV3K33OYJ08A8fWwyu/ykD/HUSg==} - dev: true - - /parse-git-config/2.0.3: - resolution: {integrity: sha512-Js7ueMZOVSZ3tP8C7E3KZiHv6QQl7lnJ+OkbxoaFazzSa2KyEHqApfGbU3XboUgUnq4ZuUmskUpYKTNx01fm5A==} - engines: {node: '>=6'} - dependencies: - expand-tilde: 2.0.2 - git-config-path: 1.0.1 - ini: 1.3.8 - dev: true - - /parse-github-url/1.0.2: - resolution: {integrity: sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==} - engines: {node: '>=0.10.0'} - hasBin: true - dev: true - - /parse-json/4.0.0: - resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} - engines: {node: '>=4'} - dependencies: - error-ex: 1.3.2 - json-parse-better-errors: 1.0.2 - dev: true - - /parse-json/5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} - dependencies: - '@babel/code-frame': 7.18.6 - error-ex: 1.3.2 - json-parse-even-better-errors: 2.3.1 - lines-and-columns: 1.2.4 - dev: true - - /parse-link-header/2.0.0: - resolution: {integrity: sha512-xjU87V0VyHZybn2RrCX5TIFGxTVZE6zqqZWMPlIKiSKuWh/X5WZdt+w1Ki1nXB+8L/KtL+nZ4iq+sfI6MrhhMw==} - dependencies: - xtend: 4.0.2 - dev: true - - /parse-passwd/1.0.0: - resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==} - engines: {node: '>=0.10.0'} - dev: true - - /patch-package/6.5.1: - resolution: {integrity: sha512-I/4Zsalfhc6bphmJTlrLoOcAF87jcxko4q0qsv4bGcurbr8IskEOtdnt9iCmsQVGL1B+iUhSQqweyTLJfCF9rA==} - engines: {node: '>=10', npm: '>5'} - hasBin: true - dependencies: - '@yarnpkg/lockfile': 1.1.0 - chalk: 4.1.2 - cross-spawn: 6.0.5 - find-yarn-workspace-root: 2.0.0 - fs-extra: 9.1.0 - is-ci: 2.0.0 - klaw-sync: 6.0.0 - minimist: 1.2.8 - open: 7.4.2 - rimraf: 2.7.1 - semver: 5.7.1 - slash: 2.0.0 - tmp: 0.0.33 - yaml: 1.10.2 - dev: false - - /path-exists/3.0.0: - resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} - engines: {node: '>=4'} - dev: true - - /path-exists/4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - dev: true - - /path-is-absolute/1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - - /path-key/2.0.1: - resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} - engines: {node: '>=4'} - - /path-key/3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - dev: true - - /path-parse/1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - - /path-type/3.0.0: - resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} - engines: {node: '>=4'} - dependencies: - pify: 3.0.0 - dev: true - - /path-type/4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - dev: true - - /pathval/1.1.1: - resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} - dev: true - - /pend/1.2.0: - resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} - - /performance-now/2.1.0: - resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} - - /picocolors/1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - - /picomatch/2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - - /pidtree/0.3.1: - resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==} - engines: {node: '>=0.10'} - hasBin: true - dev: true - - /pify/2.3.0: - resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} - engines: {node: '>=0.10.0'} - dev: true - - /pify/3.0.0: - resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} - engines: {node: '>=4'} - dev: true - - /pinpoint/1.1.0: - resolution: {integrity: sha512-+04FTD9x7Cls2rihLlo57QDCcHoLBGn5Dk51SwtFBWkUWLxZaBXyNVpCw1S+atvE7GmnFjeaRZ0WLq3UYuqAdg==} - dev: true - - /pkg-dir/4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} - dependencies: - find-up: 4.1.0 - dev: true - - /please-upgrade-node/3.2.0: - resolution: {integrity: sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==} - dependencies: - semver-compare: 1.0.0 - dev: true - - /plist/3.0.6: - resolution: {integrity: sha512-WiIVYyrp8TD4w8yCvyeIr+lkmrGRd5u0VbRnU+tP/aRLxP/YadJUYOMZJ/6hIa3oUyVCsycXvtNRgd5XBJIbiA==} - engines: {node: '>=6'} - dependencies: - base64-js: 1.5.1 - xmlbuilder: 15.1.1 - dev: false - - /pngjs/6.0.0: - resolution: {integrity: sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==} - engines: {node: '>=12.13.0'} - dev: false - - /prelude-ls/1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - dev: true - - /prettyjson/1.2.5: - resolution: {integrity: sha512-rksPWtoZb2ZpT5OVgtmy0KHVM+Dca3iVwWY9ifwhcexfjebtgjg3wmrUt9PvJ59XIYBcknQeYHD8IAnVlh9lAw==} - hasBin: true - dependencies: - colors: 1.4.0 - minimist: 1.2.8 - dev: true - - /proc-log/1.0.0: - resolution: {integrity: sha512-aCk8AO51s+4JyuYGg3Q/a6gnrlDO09NpVWePtjp7xwphcoQ04x5WAfCyugcsbLooWcMJ87CLkD4+604IckEdhg==} - dev: false - - /process-nextick-args/2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - - /process-on-spawn/1.0.0: - resolution: {integrity: sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==} - engines: {node: '>=8'} - dependencies: - fromentries: 1.3.2 - dev: true - - /promise-all-reject-late/1.0.1: - resolution: {integrity: sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw==} - dev: false - - /promise-call-limit/1.0.1: - resolution: {integrity: sha512-3+hgaa19jzCGLuSCbieeRsu5C2joKfYn8pY6JAuXFRVfF4IO+L7UPpFWNTeWT9pM7uhskvbPPd/oEOktCn317Q==} - dev: false - - /promise-inflight/1.0.1: - resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} - peerDependencies: - bluebird: '*' - peerDependenciesMeta: - bluebird: - optional: true - dev: false - - /promise-retry/2.0.1: - resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} - engines: {node: '>=10'} - dependencies: - err-code: 2.0.3 - retry: 0.12.0 - dev: false - - /promise/1.3.0: - resolution: {integrity: sha512-R9WrbTF3EPkVtWjp7B7umQGVndpsi+rsDAfrR4xAALQpFLa/+2OriecLhawxzvii2gd9+DZFwROWDuUUaqS5yA==} - dependencies: - is-promise: 1.0.1 - dev: false - - /psl/1.9.0: - resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} - - /pump/3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - dev: true - - /punycode/2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} - engines: {node: '>=6'} - - /q/1.5.1: - resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} - engines: {node: '>=0.6.0', teleport: '>=0.2.0'} - dev: true - - /qs/6.5.3: - resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} - engines: {node: '>=0.6'} - - /query-string/6.14.1: - resolution: {integrity: sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==} - engines: {node: '>=6'} - dependencies: - decode-uri-component: 0.2.2 - filter-obj: 1.1.0 - split-on-first: 1.1.0 - strict-uri-encode: 2.0.0 - dev: true - - /queue-microtask/1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: true - - /quick-lru/4.0.1: - resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} - engines: {node: '>=8'} - dev: true - - /quick-lru/5.1.1: - resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} - engines: {node: '>=10'} - dev: true - - /rambda/7.4.0: - resolution: {integrity: sha512-A9hihu7dUTLOUCM+I8E61V4kRXnN4DwYeK0DwCBydC1MqNI1PidyAtbtpsJlBBzK4icSctEcCQ1bGcLpBuETUQ==} - dev: true - - /randombytes/2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} - dependencies: - safe-buffer: 5.2.1 - dev: true - - /read-cmd-shim/2.0.0: - resolution: {integrity: sha512-HJpV9bQpkl6KwjxlJcBoqu9Ba0PQg8TqSNIOrulGt54a0uup0HtevreFHzYzkm0lpnleRdNBzXznKrgxglEHQw==} - dev: false - - /read-package-json-fast/2.0.3: - resolution: {integrity: sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==} - engines: {node: '>=10'} - dependencies: - json-parse-even-better-errors: 2.3.1 - npm-normalize-package-bin: 1.0.1 - dev: false - - /read-pkg-up/3.0.0: - resolution: {integrity: sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==} - engines: {node: '>=4'} - dependencies: - find-up: 2.1.0 - read-pkg: 3.0.0 - dev: true - - /read-pkg-up/7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} - dependencies: - find-up: 4.1.0 - read-pkg: 5.2.0 - type-fest: 0.8.1 - dev: true - - /read-pkg/3.0.0: - resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} - engines: {node: '>=4'} - dependencies: - load-json-file: 4.0.0 - normalize-package-data: 2.5.0 - path-type: 3.0.0 - dev: true - - /read-pkg/5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} - dependencies: - '@types/normalize-package-data': 2.4.1 - normalize-package-data: 2.5.0 - parse-json: 5.2.0 - type-fest: 0.6.0 - dev: true - - /readable-stream/2.3.7: - resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} - dependencies: - core-util-is: 1.0.3 - inherits: 2.0.4 - isarray: 1.0.0 - process-nextick-args: 2.0.1 - safe-buffer: 5.1.2 - string_decoder: 1.1.1 - util-deprecate: 1.0.2 - - /readable-stream/3.6.0: - resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} - engines: {node: '>= 6'} - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - - /readdir-glob/1.1.2: - resolution: {integrity: sha512-6RLVvwJtVwEDfPdn6X6Ille4/lxGl0ATOY4FN/B9nxQcgOazvvI0nodiD19ScKq0PvA/29VpaOQML36o5IzZWA==} - dependencies: - minimatch: 5.1.6 - dev: false - - /readdir-scoped-modules/1.1.0: - resolution: {integrity: sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==} - deprecated: This functionality has been moved to @npmcli/fs - dependencies: - debuglog: 1.0.1 - dezalgo: 1.0.4 - graceful-fs: 4.2.10 - once: 1.4.0 - dev: false - - /readdirp/3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - dependencies: - picomatch: 2.3.1 - - /readline-sync/1.4.10: - resolution: {integrity: sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw==} - engines: {node: '>= 0.8.0'} - dev: true - - /redent/3.0.0: - resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} - engines: {node: '>=8'} - dependencies: - indent-string: 4.0.0 - strip-indent: 3.0.0 - dev: true - - /regenerate-unicode-properties/10.1.0: - resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==} - engines: {node: '>=4'} - dependencies: - regenerate: 1.4.2 - dev: false - - /regenerate/1.4.2: - resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} - dev: false - - /regenerator-runtime/0.13.11: - resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} - - /regenerator-transform/0.15.1: - resolution: {integrity: sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==} - dependencies: - '@babel/runtime': 7.20.13 - dev: false - - /regexp-tree/0.1.24: - resolution: {integrity: sha512-s2aEVuLhvnVJW6s/iPgEGK6R+/xngd2jNQ+xy4bXNDKxZKJH6jpPHY6kVeVv1IeLCHgswRj+Kl3ELaDjG6V1iw==} - hasBin: true - dev: true - - /regexp.prototype.flags/1.4.3: - resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - functions-have-names: 1.2.3 - dev: true - - /regexpp/3.2.0: - resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} - engines: {node: '>=8'} - dev: true - - /regexpu-core/5.3.0: - resolution: {integrity: sha512-ZdhUQlng0RoscyW7jADnUZ25F5eVtHdMyXSb2PiwafvteRAOJUjFoUPEYZSIfP99fBIs3maLIRfpEddT78wAAQ==} - engines: {node: '>=4'} - dependencies: - '@babel/regjsgen': 0.8.0 - regenerate: 1.4.2 - regenerate-unicode-properties: 10.1.0 - regjsparser: 0.9.1 - unicode-match-property-ecmascript: 2.0.0 - unicode-match-property-value-ecmascript: 2.1.0 - dev: false - - /regjsparser/0.9.1: - resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} - hasBin: true - dependencies: - jsesc: 0.5.0 - dev: false - - /release-zalgo/1.0.0: - resolution: {integrity: sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==} - engines: {node: '>=4'} - dependencies: - es6-error: 4.1.1 - dev: true - - /request-promise-core/1.1.4_request@2.88.2: - resolution: {integrity: sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==} - engines: {node: '>=0.10.0'} - peerDependencies: - request: ^2.34 - dependencies: - lodash: 4.17.21 - request: 2.88.2 - dev: true - - /request-promise-native/1.0.9_request@2.88.2: - resolution: {integrity: sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==} - engines: {node: '>=0.12.0'} - deprecated: request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142 - peerDependencies: - request: ^2.34 - dependencies: - request: 2.88.2 - request-promise-core: 1.1.4_request@2.88.2 - stealthy-require: 1.1.1 - tough-cookie: 2.5.0 - dev: true - - /request/2.88.2: - resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==} - engines: {node: '>= 6'} - deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 - dependencies: - aws-sign2: 0.7.0 - aws4: 1.12.0 - caseless: 0.12.0 - combined-stream: 1.0.8 - extend: 3.0.2 - forever-agent: 0.6.1 - form-data: 2.3.3 - har-validator: 5.1.5 - http-signature: 1.2.0 - is-typedarray: 1.0.0 - isstream: 0.1.2 - json-stringify-safe: 5.0.1 - mime-types: 2.1.35 - oauth-sign: 0.9.0 - performance-now: 2.1.0 - qs: 6.5.3 - safe-buffer: 5.2.1 - tough-cookie: 2.5.0 - tunnel-agent: 0.6.0 - uuid: 3.4.0 - - /require-directory/2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} - dev: true - - /require-from-string/2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} - dev: true - - /require-main-filename/2.0.0: - resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} - dev: true - - /resolve-alpn/1.2.1: - resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} - dev: true - - /resolve-dir/1.0.1: - resolution: {integrity: sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==} - engines: {node: '>=0.10.0'} - dependencies: - expand-tilde: 2.0.2 - global-modules: 1.0.0 - dev: true - - /resolve-from/4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - dev: true - - /resolve-from/5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} - dev: true - - /resolve-global/1.0.0: - resolution: {integrity: sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==} - engines: {node: '>=8'} - dependencies: - global-dirs: 0.1.1 - dev: true - - /resolve/1.22.1: - resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} - hasBin: true - dependencies: - is-core-module: 2.11.0 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - - /responselike/2.0.1: - resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} - dependencies: - lowercase-keys: 2.0.0 - dev: true - - /restore-cursor/3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - dev: true - - /retry/0.12.0: - resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} - engines: {node: '>= 4'} - - /reusify/1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - dev: true - - /rfdc/1.3.0: - resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} - dev: true - - /rimraf/2.6.3: - resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} - hasBin: true - dependencies: - glob: 7.2.3 - - /rimraf/2.7.1: - resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} - hasBin: true - dependencies: - glob: 7.2.3 - dev: false - - /rimraf/3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true - dependencies: - glob: 7.2.3 - - /rollup/2.79.1: - resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} - engines: {node: '>=10.0.0'} - hasBin: true - optionalDependencies: - fsevents: 2.3.2 - dev: true - - /run-async/2.4.1: - resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} - engines: {node: '>=0.12.0'} - dev: true - - /run-parallel/1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - dependencies: - queue-microtask: 1.2.3 - dev: true - - /rxjs/7.8.0: - resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==} - dependencies: - tslib: 2.5.0 - dev: true - - /safe-buffer/5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - - /safe-buffer/5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - - /safe-regex-test/1.0.0: - resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 - is-regex: 1.1.4 - dev: true - - /safe-regex/2.1.1: - resolution: {integrity: sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==} - dependencies: - regexp-tree: 0.1.24 - dev: true - - /safer-buffer/2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - - /semver-compare/1.0.0: - resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} - dev: true - - /semver/5.7.1: - resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} - hasBin: true - - /semver/6.0.0: - resolution: {integrity: sha512-0UewU+9rFapKFnlbirLi3byoOuhrSsli/z/ihNnvM24vgF+8sNBiI1LZPBSH9wJKUwaUbw+s3hToDLCXkrghrQ==} - hasBin: true - dev: false - - /semver/6.3.0: - resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} - hasBin: true - - /semver/7.3.5: - resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - - /semver/7.3.8: - resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - - /serialize-javascript/6.0.0: - resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} - dependencies: - randombytes: 2.1.0 - dev: true - - /set-blocking/2.0.0: - resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} - - /shebang-command/1.2.0: - resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} - engines: {node: '>=0.10.0'} - dependencies: - shebang-regex: 1.0.0 - - /shebang-command/2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - dependencies: - shebang-regex: 3.0.0 - dev: true - - /shebang-regex/1.0.0: - resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} - engines: {node: '>=0.10.0'} - - /shebang-regex/3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - dev: true - - /shell-quote/1.8.0: - resolution: {integrity: sha512-QHsz8GgQIGKlRi24yFc6a6lN69Idnx634w49ay6+jA5yFh7a1UY+4Rp6HPx/L/1zcEDPEij8cIsiqR6bQsE5VQ==} - dev: true - - /shelljs/0.2.6: - resolution: {integrity: sha512-LQiM15qPbSyzHDFfI4v7EVhjBXG5PUAKWVBnVMBXwdlQSHZtzKYeKGzDHBIqpenPrCsPWqBSOF5o7oSvSfX+CA==} - engines: {node: '>=0.8.0'} - hasBin: true - dev: false - - /side-channel/1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 - object-inspect: 1.12.3 - dev: true - - /signal-exit/3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - - /simple-plist/1.3.1: - resolution: {integrity: sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw==} - dependencies: - bplist-creator: 0.1.0 - bplist-parser: 0.3.1 - plist: 3.0.6 - dev: false - - /slash/2.0.0: - resolution: {integrity: sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==} - engines: {node: '>=6'} - dev: false - - /slice-ansi/3.0.0: - resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} - engines: {node: '>=8'} - dependencies: - ansi-styles: 4.3.0 - astral-regex: 2.0.0 - is-fullwidth-code-point: 3.0.0 - dev: true - - /slice-ansi/4.0.0: - resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - astral-regex: 2.0.0 - is-fullwidth-code-point: 3.0.0 - dev: true - - /smart-buffer/4.2.0: - resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} - engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} - dev: false - - /socks-proxy-agent/6.2.1: - resolution: {integrity: sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==} - engines: {node: '>= 10'} - dependencies: - agent-base: 6.0.2 - debug: 4.3.4 - socks: 2.7.1 - transitivePeerDependencies: - - supports-color - dev: false - - /socks/2.7.1: - resolution: {integrity: sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==} - engines: {node: '>= 10.13.0', npm: '>= 3.0.0'} - dependencies: - ip: 2.0.0 - smart-buffer: 4.2.0 - dev: false - - /source-map-support/0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - dev: true - - /source-map/0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - - /sourcemap-codec/1.4.8: - resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} - deprecated: Please use @jridgewell/sourcemap-codec instead - dev: true - - /spawn-wrap/2.0.0: - resolution: {integrity: sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==} - engines: {node: '>=8'} - dependencies: - foreground-child: 2.0.0 - is-windows: 1.0.2 - make-dir: 3.1.0 - rimraf: 3.0.2 - signal-exit: 3.0.7 - which: 2.0.2 - dev: true - - /spdx-correct/3.1.1: - resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} - dependencies: - spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.12 - dev: true - - /spdx-exceptions/2.3.0: - resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} - dev: true - - /spdx-expression-parse/3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - dependencies: - spdx-exceptions: 2.3.0 - spdx-license-ids: 3.0.12 - dev: true - - /spdx-license-ids/3.0.12: - resolution: {integrity: sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==} - dev: true - - /split-on-first/1.1.0: - resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==} - engines: {node: '>=6'} - dev: true - - /split/1.0.1: - resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==} - dependencies: - through: 2.3.8 - dev: true - - /split2/3.2.2: - resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} - dependencies: - readable-stream: 3.6.0 - dev: true - - /sprintf-js/1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - dev: true - - /sprintf/0.1.5: - resolution: {integrity: sha512-4X5KsuXFQ7f+d7Y+bi4qSb6eI+YoifDTGr0MQJXRoYO7BO7evfRCjds6kk3z7l5CiJYxgDN1x5Er4WiyCt+zTQ==} - engines: {node: '>=0.2.4'} - deprecated: The sprintf package is deprecated in favor of sprintf-js. - - /sshpk/1.17.0: - resolution: {integrity: sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==} - engines: {node: '>=0.10.0'} - hasBin: true - dependencies: - asn1: 0.2.6 - assert-plus: 1.0.0 - bcrypt-pbkdf: 1.0.2 - dashdash: 1.14.1 - ecc-jsbn: 0.1.2 - getpass: 0.1.7 - jsbn: 0.1.1 - safer-buffer: 2.1.2 - tweetnacl: 0.14.5 - - /ssri/8.0.1: - resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==} - engines: {node: '>= 8'} - dependencies: - minipass: 3.3.6 - - /stack-trace/0.0.10: - resolution: {integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==} - dev: true - - /stealthy-require/1.1.1: - resolution: {integrity: sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==} - engines: {node: '>=0.10.0'} - dev: true - - /stream-buffers/2.2.0: - resolution: {integrity: sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg==} - engines: {node: '>= 0.10.0'} - dev: false - - /stream-splitter/0.3.2: - resolution: {integrity: sha512-9VAHJIhskQFJMbyKbf/5flSXV2HsP9MDFdCp3A8WDBWkZ8tP/SOfkI2c5lEHNNUNzbWdNkJEv6iNvQRJnSbYuA==} - dependencies: - buffers: 0.1.1 - - /strict-uri-encode/2.0.0: - resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==} - engines: {node: '>=4'} - dev: true - - /string-argv/0.3.1: - resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==} - engines: {node: '>=0.6.19'} - dev: true - - /string-width/1.0.2: - resolution: {integrity: sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==} - engines: {node: '>=0.10.0'} - dependencies: - code-point-at: 1.1.0 - is-fullwidth-code-point: 1.0.0 - strip-ansi: 3.0.1 - dev: false - - /string-width/4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - - /string.prototype.padend/3.1.4: - resolution: {integrity: sha512-67otBXoksdjsnXXRUq+KMVTdlVRZ2af422Y0aTyTjVaoQkGr3mxl2Bc5emi7dOQ3OGVVQQskmLEWwFXwommpNw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.1 - dev: true - - /string.prototype.trimend/1.0.6: - resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.1 - dev: true - - /string.prototype.trimstart/1.0.6: - resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.1 - dev: true - - /string_decoder/1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} - dependencies: - safe-buffer: 5.1.2 - - /string_decoder/1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - dependencies: - safe-buffer: 5.2.1 - - /stringify-object/3.3.0: - resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} - engines: {node: '>=4'} - dependencies: - get-own-enumerable-property-symbols: 3.0.2 - is-obj: 1.0.1 - is-regexp: 1.0.0 - dev: true - - /strip-ansi/3.0.1: - resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} - engines: {node: '>=0.10.0'} - dependencies: - ansi-regex: 2.1.1 - dev: false - - /strip-ansi/6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - dependencies: - ansi-regex: 5.0.1 - - /strip-bom/3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} - dev: true - - /strip-bom/4.0.0: - resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} - engines: {node: '>=8'} - dev: true - - /strip-eof/1.0.0: - resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} - engines: {node: '>=0.10.0'} - dev: true - - /strip-final-newline/2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - dev: true - - /strip-indent/3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} - dependencies: - min-indent: 1.0.1 - dev: true - - /strip-json-comments/3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - dev: true - - /supports-color/5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - dependencies: - has-flag: 3.0.0 - - /supports-color/7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - - /supports-color/8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-hyperlinks/1.0.1: - resolution: {integrity: sha512-HHi5kVSefKaJkGYXbDuKbUGRVxqnWGn3J2e39CYcNJEfWciGq2zYtOhXLTlvrOZW1QU7VX67w7fMmWafHX9Pfw==} - engines: {node: '>=4'} - dependencies: - has-flag: 2.0.0 - supports-color: 5.5.0 - dev: true - - /supports-preserve-symlinks-flag/1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - - /tar-stream/2.2.0: - resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} - engines: {node: '>=6'} - dependencies: - bl: 4.1.0 - end-of-stream: 1.4.4 - fs-constants: 1.0.0 - inherits: 2.0.4 - readable-stream: 3.6.0 - dev: false - - /tar/6.1.13: - resolution: {integrity: sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==} - engines: {node: '>=10'} - dependencies: - chownr: 2.0.0 - fs-minipass: 2.1.0 - minipass: 4.0.3 - minizlib: 2.1.2 - mkdirp: 1.0.4 - yallist: 4.0.0 - dev: false - - /temp-dir/2.0.0: - resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} - engines: {node: '>=8'} - dev: true - - /temp/0.9.4: - resolution: {integrity: sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==} - engines: {node: '>=6.0.0'} - dependencies: - mkdirp: 0.5.6 - rimraf: 2.6.3 - - /tempfile/3.0.0: - resolution: {integrity: sha512-uNFCg478XovRi85iD42egu+eSFUmmka750Jy7L5tfHI5hQKKtbPnxaSaXAbBqCDYrw3wx4tXjKwci4/QmsZJxw==} - engines: {node: '>=8'} - dependencies: - temp-dir: 2.0.0 - uuid: 3.4.0 - dev: true - - /test-exclude/6.0.0: - resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} - engines: {node: '>=8'} - dependencies: - '@istanbuljs/schema': 0.1.3 - glob: 7.2.3 - minimatch: 3.1.2 - dev: true - - /text-extensions/1.9.0: - resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==} - engines: {node: '>=0.10'} - dev: true - - /text-table/0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - dev: true - - /through/2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - dev: true - - /through2/2.0.5: - resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} - dependencies: - readable-stream: 2.3.7 - xtend: 4.0.2 - dev: true - - /through2/4.0.2: - resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} - dependencies: - readable-stream: 3.6.0 - dev: true - - /titanium-docgen/4.10.3: - resolution: {integrity: sha512-zslxOc2+XZiEZEVCk9Gll36rFWRhC9XFl0nof5NIbKTsDslXjaDdigKIa00ilQShu5/mOqsmd0mWAo2+Sefnag==} - hasBin: true - dependencies: - colors: 1.4.0 - ejs: 3.1.8 - js-yaml: 3.14.1 - markdown-it: 12.3.2 - node-appc: 1.1.6 - dev: true - - /titanium/6.1.1: - resolution: {integrity: sha512-jz1pZ1jDB72H63SaHYUYLbiBBVmaGPIprSKQr2rbuoNPNasp9EerMouqSUiVdnvaKElpnW/sWiMmPs4XINmo0w==} - engines: {node: '>=14.15'} - hasBin: true - dependencies: - async: 3.2.4 - colors: 1.4.0 - fields: 0.1.24 - got: 11.8.6 - humanize: 0.0.9 - node-appc: 1.1.6 - request: 2.88.2 - sprintf: 0.1.5 - tmp: 0.2.1 - winston: 2.4.6 - yauzl: 2.10.0 - dev: true - - /tmp/0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} - dependencies: - os-tmpdir: 1.0.2 - - /tmp/0.2.1: - resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} - engines: {node: '>=8.17.0'} - dependencies: - rimraf: 3.0.2 - dev: true - - /to-fast-properties/2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - - /to-regex-range/5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - dependencies: - is-number: 7.0.0 - - /tough-cookie/2.5.0: - resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} - engines: {node: '>=0.8'} - dependencies: - psl: 1.9.0 - punycode: 2.3.0 - - /tr46/0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - - /tr46/1.0.1: - resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} - dependencies: - punycode: 2.3.0 - dev: true - - /treeverse/1.0.4: - resolution: {integrity: sha512-whw60l7r+8ZU8Tu/Uc2yxtc4ZTZbR/PF3u1IPNKGQ6p8EICLb3Z2lAgoqw9bqYd8IkgnsaOcLzYHFckjqNsf0g==} - dev: false - - /trim-newlines/3.0.1: - resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} - engines: {node: '>=8'} - dev: true - - /ts-node/10.9.1_4bewfcp2iebiwuold25d6rgcsy: - resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.3 - '@types/node': 18.13.0 - acorn: 8.8.2 - acorn-walk: 8.2.0 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 4.9.5 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - dev: true - optional: true - - /ts-node/9.1.1_typescript@4.9.5: - resolution: {integrity: sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==} - engines: {node: '>=10.0.0'} - hasBin: true - peerDependencies: - typescript: '>=2.7' - dependencies: - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - source-map-support: 0.5.21 - typescript: 4.9.5 - yn: 3.1.1 - dev: true - - /tsconfig-paths/3.14.1: - resolution: {integrity: sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==} - dependencies: - '@types/json5': 0.0.29 - json5: 1.0.2 - minimist: 1.2.8 - strip-bom: 3.0.0 - dev: true - - /tslib/2.5.0: - resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} - dev: true - - /tunnel-agent/0.6.0: - resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} - dependencies: - safe-buffer: 5.2.1 - - /tweetnacl/0.14.5: - resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} - - /type-check/0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.2.1 - dev: true - - /type-detect/4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - dev: true - - /type-fest/0.18.1: - resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} - engines: {node: '>=10'} - dev: true - - /type-fest/0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - - /type-fest/0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} - - /type-fest/0.6.0: - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} - engines: {node: '>=8'} - dev: true - - /type-fest/0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} - dev: true - - /typed-array-length/1.0.4: - resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} - dependencies: - call-bind: 1.0.2 - for-each: 0.3.3 - is-typed-array: 1.1.10 - dev: true - - /typedarray-to-buffer/3.1.5: - resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} - dependencies: - is-typedarray: 1.0.0 - - /typescript/4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} - hasBin: true - dev: true - - /uc.micro/1.0.6: - resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} - dev: true - - /uglify-js/3.17.4: - resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} - engines: {node: '>=0.8.0'} - hasBin: true - requiresBuild: true - dev: true - optional: true - - /uglify-js/3.4.10: - resolution: {integrity: sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==} - engines: {node: '>=0.8.0'} - hasBin: true - dependencies: - commander: 2.19.0 - source-map: 0.6.1 - dev: false - - /unbox-primitive/1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} - dependencies: - call-bind: 1.0.2 - has-bigints: 1.0.2 - has-symbols: 1.0.3 - which-boxed-primitive: 1.0.2 - dev: true - - /unicode-canonical-property-names-ecmascript/2.0.0: - resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} - engines: {node: '>=4'} - dev: false - - /unicode-match-property-ecmascript/2.0.0: - resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} - engines: {node: '>=4'} - dependencies: - unicode-canonical-property-names-ecmascript: 2.0.0 - unicode-property-aliases-ecmascript: 2.1.0 - dev: false - - /unicode-match-property-value-ecmascript/2.1.0: - resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} - engines: {node: '>=4'} - dev: false - - /unicode-property-aliases-ecmascript/2.1.0: - resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} - engines: {node: '>=4'} - dev: false - - /unique-filename/1.1.1: - resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==} - dependencies: - unique-slug: 2.0.2 - dev: false - - /unique-slug/2.0.2: - resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==} - dependencies: - imurmurhash: 0.1.4 - dev: false - - /universal-url/2.0.0: - resolution: {integrity: sha512-3DLtXdm/G1LQMCnPj+Aw7uDoleQttNHp2g5FnNQKR6cP6taNWS1b/Ehjjx4PVyvejKi3TJyu8iBraKM4q3JQPg==} - engines: {node: '>= 6'} - dependencies: - hasurl: 1.0.0 - whatwg-url: 7.1.0 - dev: true - - /universal-user-agent/4.0.1: - resolution: {integrity: sha512-LnST3ebHwVL2aNe4mejI9IQh2HfZ1RLo8Io2HugSif8ekzD1TlWpHpColOB/eh8JHMLkGH3Akqf040I+4ylNxg==} - dependencies: - os-name: 3.1.0 - dev: true - - /universal-user-agent/6.0.0: - resolution: {integrity: sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==} - dev: true - - /universalify/0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} - dev: false - - /universalify/2.0.0: - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} - engines: {node: '>= 10.0.0'} - - /unorm/1.6.0: - resolution: {integrity: sha512-b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA==} - engines: {node: '>= 0.4.0'} - dev: false - - /update-browserslist-db/1.0.10_browserslist@4.21.5: - resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - dependencies: - browserslist: 4.21.5 - escalade: 3.1.1 - picocolors: 1.0.0 - - /uri-js/4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - dependencies: - punycode: 2.3.0 - - /util-deprecate/1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - - /uuid/3.3.3: - resolution: {integrity: sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==} - deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. - hasBin: true - dev: false - - /uuid/3.4.0: - resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} - deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. - hasBin: true - - /uuid/7.0.3: - resolution: {integrity: sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==} - hasBin: true - dev: false - - /uuid/8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - hasBin: true - dev: true - - /uuid/9.0.0: - resolution: {integrity: sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==} - hasBin: true - - /v8-compile-cache-lib/3.0.1: - resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - dev: true - optional: true - - /validate-npm-package-license/3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - dependencies: - spdx-correct: 3.1.1 - spdx-expression-parse: 3.0.1 - dev: true - - /validate-npm-package-name/3.0.0: - resolution: {integrity: sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==} - dependencies: - builtins: 1.0.3 - dev: false - - /verror/1.10.0: - resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} - engines: {'0': node >=0.6.0} - dependencies: - assert-plus: 1.0.0 - core-util-is: 1.0.2 - extsprintf: 1.3.0 - - /walk-up-path/1.0.0: - resolution: {integrity: sha512-hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg==} - dev: false - - /wcwidth/1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - dependencies: - defaults: 1.0.4 - dev: true - - /webidl-conversions/3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - - /webidl-conversions/4.0.2: - resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} - dev: true - - /whatwg-url/5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - dependencies: - tr46: 0.0.3 - webidl-conversions: 3.0.1 - - /whatwg-url/7.1.0: - resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} - dependencies: - lodash.sortby: 4.7.0 - tr46: 1.0.1 - webidl-conversions: 4.0.2 - dev: true - - /which-boxed-primitive/1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} - dependencies: - is-bigint: 1.0.4 - is-boolean-object: 1.1.2 - is-number-object: 1.0.7 - is-string: 1.0.7 - is-symbol: 1.0.4 - dev: true - - /which-module/2.0.0: - resolution: {integrity: sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==} - dev: true - - /which-typed-array/1.1.9: - resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==} - engines: {node: '>= 0.4'} - dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.0 - is-typed-array: 1.1.10 - dev: true - - /which/1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} - hasBin: true - dependencies: - isexe: 2.0.0 - - /which/2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - dependencies: - isexe: 2.0.0 - - /wide-align/1.1.5: - resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} - dependencies: - string-width: 1.0.2 - dev: false - - /widest-line/3.1.0: - resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} - engines: {node: '>=8'} - dependencies: - string-width: 4.2.3 - dev: false - - /win-fork/1.1.1: - resolution: {integrity: sha512-kMnrXXHyb/Zx1ynkiMtcEgq+rxXFIfs/IhhxVBmIk+1KwPyIggZU0RAiADExhSyf0NESvCWQyfO4eGdlU9fBSw==} - hasBin: true - dev: false - - /windows-release/3.3.3: - resolution: {integrity: sha512-OSOGH1QYiW5yVor9TtmXKQvt2vjQqbYS+DqmsZw+r7xDwLXEeT3JGW0ZppFmHx4diyXmxt238KFR3N9jzevBRg==} - engines: {node: '>=6'} - dependencies: - execa: 1.0.0 - dev: true - - /winston/2.4.6: - resolution: {integrity: sha512-J5Zu4p0tojLde8mIOyDSsmLmcP8I3Z6wtwpTDHx1+hGcdhxcJaAmG4CFtagkb+NiN1M9Ek4b42pzMWqfc9jm8w==} - engines: {node: '>= 0.10.0'} - dependencies: - async: 3.2.4 - colors: 1.0.3 - cycle: 1.0.3 - eyes: 0.1.8 - isstream: 0.1.2 - stack-trace: 0.0.10 - dev: true - - /word-wrap/1.2.3: - resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} - engines: {node: '>=0.10.0'} - dev: true - - /wordwrap/0.0.3: - resolution: {integrity: sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==} - engines: {node: '>=0.4.0'} - dev: false - - /wordwrap/1.0.0: - resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} - dev: true - - /workerpool/6.2.0: - resolution: {integrity: sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==} - dev: true - - /wrap-ansi/6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - dev: true - - /wrap-ansi/7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - - /wrappy/1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - - /write-file-atomic/3.0.3: - resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} - dependencies: - imurmurhash: 0.1.4 - is-typedarray: 1.0.0 - signal-exit: 3.0.7 - typedarray-to-buffer: 3.1.5 - - /xcode/3.0.1: - resolution: {integrity: sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA==} - engines: {node: '>=10.0.0'} - dependencies: - simple-plist: 1.3.1 - uuid: 7.0.3 - dev: false - - /xml/1.0.1: - resolution: {integrity: sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw==} - dev: true - - /xmlbuilder/15.1.1: - resolution: {integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==} - engines: {node: '>=8.0'} - dev: false - - /xmldom/0.1.27: - resolution: {integrity: sha512-7WpJBYwyhvsddFJA51SOIU0Be9W44sbGGjc6Z3ly8Wx/Wl7nriMPZ5xf6Np9ASlJ6gACfXcTLukm4DtX372lFw==} - engines: {node: '>=0.1'} - deprecated: Deprecated due to CVE-2021-21366 resolved in 0.5.0 - dev: false - - /xmldom/0.5.0: - resolution: {integrity: sha512-Foaj5FXVzgn7xFzsKeNIde9g6aFBxTPi37iwsno8QvApmtg7KYrr+OPyRHcJF7dud2a5nGRBXK3n0dL62Gf7PA==} - engines: {node: '>=10.0.0'} - dev: false - - /xmldom/0.6.0: - resolution: {integrity: sha512-iAcin401y58LckRZ0TkI4k0VSM1Qg0KGSc3i8rU+xrxe19A/BN1zHyVSJY7uoutVlaTSzYyk/v5AmkewAP7jtg==} - engines: {node: '>=10.0.0'} - dev: false - - /xtend/4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - dev: true - - /y18n/4.0.3: - resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} - dev: true - - /y18n/5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - dev: true - - /yallist/3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - - /yallist/4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - - /yaml/1.10.2: - resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} - engines: {node: '>= 6'} - - /yargs-parser/18.1.3: - resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} - engines: {node: '>=6'} - dependencies: - camelcase: 5.3.1 - decamelize: 1.2.0 - dev: true - - /yargs-parser/20.2.4: - resolution: {integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==} - engines: {node: '>=10'} - dev: true - - /yargs-parser/20.2.9: - resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} - engines: {node: '>=10'} - dev: true - - /yargs-parser/21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} - dev: true - - /yargs-unparser/2.0.0: - resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==} - engines: {node: '>=10'} - dependencies: - camelcase: 6.3.0 - decamelize: 4.0.0 - flat: 5.0.2 - is-plain-obj: 2.1.0 - dev: true - - /yargs/15.4.1: - resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} - engines: {node: '>=8'} - dependencies: - cliui: 6.0.0 - decamelize: 1.2.0 - find-up: 4.1.0 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - require-main-filename: 2.0.0 - set-blocking: 2.0.0 - string-width: 4.2.3 - which-module: 2.0.0 - y18n: 4.0.3 - yargs-parser: 18.1.3 - dev: true - - /yargs/16.2.0: - resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} - engines: {node: '>=10'} - dependencies: - cliui: 7.0.4 - escalade: 3.1.1 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 20.2.4 - dev: true - - /yargs/17.6.2: - resolution: {integrity: sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==} - engines: {node: '>=12'} - dependencies: - cliui: 8.0.1 - escalade: 3.1.1 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 21.1.1 - dev: true - - /yauzl/2.10.0: - resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} - dependencies: - buffer-crc32: 0.2.13 - fd-slicer: 1.1.0 - - /yn/3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} - dev: true - - /yocto-queue/0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - - /zip-stream/4.1.0: - resolution: {integrity: sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==} - engines: {node: '>= 10'} - dependencies: - archiver-utils: 2.1.0 - compress-commons: 4.1.1 - readable-stream: 3.6.0 - dev: false From 644831f18e6f35e987992da3f72e294e0d9649be Mon Sep 17 00:00:00 2001 From: Michael Gangolf Date: Wed, 29 May 2024 04:27:22 +0200 Subject: [PATCH 15/35] chore: node-appc update (#14048) Co-authored-by: Chris Barber --- build/scons-check-lockfile.js | 2 +- package-lock.json | 210 ++++++++++++++++++++++++++++++++-- package.json | 2 +- 3 files changed, 205 insertions(+), 9 deletions(-) diff --git a/build/scons-check-lockfile.js b/build/scons-check-lockfile.js index 53899d25fb3..d06571b28f2 100755 --- a/build/scons-check-lockfile.js +++ b/build/scons-check-lockfile.js @@ -16,7 +16,7 @@ function checkDependencies(deps) { const packageNames = Object.keys(deps); for (const packageName of packageNames) { const whatever = deps[packageName]; - const version = whatever.version; + const version = whatever.version.replace('@', '-').replace('npm:', ''); const resolved = whatever.resolved; if (resolved && !resolved.endsWith(`${version}.tgz`)) { console.error(`There may be a mismatched url (${resolved}) for the given version (${version}) of dependency ${packageName}`); diff --git a/package-lock.json b/package-lock.json index e16762bc6a1..1856dc2fd08 100644 --- a/package-lock.json +++ b/package-lock.json @@ -30,7 +30,7 @@ "lodash.merge": "4.6.2", "markdown": "0.5.0", "moment": "2.30.1", - "node-appc": "1.1.6", + "node-appc": "1.1.7", "node-titanium-sdk": "6.0.0", "node-uuid": "1.4.8", "nodeify": "1.0.1", @@ -8905,6 +8905,28 @@ "node": ">=10.13" } }, + "node_modules/ioslib/node_modules/@xmldom/xmldom": { + "version": "0.8.10", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz", + "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/ioslib/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/ioslib/node_modules/minimist": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", @@ -8922,6 +8944,40 @@ "mkdirp": "bin/cmd.js" } }, + "node_modules/ioslib/node_modules/node-appc": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/node-appc/-/node-appc-1.1.6.tgz", + "integrity": "sha512-ZfoHjoDLpNfXYBshztIq+aTjtlvCZF4XAE00ZYNk4u+/qAjQI+8BidCn957b69WzronQtyNw2NtnJEhsP3N7EQ==", + "dependencies": { + "@xmldom/xmldom": "^0.8.6", + "async": "^3.2.4", + "colors": "1.4.0", + "fs-extra": "~9.1.0", + "request": "~2.88.0", + "semver": "~7.3.8", + "sprintf": "^0.1.5", + "temp": "~0.9.4", + "uuid": "~9.0.0", + "yauzl": "^2.10.0" + }, + "engines": { + "node": ">=10.13" + } + }, + "node_modules/ioslib/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/ip": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", @@ -11552,9 +11608,9 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" }, "node_modules/node-appc": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/node-appc/-/node-appc-1.1.6.tgz", - "integrity": "sha512-ZfoHjoDLpNfXYBshztIq+aTjtlvCZF4XAE00ZYNk4u+/qAjQI+8BidCn957b69WzronQtyNw2NtnJEhsP3N7EQ==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/node-appc/-/node-appc-1.1.7.tgz", + "integrity": "sha512-BrALELUzNC4WWhDIkgBu5pUU/9IzIza65ck1yPTd5A2q1wzrXySYDhLfzKJrFmGZZep37XRKey33U10539Xd0Q==", "dependencies": { "@xmldom/xmldom": "^0.8.6", "async": "^3.2.4", @@ -11852,6 +11908,14 @@ "node": ">=6.0.0" } }, + "node_modules/node-titanium-sdk/node_modules/@xmldom/xmldom": { + "version": "0.8.10", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz", + "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==", + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/node-titanium-sdk/node_modules/async": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", @@ -11870,6 +11934,54 @@ "node": ">=14.14" } }, + "node_modules/node-titanium-sdk/node_modules/node-appc": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/node-appc/-/node-appc-1.1.6.tgz", + "integrity": "sha512-ZfoHjoDLpNfXYBshztIq+aTjtlvCZF4XAE00ZYNk4u+/qAjQI+8BidCn957b69WzronQtyNw2NtnJEhsP3N7EQ==", + "dependencies": { + "@xmldom/xmldom": "^0.8.6", + "async": "^3.2.4", + "colors": "1.4.0", + "fs-extra": "~9.1.0", + "request": "~2.88.0", + "semver": "~7.3.8", + "sprintf": "^0.1.5", + "temp": "~0.9.4", + "uuid": "~9.0.0", + "yauzl": "^2.10.0" + }, + "engines": { + "node": ">=10.13" + } + }, + "node_modules/node-titanium-sdk/node_modules/node-appc/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-titanium-sdk/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/node-uuid": { "version": "1.4.8", "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz", @@ -22917,6 +23029,22 @@ "node-ios-device": "1.11.0" }, "dependencies": { + "@xmldom/xmldom": { + "version": "0.8.10", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz", + "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==" + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, "minimist": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", @@ -22929,6 +23057,31 @@ "requires": { "minimist": "0.0.8" } + }, + "node-appc": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/node-appc/-/node-appc-1.1.6.tgz", + "integrity": "sha512-ZfoHjoDLpNfXYBshztIq+aTjtlvCZF4XAE00ZYNk4u+/qAjQI+8BidCn957b69WzronQtyNw2NtnJEhsP3N7EQ==", + "requires": { + "@xmldom/xmldom": "^0.8.6", + "async": "^3.2.4", + "colors": "1.4.0", + "fs-extra": "~9.1.0", + "request": "~2.88.0", + "semver": "~7.3.8", + "sprintf": "^0.1.5", + "temp": "~0.9.4", + "uuid": "~9.0.0", + "yauzl": "^2.10.0" + } + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "requires": { + "lru-cache": "^6.0.0" + } } } }, @@ -24921,9 +25074,9 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" }, "node-appc": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/node-appc/-/node-appc-1.1.6.tgz", - "integrity": "sha512-ZfoHjoDLpNfXYBshztIq+aTjtlvCZF4XAE00ZYNk4u+/qAjQI+8BidCn957b69WzronQtyNw2NtnJEhsP3N7EQ==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/node-appc/-/node-appc-1.1.7.tgz", + "integrity": "sha512-BrALELUzNC4WWhDIkgBu5pUU/9IzIza65ck1yPTd5A2q1wzrXySYDhLfzKJrFmGZZep37XRKey33U10539Xd0Q==", "requires": { "@xmldom/xmldom": "^0.8.6", "async": "^3.2.4", @@ -25129,6 +25282,11 @@ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz", "integrity": "sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==" }, + "@xmldom/xmldom": { + "version": "0.8.10", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz", + "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==" + }, "async": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", @@ -25143,6 +25301,44 @@ "jsonfile": "^6.0.1", "universalify": "^2.0.0" } + }, + "node-appc": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/node-appc/-/node-appc-1.1.6.tgz", + "integrity": "sha512-ZfoHjoDLpNfXYBshztIq+aTjtlvCZF4XAE00ZYNk4u+/qAjQI+8BidCn957b69WzronQtyNw2NtnJEhsP3N7EQ==", + "requires": { + "@xmldom/xmldom": "^0.8.6", + "async": "^3.2.4", + "colors": "1.4.0", + "fs-extra": "~9.1.0", + "request": "~2.88.0", + "semver": "~7.3.8", + "sprintf": "^0.1.5", + "temp": "~0.9.4", + "uuid": "~9.0.0", + "yauzl": "^2.10.0" + }, + "dependencies": { + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + } + } + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "requires": { + "lru-cache": "^6.0.0" + } } } }, diff --git a/package.json b/package.json index 3d2d26e95c9..2ff50d53c50 100644 --- a/package.json +++ b/package.json @@ -105,7 +105,7 @@ "lodash.merge": "4.6.2", "markdown": "0.5.0", "moment": "2.30.1", - "node-appc": "1.1.6", + "node-appc": "1.1.7", "node-titanium-sdk": "6.0.0", "node-uuid": "1.4.8", "nodeify": "1.0.1", From 2f1212fd9e46a4a8aeae0af7a850aaa7bff34e52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hans=20Kn=C3=B6chel?= Date: Wed, 29 May 2024 14:18:31 +0200 Subject: [PATCH 16/35] chore: bump master to 12.4.0 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1856dc2fd08..c36b739799a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "titanium-mobile", - "version": "12.3.0", + "version": "12.4.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "titanium-mobile", - "version": "12.3.0", + "version": "12.4.0", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { diff --git a/package.json b/package.json index 2ff50d53c50..090712c8a48 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "titanium-mobile", "description": "Titanium SDK", - "version": "12.3.0", + "version": "12.4.0", "moduleApiVersion": { "iphone": "2", "android": "4" From 1fe2a63bbd0993c342a08f9596ecf6b8a4d8c609 Mon Sep 17 00:00:00 2001 From: hansemannn Date: Wed, 12 Jun 2024 00:06:01 +0000 Subject: [PATCH 17/35] Apply automatic changes --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1e9c697bb97..cda9a23a455 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ today and benefit from 1:1 sessions with the core team, exclusive modules, merch Learn more about sponsoring TiDev, the organization behind the Titanium SDK, [here](https://github.com/sponsors/tidev) 🚀. -Rene PotRodrigo FarfánJason KneenMatt Delmarterdlewis23Daniel EthierAvinash DalviJoe KniesekVittorio SorberaMarcus OlovssonAlessandro La RoccaReshopperGusJason David MillerMichael ZaladonisVincenzo QuacquarelliMighty GmbHFruugulKorelogic Limited +Rene PotRodrigo FarfánJason KneenMatt Delmarterdlewis23Daniel EthierAvinash DalviJoe KniesekVittorio SorberaMarcus OlovssonAlessandro La RoccaReshopperGusJason David MillerMichael ZaladonisVincenzo QuacquarelliMighty GmbHFruugulKorelogic LimitedJohn Gould ## Features From aeae4d99f6164d1417bd3c45131b5cc39b2a9df9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hans=20Kn=C3=B6chel?= Date: Wed, 12 Jun 2024 13:00:31 +0200 Subject: [PATCH 18/35] fix(ios): fix privacy-related Filesystem APIs (#14062) * fix: move privacy-related files to own file outside TitaniumKit * Revert "fix: move privacy-related files to own file outside TitaniumKit" This reverts commit 5e95ac09eea9990951bdf25e5725d71966b2e2ca. * chore: add more flexible approach --- .../Sources/Modules/TiFilesystemFileProxy.m | 22 +++++++++---------- iphone/iphone/project.xcconfig | 2 +- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/iphone/TitaniumKit/TitaniumKit/Sources/Modules/TiFilesystemFileProxy.m b/iphone/TitaniumKit/TitaniumKit/Sources/Modules/TiFilesystemFileProxy.m index dfc658b53aa..a646b9caf15 100644 --- a/iphone/TitaniumKit/TitaniumKit/Sources/Modules/TiFilesystemFileProxy.m +++ b/iphone/TitaniumKit/TitaniumKit/Sources/Modules/TiFilesystemFileProxy.m @@ -68,7 +68,6 @@ - (NSDate *)createTimestamp:(id)unused return [NSDate new]; } -#ifdef USE_TI_FILESYSTEMCREATEDAT - (NSDate *)createdAt:(id)unused { NSError *error = nil; @@ -76,14 +75,13 @@ - (NSDate *)createdAt:(id)unused if (error != nil) { [self throwException:TiExceptionOSError subreason:[error localizedDescription] location:CODELOCATION]; } - // Have to do this one up special because of 3.x bug where NSFileCreationDate is sometimes undefined - NSDate *result = [resultDict objectForKey:NSFileCreationDate]; + + NSDate *result = [resultDict objectForKey:[self prefixedFileKeyForIdentifier:@"CreationDate"]]; if (result == nil) { - result = [resultDict objectForKey:NSFileModificationDate]; + result = [resultDict objectForKey:[self prefixedFileKeyForIdentifier:@"ModificationDate"]]; } return result; } -#endif - (NSDate *)modificationTimestamp { @@ -97,7 +95,6 @@ - (NSDate *)modificationTimestamp:(id)unused return [NSDate new]; } -#ifdef USE_TI_FILESYSTEMMODIFIEDAT - (NSDate *)modifiedAt:(id)unused { NSError *error = nil; @@ -105,9 +102,8 @@ - (NSDate *)modifiedAt:(id)unused if (error != nil) { [self throwException:TiExceptionOSError subreason:[error localizedDescription] location:CODELOCATION]; } - return [resultDict objectForKey:NSFileModificationDate]; + return [resultDict objectForKey:[self prefixedFileKeyForIdentifier:@"ModificationDate"]]; } -#endif - (NSNumber *)symbolicLink { @@ -151,7 +147,6 @@ - (NSArray *)getDirectoryListing:(id)args return resultArray; } -#ifdef USE_TI_FILESYSTEMSPACEAVAILABLE - (NSNumber *)spaceAvailable:(id)unused { NSError *error = nil; @@ -160,9 +155,8 @@ - (NSNumber *)spaceAvailable:(id)unused NSLog(@"[ERROR] Could not receive available space: %@", error.localizedDescription); return @(0.0); } - return [resultDict objectForKey:NSFileSystemFreeSize]; + return [resultDict objectForKey:[self prefixedFileKeyForIdentifier:@"SystemFreeSize"]]; } -#endif - (NSString *)getProtectionKey:(id)args { @@ -599,4 +593,10 @@ - (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL withFlag:(BOOL)flag return success; } +// Utility method to construct enums to access the filesystem +- (NSString *)prefixedFileKeyForIdentifier:(NSString *)identifier +{ + return [@"NSFile" stringByAppendingString:identifier]; +} + @end diff --git a/iphone/iphone/project.xcconfig b/iphone/iphone/project.xcconfig index c82a63c70fd..5ac9d061f36 100644 --- a/iphone/iphone/project.xcconfig +++ b/iphone/iphone/project.xcconfig @@ -1,5 +1,5 @@ TI_VERSION=0.0.0 JSCORE_LD_FLAGS=-weak_framework JavaScriptCore GCC_DEFINITIONS= -TI_SYMBOL_MACROS=USE_JSCORE_FRAMEWORK USE_TI_STREAM USE_TI_CODEC USE_TI_UTILS USE_TI_XML USE_TI_ACCELEROMETER USE_TI_API USE_TI_APP USE_TI_APPTRACKUSERINTERACTION USE_TI_CALENDAR USE_TI_CONTACTS USE_TI_DATABASE USE_TI_FILESYSTEM USE_TI_GEOLOCATION USE_TI_GESTURE USE_TI_MEDIA USE_TI_NETWORK USE_TI_NETWORKSOCKET USE_TI_PLATFORM USE_TI_PLATFORMIDENTIFIERFORADVERTISING USE_TI_PLATFORMGETIDENTIFIERFORADVERTISING USE_TI_WATCHSESSION USE_TI_UI USE_TI_UITAB USE_TI_UILABEL USE_TI_UIBUTTON USE_TI_UIPROGRESSBAR USE_TI_UISEARCHBAR USE_TI_UIACTIVITYINDICATOR USE_TI_UIOPTIONBAR USE_TI_UISLIDER USE_TI_UISWITCH USE_TI_UIPICKER USE_TI_UITEXTAREA USE_TI_UITEXTFIELD USE_TI_UIIMAGEVIEW USE_TI_UIMASKEDIMAGE USE_TI_UIWEBVIEW USE_TI_UIWINDOW USE_TI_UIVIEW USE_TI_UIOPTIONDIALOG USE_TI_UIEMAILDIALOG USE_TI_UIDASHBOARDVIEW USE_TI_UISCROLLVIEW USE_TI_UISCROLLABLEVIEW USE_TI_UITABLEVIEW USE_TI_UILISTVIEW USE_TI_UIANIMATION USE_TI_UIATTRIBUTEDSTRING USE_TI_UIACTIVITYINDICATORSTYLE USE_TI_UITOOLBAR USE_TI_UITABBEDBAR USE_TI_UIAPPLICATIONSHORTCUTS USE_TI_UINAVIGATIONWINDOW USE_TI_UICLIPBOARD USE_TI_UIIPAD USE_TI_UIIPADPOPOVER USE_TI_UIIPADSPLITWINDOW USE_TI_UIIPADSPLITWINDOWBUTTON USE_TI_UIIOS USE_TI_UIIOSADVIEW USE_TI_UIIOSCOVERFLOWVIEW USE_TI_UIIOSTOOLBAR USE_TI_UIIOSTABBEDBAR USE_TI_UIIOSDOCUMENTVIEWER USE_TI_UIIOSNAVIGATIONWINDOW USE_TI_UIIOSSPLITWINDOW USE_TI_UIIOSPREVIEWCONTEXT USE_TI_UIIOSMENUPOPUP USE_TI_UIIOSLIVEPHOTOVIEW USE_TI_UIIOSLIVEPHOTOBADGE USE_TI_UIIOSLIVEPHOTO_BADGE_OPTIONS_OVER_CONTENT USE_TI_UIIOSLIVEPHOTO_BADGE_OPTIONS_LIVE_OFF USE_TI_UIIOSALERTDIALOGSTYLE USE_TI_UIIOSANIMATIONSTYLE USE_TI_UIIOSLISTVIEWCELLSELECTIONSTYLE USE_TI_UIIOSTABLEVIEWCELLSELECTIONSTYLE USE_TI_UIIOSTABLEVIEWSCROLLPOSITION USE_TI_UIIOSLISTVIEWSCROLLPOSITION USE_TI_UIIOSTABLEVIEWSTYLE USE_TI_UIIOSLISTVIEWSTYLE USE_TI_UIIOSPROGRESSBARSTYLE USE_TI_UIIOSROWANIMATIONSTYLE USE_TI_UIIOSSCROLLINDICATORSTYLE USE_TI_UIIOSSTATUSBAR USE_TI_UIIOSSYSTEMBUTTONSTYLE USE_TI_UIIOSSYSTEMBUTTON USE_TI_UIIOSSYSTEMICON USE_TI_UIIOSFEEDBACKGENERATOR USE_TI_UIIOSSTEPPER USE_TI_APPIOS USE_TI_APPIOSSEARCHABLEINDEX USE_TI_APPIOSSEARCHABLEITEM USE_TI_APPIOSSEARCHABLEITEMATTRIBUTESET USE_TI_APPIOSSEARCHQUERY USE_TI_APPIOSUSERACTIVITY USE_TI_APPIOSUSERNOTIFICATIONCENTER USE_TI_UIIOSANIMATOR USE_TI_UIIOSSNAPBEHAVIOR USE_TI_UIIOSPUSHBEHAVIOR USE_TI_UIIOSGRAVITYBEHAVIOR USE_TI_UIIOSANCHORATTACHMENTBEHAVIOR USE_TI_UIIOSVIEWATTACHMENTBEHAVIOR USE_TI_UIIOSCOLLISIONBEHAVIOR USE_TI_UIIOSDYNAMICITEMBEHAVIOR USE_TI_UIIOSTRANSITIONANIMATION USE_TI_UIREFRESHCONTROL USE_TI_UIIOSAPPLICATIONSHORTCUTS USE_TI_UISHORTCUT USE_TI_UISHORTCUTITEM USE_TI_UIIOSBLURVIEW USE_TI_NETWORKREGISTERFORPUSHNOTIFICATIONS USE_TI_SILENTPUSH USE_TI_FETCH USE_TI_MEDIASHOWCAMERA USE_TI_MEDIAHIDECAMERA USE_TI_MEDIAOPENPHOTOGALLERY USE_TI_MEDIATAKEPICTURE USE_TI_MEDIASTARTVIDEOCAPTURE USE_TI_MEDIASTOPVIDEOCAPTURE USE_TI_MEDIASWITCHCAMERA USE_TI_MEDIAREQUESTCAMERAPERMISSIONS USE_TI_MEDIAHASCAMERAPERMISSIONS USE_TI_MEDIAHASPHOTOGALLERYPERMISSIONS USE_TI_MEDIAREQUESTPHOTOGALLERYPERMISSIONS USE_TI_MEDIAOPENMUSICLIBRARY USE_TI_MEDIAHIDEMUSICLIBRARY USE_TI_MEDIAQUERYMUSICLIBRARY USE_TI_MEDIAREQUESTAUDIORECORDERPERMISSIONS USE_TI_MEDIAHASAUDIORECORDERPERMISSIONS USE_TI_MEDIAHASAUDIOPERMISSIONS USE_TI_MEDIAHASMUSICLIBRARYPERMISSIONS USE_TI_MEDIAREQUESTMUSICLIBRARYPERMISSIONS USE_TI_MEDIACANRECORD USE_TI_MEDIAISCAMERASUPPORTED USE_TI_MEDIAISMEDIATYPESUPPORTED USE_TI_MEDIASAVETOPHOTOGALLERY USE_TI_MEDIASTARTVIDEOEDITING USE_TI_MEDIASTOPVIDEOEDITING USE_TI_MEDIAAUDIOPLAYER USE_TI_MEDIAAUDIORECORDER USE_TI_MEDIAMUSICPLAYER USE_TI_MEDIASYSTEMMUSICPLAYER USE_TI_MEDIASYSTEMALERT USE_TI_MEDIAGETSYSTEMMUSICPLAYER USE_TI_MEDIAAPPMUSICPLAYER USE_TI_MEDIAGETAPPMUSICPLAYER USE_TI_MEDIAVIDEOPLAYER USE_TI_MEDIASOUND USE_TI_MEDIACAMERA_AUTHORIZATION_AUTHORIZED USE_TI_MEDIACAMERA_AUTHORIZATION_DENIED USE_TI_MEDIACAMERA_AUTHORIZATION_RESTRICTED USE_TI_MEDIACAMERA_AUTHORIZATION_UNKNOWN USE_TI_MEDIACAMERA_FRONT USE_TI_MEDIACAMERA_REAR USE_TI_MEDIACAMERA_FLASH_OFF USE_TI_MEDIACAMERA_FLASH_AUTO USE_TI_MEDIACAMERA_FLASH_ON USE_TI_MEDIACAMERAFLASHMODE USE_TI_MEDIAAVAILABLECAMERAMEDIATYPES USE_TI_MEDIAAVAILABLEPHOTOMEDIATYPES USE_TI_MEDIAAVAILABLEPHOTOGALLERYMEDIATYPES USE_TI_MEDIAAVAILABLECAMERAS USE_TI_MEDIACAMERAAUTHORIZATION USE_TI_MEDIAVOLUME USE_TI_MEDIAAUDIOPLAYING USE_TI_MEDIACURRENTROUTE USE_TI_MEDIAVIBRATE USE_TI_MEDIABEEP USE_TI_MEDIASTARTMICROPHONEMONITOR USE_TI_MEDIASTOPMICROPHONEMONITOR USE_TI_MEDIAPEAKMICROPHONEPOWER USE_TI_MEDIAGETPEAKMICROPHONEPOWER USE_TI_MEDIAAVERAGEMICROPHONEPOWER USE_TI_MEDIAGETAVERAGEMICROPHONEPOWER USE_TI_UITABLEVIEWSCROLLPOSITION USE_TI_UILISTVIEWSCROLLPOSITION USE_TI_FILESYSTEMSPACEAVAILABLE USE_TI_FILESYSTEMCREATEDAT USE_TI_FILESYSTEMMODIFIEDAT USE_TI_PLATFORMUPTIME +TI_SYMBOL_MACROS=USE_JSCORE_FRAMEWORK USE_TI_STREAM USE_TI_CODEC USE_TI_UTILS USE_TI_XML USE_TI_ACCELEROMETER USE_TI_API USE_TI_APP USE_TI_APPTRACKUSERINTERACTION USE_TI_CALENDAR USE_TI_CONTACTS USE_TI_DATABASE USE_TI_FILESYSTEM USE_TI_GEOLOCATION USE_TI_GESTURE USE_TI_MEDIA USE_TI_NETWORK USE_TI_NETWORKSOCKET USE_TI_PLATFORM USE_TI_PLATFORMIDENTIFIERFORADVERTISING USE_TI_PLATFORMGETIDENTIFIERFORADVERTISING USE_TI_WATCHSESSION USE_TI_UI USE_TI_UITAB USE_TI_UILABEL USE_TI_UIBUTTON USE_TI_UIPROGRESSBAR USE_TI_UISEARCHBAR USE_TI_UIACTIVITYINDICATOR USE_TI_UIOPTIONBAR USE_TI_UISLIDER USE_TI_UISWITCH USE_TI_UIPICKER USE_TI_UITEXTAREA USE_TI_UITEXTFIELD USE_TI_UIIMAGEVIEW USE_TI_UIMASKEDIMAGE USE_TI_UIWEBVIEW USE_TI_UIWINDOW USE_TI_UIVIEW USE_TI_UIOPTIONDIALOG USE_TI_UIEMAILDIALOG USE_TI_UIDASHBOARDVIEW USE_TI_UISCROLLVIEW USE_TI_UISCROLLABLEVIEW USE_TI_UITABLEVIEW USE_TI_UILISTVIEW USE_TI_UIANIMATION USE_TI_UIATTRIBUTEDSTRING USE_TI_UIACTIVITYINDICATORSTYLE USE_TI_UITOOLBAR USE_TI_UITABBEDBAR USE_TI_UIAPPLICATIONSHORTCUTS USE_TI_UINAVIGATIONWINDOW USE_TI_UICLIPBOARD USE_TI_UIIPAD USE_TI_UIIPADPOPOVER USE_TI_UIIPADSPLITWINDOW USE_TI_UIIPADSPLITWINDOWBUTTON USE_TI_UIIOS USE_TI_UIIOSADVIEW USE_TI_UIIOSCOVERFLOWVIEW USE_TI_UIIOSTOOLBAR USE_TI_UIIOSTABBEDBAR USE_TI_UIIOSDOCUMENTVIEWER USE_TI_UIIOSNAVIGATIONWINDOW USE_TI_UIIOSSPLITWINDOW USE_TI_UIIOSPREVIEWCONTEXT USE_TI_UIIOSMENUPOPUP USE_TI_UIIOSLIVEPHOTOVIEW USE_TI_UIIOSLIVEPHOTOBADGE USE_TI_UIIOSLIVEPHOTO_BADGE_OPTIONS_OVER_CONTENT USE_TI_UIIOSLIVEPHOTO_BADGE_OPTIONS_LIVE_OFF USE_TI_UIIOSALERTDIALOGSTYLE USE_TI_UIIOSANIMATIONSTYLE USE_TI_UIIOSLISTVIEWCELLSELECTIONSTYLE USE_TI_UIIOSTABLEVIEWCELLSELECTIONSTYLE USE_TI_UIIOSTABLEVIEWSCROLLPOSITION USE_TI_UIIOSLISTVIEWSCROLLPOSITION USE_TI_UIIOSTABLEVIEWSTYLE USE_TI_UIIOSLISTVIEWSTYLE USE_TI_UIIOSPROGRESSBARSTYLE USE_TI_UIIOSROWANIMATIONSTYLE USE_TI_UIIOSSCROLLINDICATORSTYLE USE_TI_UIIOSSTATUSBAR USE_TI_UIIOSSYSTEMBUTTONSTYLE USE_TI_UIIOSSYSTEMBUTTON USE_TI_UIIOSSYSTEMICON USE_TI_UIIOSFEEDBACKGENERATOR USE_TI_UIIOSSTEPPER USE_TI_APPIOS USE_TI_APPIOSSEARCHABLEINDEX USE_TI_APPIOSSEARCHABLEITEM USE_TI_APPIOSSEARCHABLEITEMATTRIBUTESET USE_TI_APPIOSSEARCHQUERY USE_TI_APPIOSUSERACTIVITY USE_TI_APPIOSUSERNOTIFICATIONCENTER USE_TI_UIIOSANIMATOR USE_TI_UIIOSSNAPBEHAVIOR USE_TI_UIIOSPUSHBEHAVIOR USE_TI_UIIOSGRAVITYBEHAVIOR USE_TI_UIIOSANCHORATTACHMENTBEHAVIOR USE_TI_UIIOSVIEWATTACHMENTBEHAVIOR USE_TI_UIIOSCOLLISIONBEHAVIOR USE_TI_UIIOSDYNAMICITEMBEHAVIOR USE_TI_UIIOSTRANSITIONANIMATION USE_TI_UIREFRESHCONTROL USE_TI_UIIOSAPPLICATIONSHORTCUTS USE_TI_UISHORTCUT USE_TI_UISHORTCUTITEM USE_TI_UIIOSBLURVIEW USE_TI_NETWORKREGISTERFORPUSHNOTIFICATIONS USE_TI_SILENTPUSH USE_TI_FETCH USE_TI_MEDIASHOWCAMERA USE_TI_MEDIAHIDECAMERA USE_TI_MEDIAOPENPHOTOGALLERY USE_TI_MEDIATAKEPICTURE USE_TI_MEDIASTARTVIDEOCAPTURE USE_TI_MEDIASTOPVIDEOCAPTURE USE_TI_MEDIASWITCHCAMERA USE_TI_MEDIAREQUESTCAMERAPERMISSIONS USE_TI_MEDIAHASCAMERAPERMISSIONS USE_TI_MEDIAHASPHOTOGALLERYPERMISSIONS USE_TI_MEDIAREQUESTPHOTOGALLERYPERMISSIONS USE_TI_MEDIAOPENMUSICLIBRARY USE_TI_MEDIAHIDEMUSICLIBRARY USE_TI_MEDIAQUERYMUSICLIBRARY USE_TI_MEDIAREQUESTAUDIORECORDERPERMISSIONS USE_TI_MEDIAHASAUDIORECORDERPERMISSIONS USE_TI_MEDIAHASAUDIOPERMISSIONS USE_TI_MEDIAHASMUSICLIBRARYPERMISSIONS USE_TI_MEDIAREQUESTMUSICLIBRARYPERMISSIONS USE_TI_MEDIACANRECORD USE_TI_MEDIAISCAMERASUPPORTED USE_TI_MEDIAISMEDIATYPESUPPORTED USE_TI_MEDIASAVETOPHOTOGALLERY USE_TI_MEDIASTARTVIDEOEDITING USE_TI_MEDIASTOPVIDEOEDITING USE_TI_MEDIAAUDIOPLAYER USE_TI_MEDIAAUDIORECORDER USE_TI_MEDIAMUSICPLAYER USE_TI_MEDIASYSTEMMUSICPLAYER USE_TI_MEDIASYSTEMALERT USE_TI_MEDIAGETSYSTEMMUSICPLAYER USE_TI_MEDIAAPPMUSICPLAYER USE_TI_MEDIAGETAPPMUSICPLAYER USE_TI_MEDIAVIDEOPLAYER USE_TI_MEDIASOUND USE_TI_MEDIACAMERA_AUTHORIZATION_AUTHORIZED USE_TI_MEDIACAMERA_AUTHORIZATION_DENIED USE_TI_MEDIACAMERA_AUTHORIZATION_RESTRICTED USE_TI_MEDIACAMERA_AUTHORIZATION_UNKNOWN USE_TI_MEDIACAMERA_FRONT USE_TI_MEDIACAMERA_REAR USE_TI_MEDIACAMERA_FLASH_OFF USE_TI_MEDIACAMERA_FLASH_AUTO USE_TI_MEDIACAMERA_FLASH_ON USE_TI_MEDIACAMERAFLASHMODE USE_TI_MEDIAAVAILABLECAMERAMEDIATYPES USE_TI_MEDIAAVAILABLEPHOTOMEDIATYPES USE_TI_MEDIAAVAILABLEPHOTOGALLERYMEDIATYPES USE_TI_MEDIAAVAILABLECAMERAS USE_TI_MEDIACAMERAAUTHORIZATION USE_TI_MEDIAVOLUME USE_TI_MEDIAAUDIOPLAYING USE_TI_MEDIACURRENTROUTE USE_TI_MEDIAVIBRATE USE_TI_MEDIABEEP USE_TI_MEDIASTARTMICROPHONEMONITOR USE_TI_MEDIASTOPMICROPHONEMONITOR USE_TI_MEDIAPEAKMICROPHONEPOWER USE_TI_MEDIAGETPEAKMICROPHONEPOWER USE_TI_MEDIAAVERAGEMICROPHONEPOWER USE_TI_MEDIAGETAVERAGEMICROPHONEPOWER USE_TI_UITABLEVIEWSCROLLPOSITION USE_TI_UILISTVIEWSCROLLPOSITION USE_TI_PLATFORMUPTIME From 9f144c12c28fe6ead59237759c53c40509f3d4cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hans=20Kn=C3=B6chel?= Date: Wed, 12 Jun 2024 13:02:17 +0200 Subject: [PATCH 19/35] chore: update changelog # Conflicts: # CHANGELOG.md --- CHANGELOG.md | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 85b21dd319a..8acc98e268b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,52 @@ +## [12.3.1](https://github.com/tidev/titanium_mobile/compare/12_3_0_GA...12.3.1) (2024-06-12) + +## About this release + +Titanium SDK 12.3.1 is a patch release of the SDK, addressing high-priority issues from previous releases. + +As of this GA release, the previous Titanium SDK patch release (12.3.0) is no longer supported. + + +## Community Credits + +* Hans Knöchel + * fix(ios): fix privacy-related Filesystem APIs (#14063) ([ff0bd64](https://github.com/tidev/titanium_mobile/commit/ff0bd64f9f4c8d44247a028f5a266481bfa82f78)) + * add 12.3.1 changelog ([f92e4e0](https://github.com/tidev/titanium_mobile/commit/f92e4e02509cb045b46db4ea2f67bc25495d096a)) + * update package-lock.json after merge conflicts ([eadd4fe](https://github.com/tidev/titanium_mobile/commit/eadd4fece5f8ac77c0a1b35e7af18d131ecc416d)) + * handle first privacy manifest changes ([a6f8ed4](https://github.com/tidev/titanium_mobile/commit/a6f8ed48843334686ab6ace07c52066c4a74dbfc)) + * Revert "feat(ios): support multi-scene applications (#13941)" ([8570d92](https://github.com/tidev/titanium_mobile/commit/8570d922175ba60f2554249d75fdf4505471c110)) + +* Michael Gangolf + * node-appc update ([54acc65](https://github.com/tidev/titanium_mobile/commit/54acc65fc870754b4eb869abd9a3328584752464)) + * fix noresults event in ListView width custom query ([d9ecad7](https://github.com/tidev/titanium_mobile/commit/d9ecad760b6ea2be6089a00939bc95ba6527202f)) + * node-titanium-sdk update ([feffa23](https://github.com/tidev/titanium_mobile/commit/feffa239ca35c5fbf208583e3c78299631bfca66)) + * Ti.UI.Tab selected event returns no data ([abc9e81](https://github.com/tidev/titanium_mobile/commit/abc9e81bd38c01bc3de48219707aa4d1d06e94fe)) + * touchFeedbackColor not working for a bottomNavigation tab ([4639ced](https://github.com/tidev/titanium_mobile/commit/4639cede2baeca7e2f7670595bf376ef94bd77fa)) + * switchCamera method was missing ([5fc9115](https://github.com/tidev/titanium_mobile/commit/5fc91157528805bc984ad05eba851328162c0797)) + +## Bug Fixes + +### Android platform + +* fix noresults event in ListView width custom query ([d9ecad7](https://github.com/tidev/titanium_mobile/commit/d9ecad760b6ea2be6089a00939bc95ba6527202f)) +* switchCamera method was missing ([5fc9115](https://github.com/tidev/titanium_mobile/commit/5fc91157528805bc984ad05eba851328162c0797)) +* Ti.UI.Tab selected event returns no data ([abc9e81](https://github.com/tidev/titanium_mobile/commit/abc9e81bd38c01bc3de48219707aa4d1d06e94fe)) +* touchFeedbackColor not working for a bottomNavigation tab ([4639ced](https://github.com/tidev/titanium_mobile/commit/4639cede2baeca7e2f7670595bf376ef94bd77fa)) + +## SDK Module Versions + +| Module | Android version | iOS Version | +| ----------- | --------------- | ----------- | +| facebook | 12.1.0 | 14.0.0 | +| ti.map | 5.6.0 | 7.3.1 | +| ti.webdialog | 2.3.0 | 3.0.2 | +| ti.playservices | 18.2.0 | n/a | +| ti.identity | 3.1.0 | 5.0.0 | +| urlSession | n/a | 4.0.1 | +| ti.coremotion | n/a | 4.0.1 | +| ti.applesignin | n/a | 3.1.2 | +| hyperloop | 7.0.6 | 7.0.6 | + # [12.3.0](https://github.com/tidev/titanium_mobile/compare/12_2_X...12.3.0) (2024-02-16) ## About this release From 97c75af26364f8c53cddc2608012893745d95363 Mon Sep 17 00:00:00 2001 From: hansemannn Date: Fri, 14 Jun 2024 00:06:00 +0000 Subject: [PATCH 20/35] Apply automatic changes --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cda9a23a455..2a509f65fbb 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ today and benefit from 1:1 sessions with the core team, exclusive modules, merch Learn more about sponsoring TiDev, the organization behind the Titanium SDK, [here](https://github.com/sponsors/tidev) 🚀. -Rene PotRodrigo FarfánJason KneenMatt Delmarterdlewis23Daniel EthierAvinash DalviJoe KniesekVittorio SorberaMarcus OlovssonAlessandro La RoccaReshopperGusJason David MillerMichael ZaladonisVincenzo QuacquarelliMighty GmbHFruugulKorelogic LimitedJohn Gould +Rene PotRodrigo FarfánJason KneenMatt Delmarterdlewis23Daniel EthierAvinash DalviJoe KniesekVittorio SorberaMarcus OlovssonAlessandro La RoccaReshopperGusJason David MillerMichael ZaladonisVincenzo QuacquarelliMighty GmbHFruugulKorelogic LimitedJohn Gould ## Features From f5dfa923fcf649a10e861251d87a073526af2896 Mon Sep 17 00:00:00 2001 From: Michael Gangolf Date: Sat, 15 Jun 2024 10:27:16 +0200 Subject: [PATCH 21/35] docs: update TabbedBar Android properties (#14061) --- apidoc/Titanium/UI/TabbedBar.yml | 14 ++++++++++---- apidoc/Titanium/UI/UI.yml | 12 ++++++++++++ 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/apidoc/Titanium/UI/TabbedBar.yml b/apidoc/Titanium/UI/TabbedBar.yml index b95826a26e3..0e846c3b578 100644 --- a/apidoc/Titanium/UI/TabbedBar.yml +++ b/apidoc/Titanium/UI/TabbedBar.yml @@ -44,6 +44,12 @@ properties: availability: creation platforms: [iphone, ipad, android, macos] since: {iphone: "9.0.0", ipad: "9.0.0", android: "12.0.0"} + - name: selectedBackgroundColor + summary: Background color of the selected tab indicator. + type: [ String, Titanium.UI.Color ] + availability: creation + platforms: [android] + since: {android: "8.0.0"} - name: selectedTextColor summary: Color of the selected text type: [ String, Titanium.UI.Color ] @@ -60,10 +66,10 @@ properties: The `BAR` style specifies a more compact style and allows the bar's background color or gradient to show through. - For Android: - [Titanium.UI.TABS_STYLE_*] - In Android [style](Titanium.UI.TabbedBar.style) is only supported in the creation dictionary - of the proxy. + + For Android use [Titanium.UI.TABS_STYLE_DEFAULT](Titanium.UI.TABS_STYLE_DEFAULT) or + [Titanium.UI.TABS_STYLE_BOTTOM_NAVIGATION](Titanium.UI.TABS_STYLE_BOTTOM_NAVIGATION) and + it is only supported in the creation dictionary of the proxy. type: Number default: Titanium.UI.iOS.SystemButtonStyle.PLAIN for iOS, Ti.UI.TABS_STYLE_DEFAULT for Android examples: diff --git a/apidoc/Titanium/UI/UI.yml b/apidoc/Titanium/UI/UI.yml index 76616d9c63d..d468d3dc8a2 100644 --- a/apidoc/Titanium/UI/UI.yml +++ b/apidoc/Titanium/UI/UI.yml @@ -2406,6 +2406,18 @@ properties: permission: read-only since: "10.0.0" + - name: TABS_STYLE_DEFAULT + summary: Default tab style. + type: Number + since: "8.0.0" + permission: read-only + + - name: TABS_STYLE_BOTTOM_NAVIGATION + summary: Bottom navigation style. + type: Number + since: "8.0.0" + permission: read-only + - name: TABLE_VIEW_SEPARATOR_STYLE_NONE summary: The row divider is hidden. type: Number From cb6937849970ac8417ea87f950b03467668672cd Mon Sep 17 00:00:00 2001 From: Michael Gangolf Date: Sat, 15 Jun 2024 10:28:01 +0200 Subject: [PATCH 22/35] docs: attributedString link example (#14056) * docs: attributedString link example * docs: attributedString link example --- apidoc/Titanium/UI/AttributedString.yml | 60 +++++++++++++++++++++++++ apidoc/Titanium/UI/UI.yml | 4 +- 2 files changed, 62 insertions(+), 2 deletions(-) diff --git a/apidoc/Titanium/UI/AttributedString.yml b/apidoc/Titanium/UI/AttributedString.yml index f7d18b0e188..e64e60605f6 100644 --- a/apidoc/Titanium/UI/AttributedString.yml +++ b/apidoc/Titanium/UI/AttributedString.yml @@ -133,3 +133,63 @@ examples: win.add(label); ``` + - title: Links with underline color. + example: | + ``` js + const win = Ti.UI.createWindow({ + backgroundColor: 'gray', + layout: 'vertical' + }); + const lbl_a = createLink(); + const lbl_b = createLink(); + + colorLink(lbl_b); + + win.add([lbl_a, lbl_b]); + win.open(); + + function createLink() { + const label = Ti.UI.createLabel({ + top: 20, + attributedString: Ti.UI.createAttributedString({ + text: 'Check out Titanium SDK', + attributes: [{ + type: Ti.UI.ATTRIBUTE_LINK, + value: 'https://titaniumsdk.com', + range: [10, 12] + }] + }) + }); + + label.addEventListener('link', e => { + Ti.Platform.openURL(e.url); + }); + + return label; + } + + function colorLink(lbl) { + const attributedString = lbl.attributedString; + const textColor = 'purple'; + const underlineColor = 'yellow'; + + for (const attribute of attributedString.attributes) { + if (attribute.type === Ti.UI.ATTRIBUTE_LINK) { + + // Set new link color. + attributedString.addAttribute({ + type: Ti.UI.ATTRIBUTE_FOREGROUND_COLOR, + value: textColor, + range: attribute.range + }); + + // Set new underline color. + attributedString.addAttribute({ + type: Ti.UI.ATTRIBUTE_UNDERLINE_COLOR, + value: underlineColor, + range: attribute.range + }); + } + } + } + ``` diff --git a/apidoc/Titanium/UI/UI.yml b/apidoc/Titanium/UI/UI.yml index d468d3dc8a2..c65fc46c6e8 100644 --- a/apidoc/Titanium/UI/UI.yml +++ b/apidoc/Titanium/UI/UI.yml @@ -490,8 +490,8 @@ properties: See for more information. type: Number - platforms: [iphone, ipad, macos] - since: "3.6.0" + platforms: [android, iphone, ipad, macos] + since: {iphone: "3.6.0", ipad: "3.6.0", android: "10.0.0"} permission: read-only - name: ATTRIBUTE_STRIKETHROUGH_COLOR From 2e0e2e5dfa8a726561d2f15daad65a9fec7afa3a Mon Sep 17 00:00:00 2001 From: Michael Gangolf Date: Sat, 15 Jun 2024 10:28:23 +0200 Subject: [PATCH 23/35] feat(android): adaptive icons in default template (#14052) --- .../res/mipmap-anydpi-v26/ic_launcher.xml | 6 ++++++ .../android/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 5438 bytes .../res/mipmap-hdpi/ic_launcher_background.png | Bin 0 -> 489 bytes .../res/mipmap-hdpi/ic_launcher_foreground.png | Bin 0 -> 4695 bytes .../res/mipmap-hdpi/ic_launcher_monochrome.png | Bin 0 -> 4695 bytes .../android/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 3135 bytes .../res/mipmap-mdpi/ic_launcher_background.png | Bin 0 -> 313 bytes .../res/mipmap-mdpi/ic_launcher_foreground.png | Bin 0 -> 3459 bytes .../res/mipmap-mdpi/ic_launcher_monochrome.png | Bin 0 -> 3459 bytes .../android/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 7107 bytes .../res/mipmap-xhdpi/ic_launcher_background.png | Bin 0 -> 650 bytes .../res/mipmap-xhdpi/ic_launcher_foreground.png | Bin 0 -> 7372 bytes .../res/mipmap-xhdpi/ic_launcher_monochrome.png | Bin 0 -> 7372 bytes .../android/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 12426 bytes .../mipmap-xxhdpi/ic_launcher_background.png | Bin 0 -> 1064 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 0 -> 9960 bytes .../mipmap-xxhdpi/ic_launcher_monochrome.png | Bin 0 -> 9960 bytes .../android/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 16553 bytes .../mipmap-xxxhdpi/ic_launcher_background.png | Bin 0 -> 1649 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 0 -> 15600 bytes .../mipmap-xxxhdpi/ic_launcher_monochrome.png | Bin 0 -> 15600 bytes templates/app/default/template/tiapp.xml | 1 + 22 files changed, 7 insertions(+) create mode 100644 templates/app/default/template/platform/android/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 templates/app/default/template/platform/android/res/mipmap-hdpi/ic_launcher.png create mode 100644 templates/app/default/template/platform/android/res/mipmap-hdpi/ic_launcher_background.png create mode 100644 templates/app/default/template/platform/android/res/mipmap-hdpi/ic_launcher_foreground.png create mode 100644 templates/app/default/template/platform/android/res/mipmap-hdpi/ic_launcher_monochrome.png create mode 100644 templates/app/default/template/platform/android/res/mipmap-mdpi/ic_launcher.png create mode 100644 templates/app/default/template/platform/android/res/mipmap-mdpi/ic_launcher_background.png create mode 100644 templates/app/default/template/platform/android/res/mipmap-mdpi/ic_launcher_foreground.png create mode 100644 templates/app/default/template/platform/android/res/mipmap-mdpi/ic_launcher_monochrome.png create mode 100644 templates/app/default/template/platform/android/res/mipmap-xhdpi/ic_launcher.png create mode 100644 templates/app/default/template/platform/android/res/mipmap-xhdpi/ic_launcher_background.png create mode 100644 templates/app/default/template/platform/android/res/mipmap-xhdpi/ic_launcher_foreground.png create mode 100644 templates/app/default/template/platform/android/res/mipmap-xhdpi/ic_launcher_monochrome.png create mode 100644 templates/app/default/template/platform/android/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 templates/app/default/template/platform/android/res/mipmap-xxhdpi/ic_launcher_background.png create mode 100644 templates/app/default/template/platform/android/res/mipmap-xxhdpi/ic_launcher_foreground.png create mode 100644 templates/app/default/template/platform/android/res/mipmap-xxhdpi/ic_launcher_monochrome.png create mode 100644 templates/app/default/template/platform/android/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 templates/app/default/template/platform/android/res/mipmap-xxxhdpi/ic_launcher_background.png create mode 100644 templates/app/default/template/platform/android/res/mipmap-xxxhdpi/ic_launcher_foreground.png create mode 100644 templates/app/default/template/platform/android/res/mipmap-xxxhdpi/ic_launcher_monochrome.png diff --git a/templates/app/default/template/platform/android/res/mipmap-anydpi-v26/ic_launcher.xml b/templates/app/default/template/platform/android/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 00000000000..345888d26e6 --- /dev/null +++ b/templates/app/default/template/platform/android/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/templates/app/default/template/platform/android/res/mipmap-hdpi/ic_launcher.png b/templates/app/default/template/platform/android/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..336181928453d2ce6c03e404513be002a9b9c155 GIT binary patch literal 5438 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 literal 0 HcmV?d00001 diff --git a/templates/app/default/template/platform/android/res/mipmap-hdpi/ic_launcher_background.png b/templates/app/default/template/platform/android/res/mipmap-hdpi/ic_launcher_background.png new file mode 100644 index 0000000000000000000000000000000000000000..e298188cf1e259e9aefff3e24304864bd8d98e9d GIT binary patch literal 489 zcmeAS@N?(olHy`uVBq!ia0vp^i$Iuz4M-mPBqq(kz_`KF#WAEJ?(HQ*Mg|227R9&n yzj`0?PH5bn%Wk(@DM&$yQ)$vDF=)cz1A}L2n`Qptd+UHv$l&Sf=d#Wzp$PytrfKg0 literal 0 HcmV?d00001 diff --git a/templates/app/default/template/platform/android/res/mipmap-hdpi/ic_launcher_foreground.png b/templates/app/default/template/platform/android/res/mipmap-hdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..4854eacd6f166d4bcc3b36736ead3aad585124c5 GIT binary patch literal 4695 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 Z{11Zf+R?I`5TpPA002ovPDHLkV1kHk1}^{r literal 0 HcmV?d00001 diff --git a/templates/app/default/template/platform/android/res/mipmap-mdpi/ic_launcher_background.png b/templates/app/default/template/platform/android/res/mipmap-mdpi/ic_launcher_background.png new file mode 100644 index 0000000000000000000000000000000000000000..6f6addc419465bbb2ffe661503a26b2cb0bc4c8b GIT binary patch literal 313 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 literal 0 HcmV?d00001 diff --git a/templates/app/default/template/platform/android/res/mipmap-xhdpi/ic_launcher_background.png b/templates/app/default/template/platform/android/res/mipmap-xhdpi/ic_launcher_background.png new file mode 100644 index 0000000000000000000000000000000000000000..bf98a1ea6de69349298b634e279bf805283707cb GIT binary patch literal 650 zcmeAS@N?(olHy`uVBq!ia0vp^H$a$!4M=t>=)PrOU<&kfaSW-5dwbcCk-9FD R5SYdoJYD@<);T3K0RZ{7peFzT literal 0 HcmV?d00001 diff --git a/templates/app/default/template/platform/android/res/mipmap-xhdpi/ic_launcher_foreground.png b/templates/app/default/template/platform/android/res/mipmap-xhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..c955ea130c2667a0bc8b9917fa2e4efa7bb49589 GIT binary patch literal 7372 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 X+fdhx*s$)UO9}X(q@`FTZyohN;l9qG literal 0 HcmV?d00001 diff --git a/templates/app/default/template/platform/android/res/mipmap-xhdpi/ic_launcher_monochrome.png b/templates/app/default/template/platform/android/res/mipmap-xhdpi/ic_launcher_monochrome.png new file mode 100644 index 0000000000000000000000000000000000000000..c955ea130c2667a0bc8b9917fa2e4efa7bb49589 GIT binary patch literal 7372 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 X+fdhx*s$)UO9}X(q@`FTZyohN;l9qG literal 0 HcmV?d00001 diff --git a/templates/app/default/template/platform/android/res/mipmap-xxhdpi/ic_launcher.png b/templates/app/default/template/platform/android/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..f52c681d975b99a2f3f5e8b98d32f6873d53c174 GIT binary patch literal 12426 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 literal 0 HcmV?d00001 diff --git a/templates/app/default/template/platform/android/res/mipmap-xxhdpi/ic_launcher_background.png b/templates/app/default/template/platform/android/res/mipmap-xxhdpi/ic_launcher_background.png new file mode 100644 index 0000000000000000000000000000000000000000..e6d4c1b4fc57e4e4179e3aa079b94e84911b23e4 GIT binary patch literal 1064 zcmeAS@N?(olHy`uVBq!ia0y~yU~~at4mO}j{44ik3=GWgJzX3_D&pSW*vNZ?froix z%KwF*kM0&!$Y3hsaDM*%_rCXx4=QC{8tmBx4>+=Th$%I+awI4+g-nukFk<#dV>rpP p;fErV%&6>WXpE+f!JilGr>x^?h_y;u1}p&>JYD@<);T3K0RSyOBK`mX literal 0 HcmV?d00001 diff --git a/templates/app/default/template/platform/android/res/mipmap-xxhdpi/ic_launcher_foreground.png b/templates/app/default/template/platform/android/res/mipmap-xxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..43f4ff9203e8bfe1da0601788a268ae55e4ac4e4 GIT binary patch literal 9960 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 STf_@CfTEn5Y`L^?(Ek9CDtg`k literal 0 HcmV?d00001 diff --git a/templates/app/default/template/platform/android/res/mipmap-xxhdpi/ic_launcher_monochrome.png b/templates/app/default/template/platform/android/res/mipmap-xxhdpi/ic_launcher_monochrome.png new file mode 100644 index 0000000000000000000000000000000000000000..43f4ff9203e8bfe1da0601788a268ae55e4ac4e4 GIT binary patch literal 9960 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 STf_@CfTEn5Y`L^?(Ek9CDtg`k literal 0 HcmV?d00001 diff --git a/templates/app/default/template/platform/android/res/mipmap-xxxhdpi/ic_launcher.png b/templates/app/default/template/platform/android/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..75990b152202bf70f6cd41bf988f0dc6b0fe88e2 GIT binary patch literal 16553 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 G7V)E`GV(GQ2rw_) zTYqtGpZ5Wl?YaC6Nqz|oBAh%8DvgX2R16p6u|B*Eax#H`?%z@RcJIT{F~ kDPc4_jFt%_tzeY5lG^R9_G*6*uqt8jboFyt=akR{01wz%ZZh=9hTPdX*MY?0?lJ1THq`Mo={=Mg) zIOn?F5A$WuwV%D#v!1-4dxa@0$>2OCeF^{oj_i9$RRDmL{rAH}2cPsRvA+QTYCu*} z?4zf_{^AqQkL!~dM~^-XPo6};r*QJ>;8+LY^1I=>ySRla70;5oizgaNxryu-g-P_@ zXi)z!`+^%@h{?)aJcah#O`<3p-q@Q>ZIWg+3#!l(6YI5-F#vF?MKSr zyG_KQ*Dwb)4NXOC`4I;p0RcyAXlSpJUH}0>TmsBUQqqhL9Y#Q)9R`t>l+-YR|L^1f z)ye;(1`%iY4>Cj2S_0evz38!Ml7=~~Z~>qn`1}+}3oN6AUahz3vXZnW0ymHulvXz2 z3}u7@4p^a-p|p|!!l*~}m&=5C&!Lg3#cXgwfE>e!;SlHJvN9APKWy7hv8p67S@v2v z=YZD&ck@_P!5>8kzcNb&^_}!_k)qVzw`EMOZZ%_#gXd4+ zn-GOd4T~QN&>by@pvIWmzOhFoC=;dsZNtu_Za5wkcIaD3E%(#2DKtz#+yN^ZaHNAH z1j=^86H1!>j!^bR0D7O=#8oR8|>p30zH5yB}}U9p%nZqSQ@FdI01&|3K%mMz@=EVuUXK-sZH z>uYNhzUPkEL}DUYaEW&*Q005qt?JDlo63pkw1jQD9Hd)#eq!*i_o=e zL*_=z$i)Hg_}$?^DwTEp{h)zU$brz!x%anq@O$sQVeWOcCpYFa{>tQAFBiiA%46KU zoqg$+rsEy^w&Et6_EUszkYB;ee5M1r!@5Aj61qGBbQs;2<`SI_c})YICze>nh2y;X z`f=OZ1s{oDSxIG~PeYdCph6wyga~(kbmc+(97!X%3XK)o!mlNUBl~B^&~Ku;8rJ1K zT%u=oKPZICpYFQL9UXw~GZ;A@6r8-IG*v?JtBFP4`YS~GIC~|} zp{ZdrPHAQGclBB)AwY?dtuMUl7OmhwLb+4i5Pfk&n4dHC%tweJUy4&wza7Z&9633t zgy?PVFXnRD)BIV<(-+G3iux+pNIJeFZeNgBi*?R^av{5=^v#CUr1qqYs|yN^Y>?A5 zm}}m8(>nJhDtfH-hO|}Tux7PIpqzC4RL{Fn`Lf<`{hVpwxquXswRAr|ah}laDfpJS zra=qTkr7{LGr_vFK$=>BOx}TM=OH=TZB#dkEXPN`p+)^E@>OYZ;zj7dt6~J-Z- zzWwOrZ>6Urr|zUC$8W;3utBGa9y=14*7Y(M9~G0?P9HKk1kQGs?9~_7##9)*5of97 z_aAKCHkW}&#ghQ13eb%N#EUkn=8nE$|4QCvMhNAbuevSqj*Ns)KmX@CL24rKLE*CN z+wA#Q=58QI%lbHgn9`~`Yv^>i8ca!rn6Qewm*z7xRaoFq!icZtq_s%?ChNlHqh?9R!iKA3Y*{iX<-8q*D3) z85c2c&s(C+s^N`yi#od{17A9020g>Kq zp{zOQ8M!)UK>jfeMYB%FFQPZhhNyh9fb&x|I^nQ#^^U zcGEJ-n{=>LWt4WG_jtDJT9V+dJ?($9yiJB@&VxhG(mQg`d|$9%<62R@L^|PO*xv+6 zx*^p~s+k*`9%gI$y98~T{BaO+90`-+Xx*}u?0k1NQq|PdbXfDY+iq;k#F@MY_E)^K zD%qkZ?5%~l`DC$nrNv;h;6a_u)<_o1lC5l@{5;*Z*rtBdla9G9&Bw}Sg5x6>i;?D7 zQVl8;PpVcyUct=7+Jap0r#B1M2l zJ=F5Y?kZD{lZXeorHZj}R>{&CVHNsM^w|Rgj^1>@edvgFZ+p)NIE6H=+>f_qWK^ZE zKMfN1l`_+v=Dv5WX6?4atxM_P_Jz!L!oFj?uW7AAFC^)GN{AzVs`AQYY3@^FvB-rm zGgy3X`M+VJnjJ-5AdsdB!Acc^jPm|~3FJrE8fk?0@;VM|N}H88uhii#amV%g(9zKu zzA$xN&oj<qHV5C|`YqHsc`bUM&k5tVvCP+xh*5T$iDE?u*4)KCi-o!?TX2E>V}$q$r>qN?L)(N z!K6-cKmN8QeSe9<%z3k|`_C73VBx*m_^xG|+mtG`K%4d@mn*k>8Lxp^rsi|;ixK45 z{MTV%PBD$Mx5`%`Vs!DGR!}^ zS^<c# zw6v}g4@-&ZoIHAlFs#d1Xzr(|o9y?)+I^(*sqvA0+ zka*8qi+>{hkO{zZj;Z%bfE?Gu*2+p48+|jpw|U9lSl^uCTWj*{EJRI9Svj+ojZuQ5 zm2+aI+_drhpwSxVRl~`s3-8}&h%QXie7RSSr-dq(JM{iVOH2D*-w|0qym!M?KVZ32 zp8wos1&)dnt3IUiaZEc^#00iQ8FX1UY3h=VqjH$a%VV*9xL?ouXbd+m?Cbk!8WniF zbY1*W3u;gnn> zYDO>-z8t+DcupS2o*|K{R!5as4>Nl4yW)*&BZsrW8<_>NwE^DH=R_nVyZkTpe-z6b zrg+DylRb$+XJ6Ru6Adc}nR#C|cxY!0O#Uz4?aZGI8;==Q>|->>W)BfT=~ z>W;=b4WFIRqH6{J#tu&Bjipt)+Q`v^x%eao>LMyl?MFXc2tmlvk#azb(qO@TWF{3& z6}xx=jmW%)Bcl-foe{DXN=`BkIa6FoAPBhQ9b0f!CM)vn1F*}m|LyxDu)}I1vfgF#u<>qQUSD4`nS5p!&{G35XRehHb=q%T zt(x&ZWia$Te7QuqDnu~6qEUMNoOI`@Md+*Qs{+Mtq+r0pM;*OCMbdrj;1bW2)hCts z>5sl@&%fxv`-y_9)c5!AkA#ej$M1;5sF6=sGM+`{&?a4N?1~x5n74rE==|o`!HfN3 zzZ`m{)R~?qW*;u1-(88NIkA`L7H-jqyo1THqHCf5{$0FC$WoFhWt$;x$R0aO^U2TJ z`d2#l4(1}2Ahea=04xUYkh=}`4Ly0&nh_Rf?kj3bxdF*&fm!2d*`*XMdTaEi1LJgE zK?PlRuU^|| zlo5+olbBI(I;|4=q69R|qRbXZ7$$2GK)D)obB|^^A7K9-IQma5HJ4agOz~`ovu0!L zrQxT1GVbM#?Eyd^gnZTQviEF0+&fXe=jS^N$>ICz#^LIh>XTU!)Y(4fe$NP!XLCSv z41**Fd}))#Xn6LEr`r&ckDW>u9w8HbtfSzT=>ByCmsY2^Q2&r?wjU@tzi6Biu_dWA zV!x7ySw_FFT2IQbs=e9Hqm$~mJIj2{4~lyY!^R~@#y7fi#VViVT@{dtAyq#zAo1s( z`@3cV&^BKA+7+y?d(UWL$hn87-_H5&a5x>u+ zdwY7t^kl0&1rCwc1Z`X_gE(Cjb_BV#k`6%ZFyx0wj%7;~ii+l&IX7DR$;t20j&!Q# zk=q$?FDHG=0Znb(@TXW16wZiuwi`U8JDFQ`^Nl1cC?ufR3 z)QI?Wk?lwQ8vb|=(0egWu+2AOu60N4rq3g$JMdpXLfJ}xacCu{5%IbH>y0z4zWn_9 zp1qaxqj}ke22?M$@6#Dsr8^NlTYcQdmx_uChq-HRYZ(HZQo@>1Wpuzn#8PkW>!*CK_%>r9skKwpUmYlqA`Wot*ptHEwnD^sj3#5 z3h_v48khp)c$tkc84-qmC|)=4biO@HsyT11GIo%ctSUcr5>>@e?^enkg?&tjf4*BU z(kBW!E)h0*EeWaxG@Hmrn689lgWIXHPfmW=ZWkyy@LK#=+ypZyAIHBP+U?C6kN2OF ztgonO7~qqJDhZ}uP1->93{+Kf?aN<7!6fjJj~w^y+qZ+yk;)k!E{{vVB?$?MLCez0 zM!-^^JRb9=`BrH;)7#Fsb*>3{o9nLX#N2*&xqjN(aUsT;`#!=4QSc?Z-jtynDG5)Z9!}Fih$9YIcW` zuwQVRkvSYnhcKR`YJT3@?`(8?=Hljdu0b;dMd7CxUKTK>>23=o&-peBx)w7z?&btH z&!C49`prq?aD(JV%k@SI-jeTSnhzA#brdd0QR#dubh$8J^kKPq6EeemAo8;Lr(SZL zIbD!IVWPtq#0prGY>sM-gY zXuj3ZgT=<%X8MhJc%Yb+l+@^adi)P?9VHD77cfmd3cKXp9{H@5YLl*~O-Jo6$=B^z zR-X>+d?drA4wn#4eT*GPMTS(^A|c64g>RTx#uE6<*})_={t3%#(Wi;!S@F&(5l-o0 z%Oh^3jwppau2OD=tBjHdy$xkJR#G8h8bG4U4 z3~8>a`t*0KRvln3OOXU2^c?)KekO8vB=NQ>UxW+i{CuuG=9~TLAa4)2|Bl#~x3mmB zGV{^h3o1H#o?aED7}t1U8IQ}nU>xhd&bNSJkQ)uX%x9q^5Da z_x;Uzhjl?(wC^QZwql~%4IF#m?B-^&qp!bTdr$(KU8m^xZyT;P)QwQ1n2-8|ij+M7Tv_M42d*eqgEi*$pYd&Z(lp)|DBb+)ju+hFd`zN z<)FPb>n+$^Q>klc99W^ua#3@>o=sYh;x*_o{oZl4!!$&9R!QMO9vX*+27CJ+1M(`N zwT()nWacbuG$+PV_RW9YiHyh6i=lbD(~W-WY+9ag77vYwCMW-7j<*XkzyS2mFnY}> zN#9*e%-HFy#-sv12wM^(a`0Oy2(Jw@(4eo+zCqM|~-8opgdq`oD9%-W;=uG z_4MjlN0T<@9g?U&ss&!3E=$Q{F|^N14hQWw9{P>Whxy*Ta!(F`5I2onhBC~D zxI6N%v!kZ5@k@C%5alK#c^Y(6Q-#E1cb1?jNvH|>d2(gydEDine=26KuWEoIDu2;O z=tOa!X*rzEchZ~Vc*58bo0gUa4|zpZPoO4X^KnJ*z<2bf4kd?2F;%P5pW4U<_1UyD zmr&uKD6fn(4xxsp@@hJC1zgoOO@S){=QnJAl-lD&b9a}Wgdf^fWGHafIxoqa0$e1h zsV|++rR3yTnkXK$iZQ+?vFL_dkEeIbvo*sOq4Hd$28Nzl z&r!-M(l!fTx--K?pfeP3Hl3y(d20ODl@O``LZx>EDfSl;N{dR*jq;$Un>WoVkxZKd zY;%~PR=`9x^sCh2%@@;d(Og3rwj}rX3?WQK!Dz}i%dW3 zrTZ66M4dxJP%^QbRj57Ue5!meWs;r*KKaw5;-D)w>VNPNrGP5fS#04ZkH|qhe%U!T94&E z3=SUHqr5)*aqI$Z>IYLWpk#GdNq7~#yhKXJP~97 z#zBYAAtEUizD*U;TiK%g=&JG*`M6S6gjf@Cd;#jtt5xb}fazIl{1 zr0RqjuHy7M;gA`p+%{l~zq~4o?p#yfxA<&({PO+}5KKZ$%=$isK}Hs|N~IJoOQor7 zsSE?R$NNiz^NkdTi;;YUwPYhMRYv=fO`c+W50sBfzod9cZo#4VK_u0G1x@pFgX4+> z5fPE~d3)ABFrp^8?oRDD<>%+mOXhYc9^U=-I20E7qj!x^QoWE;5$j6k=+TJIINDq7 ziWu8CoPNEO-G z+${Lx+pO_fLu2Y-9o6jO8{P65Vt-1v%uZWIm-QyGW^K#@F*m`tKcuJZoZFRxoA)&x zLWV)zQhaK}GiUaF>9xq=omIVuD|JrqJ`Ro>(fazj+h0H76-T}i{IEUR!Gq_bH@o|@ zcp`TI-h#h~MzM{9Nd)&!3P-MoxXhZ#-0@a|WhXQcRs%Mt@3jsb)p1Q-Qc3~Yi);qSvDkL2k-?$Qn9+9L@`8b0Ysoi6V2 z^q^psxr6uejpsNF-l4M=_4W093JjPTjwm;0*0nefF#6adJJ{^J6qqFWxhsyTd{?&TZ3r)N}TZ+)#H;HlE6YNeY8Dff$`dSS}$ zh!jobwBvJMbaVVO{zb^59MWA=Wj5VuN|(Q)K0V_Z8BmY%1uDpi^{2l6g#+T8K0Q@{ zD8s*mi>J621|LcpXPmZna)^HhqU+^j8*U9Z0^JwwQGWL|ZL$n$kuPuY#FU~pocF3$ z{$LV|FZfheLbJZG?u8ZGhcBGM_?-DsIf|R63MNBKn@>0`29m+Tq$TP;?CQJwzvS)x z^8EGJ4&iKI$QCamlZMvKTpVnrd}^?+qP+n#^61i6WYj4B?F>gKV6qD5b-96`+=P$GT!J@`x=Isf#w?$oP0F@Nb9@FgsJxC^b=s}=1qaXtY7_NDhD4a-Z z4hmdo)@Vpg@E3?Nk>wzoPVu>3h1B4DaIlAF)xa{c^0NCkj$n2*=kak5gDF@{OJDXd z=i@aKhf>Br&a7^VJpo5DQKPB{-ysXuE-S$`L32(>>PT{Je3vd`3`}Y)l;{_g&g*@@ zNDMr)YGiD_C-z~WEJhR1@`{_q;G~`IFc(YSU9H6&_tI8tRXJwuCxm%_6vGOB+v~{_ zIR}=~QKJ?J0p(-t6fEAF1!wu^&xws=gf1eZPu>G8!dkDp>uY>!{}h~_p88(|lL_T6 z!1&Rh)ei!VuXem^s;ZES9?NaHb2`l0Cg-1d^cROthJq1k@Z}eI5U@-N<=LG?l42PV z>awW~rz0Hu%8W;ORCdq!6i_+PBcRdOYbWdd85Ba^XEEl;(WPL+&rVgeL%wjkj6yI( z*Www1-O<*Iaw@;8mjuJy+N4b`#&bu!8$!~3aFn z$TaJzo%XKK#Py)gFk9obkI&46`t&RXUM{6LocbmEy{_vQM5dMr$D1*Lb(gs&5Ca)i zPfqZ@JczO_K~U=2SF49pwlIfeio(flq7w6dFMz+|#EFQD8`?&uht2xnr~ zN%};*-M5R!V?Zo)SUoI!yZQx-ZO15Z>8t=FjY08u*Pb?)z3{(xM6KFdf*DcZAW-C* zy^;-1Vn^|j->B8SZtF6qyo*@(XnHPqvPg675Kk!7W67&$DjS!j;N7V0RZ$m3{0i9c zXy{m$n4enCd&*YT8gCbJ?$vJ^j3&VDQ%l-i_xi4m@l21irD_baEt^imZ0&qeo{M0! z+vE}9HMES(*T{cMnx5r7Z_e97kP~VjB$k^6&V%N1xH>I{(}OJYh3sw3SHA;F(2=nv zm%OuXfHu!m^^CCCjU~r@)=e|j%L0Oq4Qtg6p~x&M1^awtLXx5ME0e{}Zvub}O7eU_ zfr2%tjU8jM%jPPrwW{&coP-cr8=?fBDi=gLo{ya~?D78amPeRPh=ixF8$;>11IVF( zG@%;Vrm#wV`o!wzvvACJvt>F`l$4Ihj~=58b7(q7&lf)CYrgJo7&@QR`DX-VxSn~b z-59|~tARJG97KHDRl_R~4DwLpju6w`;#;XlF1Kj+q6}^q`gC7+^qt-Fp;T_y$6ap+ zRX+3A59^jS!ob55(GVt`Q=J*VTMG8o3AOV1PmK&V&6?dKV>hKO52R`t$zQxqH>4jc z>COV0*A?ZqE%ElZoLdKxjG`)>iBkDH+En4gUhfr za(mcl^0&Iv{nC?M2?+@vVrrGoAj&q)hDdxDXjhM#;?R7Zt&-EX<38^jvsiaXDMFYgXY(}Xh>qc9|n@`eOqRi(#?WXsxIZ{qm@f% z=gJ;fvV`EZZ=wA;jq~F&Wu3##LcL2VlzrlxuZlf`^9y{Iq5|v=pkGg*Of>{`&hb{+ z627%R6ao431YM#hA};0SjG&9ZuhS%8O8Lo#oj1+rQ$S)t#vQ&{)1>0<8KYBn=~b)FIp=auw?IB*7ox!iqkOzAgEoTdc+XujY-eVU$?T5oz2#S z@dFLX18f4LkOIHU=xM5B+ZGXJFbQf|jI~ESLbJs-EE{@`e|RVrJ1=68;)X!a&so;l zOO&=J@88vA9`aE*IhUq0q^nfp!yaets&dCRQCwJ%~OQky4$ij=gt)Ilyy<9&vlv(qcJmfGFiA z?d`Usr}?Z{D++rkv_O$!tIvs_>C7Rb^#uOGCo#_X;!22H7{H>gw{Vs+2{jt7NeF zDIwY84fl5eGM8jC8RV!701+b7hcOWb#CAZ3F2bO9A9p3(B+9z(RP z`x8YCm__zSR{JRMu}`nl6@NF`8avfp_`&!k-(0CXgLOh6h|Fe8{*c0Q|;B zbwlib{rST`^#u7cZp$k_l8&atDOH|yM?*x}z@Wq@LcbgbP6F)BB{+N&b%ESbwzd#n zarMf8UM=NNwEcozM1$I9J&RHrQCZaT&5^Ik%h&W&8-G+{D8=pkR$Iwv;3_n(ap=t( zZxP&KDW>~}jd3CAV#$f+>r*GsbTbHO-~5o)V!-`$W!!IaKIQgzWef`p`vSj*ABW&M z48tev%DsjDS7e(F!D$H)V}_xuuccM!QYB!^1bjf@%dA|c4tT&q+8iFMpo4=UVxcWB zF1Y^Ziz>HwO&Sz70Rf5L9-%b}Ha5;N&U7b&1f#qfh{^R$F8N<4IM_>XO(=&32h$TX zGL|R8FtWQubfO9um+#%9&RZMZ$EKwx<01cT6sjOoxVKkXP#hIhU7bK_a1g8fy2?Xd z5`mCTiw#JppR_>0?u6@gpV|g)b7EFniD8( zT@t9h+9S@^AhRj6ae_D3cfTUXbx<>0_GFD5orDwHY!N^}C(I0>E15^_`D_vC^;Qu1 z?yd8`-eJ?LF%5w)o6mvopQpAwgyBq0&i;MCUEnaY473i~Y9Q=AXMA{Mt>9z0;#lWl zYTA#fDOog#4$XGR|4iW#Et>lT{V>Amz@YMtPhSwp#x8%8mQ|qPzPFPd^W)kpuMXR- zTjy_nlzFhnBd&;x%0{YIF=4Mcj?(6;)6c$@>I+(bZ$6|K6)-jzwloDOW8L0gD zO0%=G5tC&lo*_`oYb!PdvYQ?LvU8aZWf0smCuU)s9=u%ht*{xLOj3+E3zszR$gG{vfhnUY1Q`I2>(n6=Rp_Q8I#uu~vO069KQv zIvtiiRQ3jiQnIX$D3Ku4?k3!(reBx-ySBuzbL*Fo zf;pCpj+bQFF4IKC=hY5nZaS8{8+1Ky>4l6Cz4(hSkVLQO6M=|=8|Im}haqOurWqKa3k%e!giCpQyLE zX;T;`R1F3#kn(=wF4n_}k5}r0VM?*hG!7!|+H`GF`SrxKTbjPUB^9qbeJCRDmnDE2TpkKGga)E^HrhVZ89iwhOMSEJ38svX6; zo#(Msu%e8_y|9c&2W?PRez=-8%Si4A*YNdVa_bz5e z8dG*g1guw{X5*o$DV5~EHG)hi?$JperN0J~r6+G}A1C5mzQ$960&OuI-gWiP>HkQ}VglfQ~@n~<0xe2NjWhy??vmW&JiMy$_H(AeZ`34QY%J?j{8 zS=zCcNca=q4N9_Shm*mrLeajtGP*7oiAxF>{VrkQiWPZbdJ}AV-eNZEzegOeyN z&6&9adH>-#i#JPW?pb~g`TpD-fb;|tzW)39RG^T*1|$;qARC8wW`*C-ud!LylIiuEQPCum_5 z=`)JkAUt3{ia$Od22u-AD~l2#b&4WCG}R~LpC}t+&!qAq2DltcSQ#0UagZKM23nf_ zJ){O}h@+dYwK&$kU}uMqNGnt~*GZe1oEJL;>MZtVwz+t>D_1R`R^OM*(gbr};m75n zTPRptk0Jov^G~#tBSBQfr@gL5`6W$fv7DDpU_nliP37o{nV%@_VZJerjmZ0`ub)Qu zMHf{XPf3k5%)KP!t~l@4@$brEVO^Obt1DM`D)s*;xB@qum2Vpqo?Ge#s4!P)7nO8I z?@2Z?*k5uHv|hIv?GvDAc9bz?4E!yKY~vybEb0#ruNo0&@Xr_z^DUzXCYN^Y%Rgki zxdzEpCT?ZZT0@QLvKkOADLKQ1bTFJap&bp3G6ENtn1+#Mc}@h z^)8)r#D)h^TnY3kgOo|kV)6+M+|1XAC{GrA{kSep zX+Ku@DQFug909v8oy}$ZGlTr#ahK5Ug_VX4jDRg0Gb$iO`$|usJ*YRisp*sd-{Ik9 zDmbz0*6F8VQfh%L-68|G8WI(S{{TKxlW9+;@(Xc0V)&Q2Ii2ybRSir>153Y5I+|`t zAE*)@>OdMeF3^Ef6VfZpEI2hJkYN-+vzfk`4G+js#yOSDtEy;dxW|x<1RdZjZynb5}pV z=7Y_<*Wh6N?c1umr?HjB|JVucIHktR2>X#77|!}mPREykI1oM8i)VMV;kEttD=*<~ z>uU-S5Mm1Ut|jFCIFq$L^4$$hLth_Jx%)H4DBFj2JGTp<+NLz5Hu^&4e|Ibcq6s%m z^CqC;HsD++vE#<6_ma6D0{YmP7HBAS4TXhUElY=f5^3Ajb4OmK>|5tm4e0T2LCwEm z*&7)pCbihb3T7*TNcB6g9Yf&c z))GzUWmIstN(YH&iLnrjo@{Zg9z)gsJc+%;9x!W71M%&4G%{^Bdu6b+ZYn7^FC^f{ z!AH1Hk$5FrRqDHV$;z&fm;OHb%EJl|PV(C__Ebp%aYO^$lfL|E9FF_kdl;O{*2bnL zs%|t^kjX%VeYR>Im3lecHXq74>y~23!o)O=NdLd+dy=7Fy;?-_T9j2B#sx|)q8&!X zMJ4+0WNeHEhaKVDfzGOL6AlPIf>lA@&1Lc%sx4~b3o zy`{(>Q8QZ}y=3nYDx{{MhN>@=CUk>}Gnx#?bVI?jjHq4q>xnRqMAwV)d>BC`Z2fFZ zO&ImpyQ1XNItB=(>)cRy&}2(d-belwz>lpovw!^S8Tm>!AFs35JSRNj9B8b;AMb9K zV|Z{c+QK>F83Uy`}1!F zBWj*D812oJ=MU$n=rfe)J$<~8NIisYDp8-<>FY06oSdA*w`_agng$vzU`280bj=E> zv{dmW<2yP^fH^+>@|GL!(RR~mF)yE@Ca!O8?h*jYg@uKV=(yxFT+f``xuW&n&@fzo@*gmY;;4Jc%dmNHclUX} z^_ULdeq&%hI36FA{MI+hTDvY-TOXvgOyLS*H;KVV0Up^iJckTzJ94fP0~&R%4DX%! zzuy^dZw586gz^E~nK_Ju`EP9ZXjA0b{r; z#=y;@^0z$7?uGMy``f4&0+R5WMz0g6e6hrY$$e##gF~dariIR4R?(8#y{|3FgJqXn2_p-Ok&KtzPcuYo zm|uPcXH|yNKMT{yA>!Sv+MZRfACe$5%QC@zn4SHRz1z1+xAv3EeN77y8(4TNYfd-S zey5XKl^%|@Uti2u{D<+C7_#Jwj0Bt5k-tz$S;A>v?CfZekqxCGs3%8nA>g=g9FvyS z6$*QwhN&Td-rt3^$2hSAhgGR@v@(9+;M$@Rq~o1Cgd<^V4GfrOnozqpaQEhzd1g-N z1l9lKBHonmHOdaQ2+1S5;;@l4-h;EgN; zX?Ntqw>a9__$1XY5b5TuD0`9nvm!%5ZRf(e8SQ1O>6$d>vkMbS?8pFXh@^!4aANV7 zwj}9Pv~DCq6mWFSTdNV2B2)0GI2r232B6kvn>Z)ADNA? zt7@}8 zL!mIuj((@I2B}o@)m|AZo14r(ewqL8XBhmxrZtDzmNY{ fC;z_~#Jvcx*^{MwFvtPkWCmoVlq5^UjlTRJoM$aW literal 0 HcmV?d00001 diff --git a/templates/app/default/template/platform/android/res/mipmap-xxxhdpi/ic_launcher_monochrome.png b/templates/app/default/template/platform/android/res/mipmap-xxxhdpi/ic_launcher_monochrome.png new file mode 100644 index 0000000000000000000000000000000000000000..7a08c16f719fa450918f320fb3fcf04261d2ded7 GIT binary patch literal 15600 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 literal 0 HcmV?d00001 diff --git a/templates/app/default/template/tiapp.xml b/templates/app/default/template/tiapp.xml index 1eb419dfbcf..d4f082129b4 100644 --- a/templates/app/default/template/tiapp.xml +++ b/templates/app/default/template/tiapp.xml @@ -42,6 +42,7 @@ + From 6552a2ccb0c11d01a6bcf185f228dcac709b0453 Mon Sep 17 00:00:00 2001 From: Michael Gangolf Date: Sat, 15 Jun 2024 10:28:57 +0200 Subject: [PATCH 24/35] fix(android): bundle webp res files (#14047) * fix(android): bundle webp res files * make it better * add tests * lockfile * lockfile --------- Co-authored-by: Chris Barber --- cli/lib/gather.js | 2 +- package-lock.json | 579 ++---------------- package.json | 2 +- .../android/images/res-hdpi/logo.webp | Bin 0 -> 1766 bytes .../android/images/res-xhdpi/logo.webp | Bin 0 -> 1932 bytes .../android/images/res-xxhdpi/logo.webp | Bin 0 -> 2096 bytes .../android/images/res-xxxhdpi/logo.webp | Bin 0 -> 2240 bytes .../android/snapshots/png@2.625x.png | Bin 0 -> 893 bytes .../android/snapshots/webp@2.625x.png | Bin 0 -> 893 bytes .../android/snapshots/webp_res@2.625x.png | Bin 0 -> 2659 bytes tests/Resources/ti.ui.imageview.test.js | 31 +- 11 files changed, 85 insertions(+), 529 deletions(-) create mode 100644 tests/Resources/android/images/res-hdpi/logo.webp create mode 100644 tests/Resources/android/images/res-xhdpi/logo.webp create mode 100644 tests/Resources/android/images/res-xxhdpi/logo.webp create mode 100644 tests/Resources/android/images/res-xxxhdpi/logo.webp create mode 100644 tests/Resources/android/snapshots/png@2.625x.png create mode 100644 tests/Resources/android/snapshots/webp@2.625x.png create mode 100644 tests/Resources/android/snapshots/webp_res@2.625x.png diff --git a/cli/lib/gather.js b/cli/lib/gather.js index ad12f899da0..d1f2801463f 100644 --- a/cli/lib/gather.js +++ b/cli/lib/gather.js @@ -253,7 +253,7 @@ class Categorizer { case 'css': results.cssFiles.set(relPath, info); break; - + case 'webp': case 'png': if (this.platform === 'ios') { // check if we have an app icon diff --git a/package-lock.json b/package-lock.json index c36b739799a..d3a2244ab9d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -82,7 +82,7 @@ "rollup": "2.76.0", "ssri": "10.0.4", "stream-splitter": "0.3.2", - "strip-ansi": "7.1.0", + "strip-ansi": "6.0.1", "titanium": "6.1.1", "titanium-docgen": "4.10.4" }, @@ -2052,6 +2052,17 @@ "node": ">=12" } }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, "node_modules/@isaacs/cliui/node_modules/ansi-styles": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", @@ -2084,6 +2095,20 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", @@ -2275,14 +2300,6 @@ "node-pre-gyp": "bin/node-pre-gyp" } }, - "node_modules/@mapbox/node-pre-gyp/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, "node_modules/@mapbox/node-pre-gyp/node_modules/are-we-there-yet": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", @@ -2339,17 +2356,6 @@ "set-blocking": "^2.0.0" } }, - "node_modules/@mapbox/node-pre-gyp/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@npmcli/agent": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-2.2.0.tgz", @@ -3909,14 +3915,11 @@ } }, "node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "node": ">=8" } }, "node_modules/ansi-styles": { @@ -5331,27 +5334,6 @@ "node": ">=12" } }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/clone": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", @@ -7119,15 +7101,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/eslint/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -7213,18 +7186,6 @@ "node": ">=8" } }, - "node_modules/eslint/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/eslint/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -7881,14 +7842,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/gauge/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, "node_modules/gauge/node_modules/signal-exit": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", @@ -7900,17 +7853,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/gauge/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -8775,15 +8717,6 @@ "node": ">=12.0.0" } }, - "node_modules/inquirer/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/inquirer/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -8842,18 +8775,6 @@ "node": ">=8" } }, - "node_modules/inquirer/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/inquirer/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -10413,15 +10334,6 @@ "node": ">=10.0.0" } }, - "node_modules/lockfile-lint/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/lockfile-lint/node_modules/cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -10433,18 +10345,6 @@ "wrap-ansi": "^7.0.0" } }, - "node_modules/lockfile-lint/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/lockfile-lint/node_modules/yargs": { "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", @@ -10637,15 +10537,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log-update/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/log-update/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -10696,18 +10587,6 @@ "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/log-update/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/log-update/node_modules/wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", @@ -11378,15 +11257,6 @@ "node": ">=6" } }, - "node_modules/mocha/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/mocha/node_modules/cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -11492,18 +11362,6 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, - "node_modules/mocha/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/mocha/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -12318,15 +12176,6 @@ "node": ">=8.9" } }, - "node_modules/nyc/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/nyc/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -12464,18 +12313,6 @@ "node": ">=8" } }, - "node_modules/nyc/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/nyc/node_modules/wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", @@ -12709,15 +12546,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ora/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/ora/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -12776,18 +12604,6 @@ "node": ">=8" } }, - "node_modules/ora/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/ora/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -15070,44 +14886,6 @@ "node": ">=8" } }, - "node_modules/string-width-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/string.prototype.padend": { "version": "3.1.4", "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.4.tgz", @@ -15194,17 +14972,14 @@ } }, "node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dependencies": { - "ansi-regex": "^6.0.1" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": ">=8" } }, "node_modules/strip-ansi-cjs": { @@ -15219,14 +14994,6 @@ "node": ">=8" } }, - "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, "node_modules/strip-bom": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", @@ -16191,14 +15958,6 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -16229,25 +15988,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, "node_modules/wrap-ansi/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -16278,17 +16018,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -17887,6 +17616,11 @@ "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" }, "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" + }, "ansi-styles": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", @@ -17907,6 +17641,14 @@ "strip-ansi": "^7.0.1" } }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "requires": { + "ansi-regex": "^6.0.1" + } + }, "wrap-ansi": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", @@ -18057,11 +17799,6 @@ "tar": "^6.1.11" }, "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, "are-we-there-yet": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", @@ -18105,14 +17842,6 @@ "gauge": "^3.0.0", "set-blocking": "^2.0.0" } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } } } }, @@ -19325,9 +19054,9 @@ } }, "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, "ansi-styles": { "version": "3.2.1", @@ -20389,23 +20118,6 @@ "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - } } }, "clone": { @@ -21503,12 +21215,6 @@ "v8-compile-cache": "^2.0.3" }, "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -21564,15 +21270,6 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -22285,23 +21982,10 @@ "wide-align": "^1.1.5" }, "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, "signal-exit": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } } } }, @@ -22930,12 +22614,6 @@ "wrap-ansi": "^7.0.0" }, "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -22976,15 +22654,6 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -24144,12 +23813,6 @@ "yargs": "^16.0.0" }, "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, "cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -24161,15 +23824,6 @@ "wrap-ansi": "^7.0.0" } }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, "yargs": { "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", @@ -24340,12 +23994,6 @@ "wrap-ansi": "^6.2.0" }, "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -24381,15 +24029,6 @@ "is-fullwidth-code-point": "^3.0.0" } }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, "wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", @@ -24878,12 +24517,6 @@ "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", "dev": true }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, "cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -24964,15 +24597,6 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, "supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -25597,12 +25221,6 @@ "yargs": "^15.0.2" }, "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -25704,15 +25322,6 @@ "aggregate-error": "^3.0.0" } }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, "wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", @@ -25890,12 +25499,6 @@ "wcwidth": "^1.0.1" }, "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -25936,15 +25539,6 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -27623,21 +27217,6 @@ "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } } }, "string-width-cjs": { @@ -27648,21 +27227,6 @@ "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } } }, "string.prototype.padend": { @@ -27729,11 +27293,11 @@ } }, "strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "requires": { - "ansi-regex": "^6.0.1" + "ansi-regex": "^5.0.1" } }, "strip-ansi-cjs": { @@ -27742,13 +27306,6 @@ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "requires": { "ansi-regex": "^5.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - } } }, "strip-bom": { @@ -28466,11 +28023,6 @@ "strip-ansi": "^6.0.0" }, "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -28491,14 +28043,6 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } } } }, @@ -28512,11 +28056,6 @@ "strip-ansi": "^6.0.0" }, "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -28537,14 +28076,6 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } } } }, diff --git a/package.json b/package.json index 090712c8a48..0585e53a6a8 100644 --- a/package.json +++ b/package.json @@ -157,7 +157,7 @@ "rollup": "2.76.0", "ssri": "10.0.4", "stream-splitter": "0.3.2", - "strip-ansi": "7.1.0", + "strip-ansi": "6.0.1", "titanium": "6.1.1", "titanium-docgen": "4.10.4" }, diff --git a/tests/Resources/android/images/res-hdpi/logo.webp b/tests/Resources/android/images/res-hdpi/logo.webp new file mode 100644 index 0000000000000000000000000000000000000000..13bfe0e1bca1b62aff8fbfe30f1db610f3ddd275 GIT binary patch literal 1766 zcmaKte>7BS7{?#Oq$Z`Arj*Uu!BoT)QO4N{Bbq@PKN6;2Gvh~MhKx$-u+E8cmKrl9 zDnd%4jckLcW{ZZXSf!+*gleUsu&Xh5-_f4cAGPm!?|nb_`#j(G$8*m;*PG?)`eF*e zCKm?Vk4^U{0Du*`j!$%!vokvvhaLf!8^ITdbQ}Q$!kB39bqtDsKp;i;4d7uu%!DOi z#N~^koY-s+P4>6jNE>KrBCRydT;I<5t~w(qSi}d=qM!^%epGY};_Zl6?v07ka3*3h ze+M@RaS39}XtY7ZPc%C33-@a{bb==iMUM9Mc1C9-Bb^fZ74yDg{*Gt?%CSW`)F6Qn z&5!f{!a*87pkYD8ZnU?Fra7TruyCUf8mZ`70PBDS>wygv;K6PPg9wNL8XAR25rH>~ zGrr?Doba=ei-%lcz(}CK0=S$sCOcRH*j{$s9tvv1lWSs<96pH5F{GD@8MTYCdUfwi6BE)^_Alsryy?0BQs!J__ z>Qg2eO%g>qx4U(j!5uL-&%BHt?_s*HKl8kyU2>5kHNdmG&aAJDC%I3zW=0;^nBHo% zsjlafB3Zbon_*LKop<7GZ1dd%mh`JCcVVh_A!&A%&6Lxk@DWkd^?(QFcA-BVdY0Yu zuxfR+xhTQUr>8FBe7&?C!_021z^ZRIVgzYyRac=h!GAnymrM8~LRbOg(v?*-T>cML zY3^f;n70N4oC13*C8xl`YLG)6>3!Z{Zxbi|P`ZO$v$imAb>lj}!NxXjZLVusiqMU4 z%)^;{&a=~N3t*kh33XcRK|3e=dUKXms>;MHDxGS4oZJ~N(@LQ; zyQqZHL$Bj5k{B|muXl=BY@PU?u*vsUeXn-Fe8P+cewD=%e;JW^SKR5dYFMfhcUj`D zHjg#9(X7`JLXlE+eGT3J&{~{wcCK8ffqu?8K0nNHLq`6pq|5oapLB;eT-&PN_6WcA zPH@UaZU4tLehOM;tnW)Te!&N?!h5bToU(YQa>^~E4Ys}u)x@czGIMM8-u@@0l6ibZ zhUp+_*dgjqRdS&51^JU4$tbzx&eQS=eSJ6Ad`rG!E_I+{##CzdXH&;39$Bh420cVT ze*g;lcwrV1vbC0EKnAR_CLLzv8yg#JYXXY4&Tkb_Rhivq-smdz<@(L~jW=4Ra*lBZ zBm7D@ec}eIrEP>arbA=rLn&7eKP|{Ha@#d0>i5t?FOzWnoA-xbT+b!V%&n^&vKk4V zEq<4{^lyu27n{?0jj-?h#S z3EZ*cQyjnnDuuS6<{7RJ08Z$>xO4^j`_qIv=oNH?iLvYyT|WSJQYtSbfIXDQ3u2LDJ8*yvj3qy4zX6It?QLyS;$2;qB#a>iKyN^! znR_1qR|K$dUZa^8X*3I00I&)GY0_IiM+o5g3hC$HYQ!o4{HFkt@84=MmjG^^23XU_ zW$+kF>tNASCq5qFr5IqvK>*Xo0Q!gD)D4Yk$KmrHfPJV|!H)n+{{>*nL~|c`N8Zbk z;eU1ezcK%<-?m`d&N;LWMwrVkVt9S|us7T*yh5^xm#K?xm9IZP#|q=a=fY8rWE@AFncToZD?6 zR#l(sSIp=Bn_K=dd8ctt)764GMMxXpadP;^VDaoh+RvGfDz_ZJS$*!;O#Q6df>O#| z-;%PLQS!6EWn|}3&%SG|pM-u<7?ra&>oxU4WV_kRO%7vD;&Ytu#R86mHB!p&RIYN1 zxT9Z5+S(LsdQNe*2j|_xdZjDlf7Cec>ac#U%p^&*2PamGDYRz6>UOu~Bplr{l+ajb z8x=jY`;PElc`7E~YiKIpr|;{0-zSMw=Z;NO7nLR;xn4CR*r-`$8?gDl`Oqif5kDj! ziMXSD6q)20ss8AqC2nmtYq|II^rURY%e*5MyiE2|YITjoTg-i)rbbe?m|I;5Ejt#; zC$BD2cYbx9n37LQONgks{L@&K%DKSQZW7D3FBGCboUgI-P&$ysoP#?|9fOv*z8qhz8^hnI2+5^d{6TH zvvomT#P!}HTUtd`v6XwvocyW&Mn`;v1misDP_N8eC$O>0(erNSGvy`63=$kx`j}#m zTbDh{Thu)hUW+daQrJkDCe22JzVkiBej1Fb>5zL^)9JkHy0_y$Fv7miSA(LJEMeVm zUe<8Q?)aJ*Syy|dx8)%$Cnc&kM@H5mb%bIkC~ZbDLG|Bx}RHzq&d{pA1%<2nmN1hv8$z53n@x6pA^ljcaya{U04{Un=2ohkCo#= zx;U&#jAXCELUd-liEV8MvubR7Mlyyv>&`#=m@;12*5@59)%H&~9Y1$i@aQoz*-PgQ z^53Jn!dnJsdWL`Kp1pbM3srRI`G?6Sx%Iy;#@$toPo<{M5&-?R2=~x|!CeUz7*Yw8 zz*c9I&nQ={tXAW@fPmF)xW#QeKTl7{N`&6>7%mnI{VHH?o4}!XEE9 z9skSppJr4WS5mx@NI5wW+}-F`+?MOI9jDZ5>#5Dmh!=gsw9d{lD`pwx)P$Q{=Bb7M z{E?gC_A0iaKm7rlI;>B$-)^>(&rFlIqT_8*bF*PtRma{9MUDqXyJhN*RCVdO#a$az fuDaS;ng-4uVW6IGdVT;jNZ@3{;|FH=eeKz`~0r!x}W>H?&siaYi+%IGk}|w zImwk|a8d*Sw2_{oZJjeY;dwN3H5LG-8-N|O5g%L#U@(v9%nglD03aR@Q2lH}^Zf;&=0^b8-|0RKpY{7- zkTcrfA7JJdfS5ag)N23{k1usYYyvwJbpf0}YGvOBkdq6bN=4>A{gu3t=W(NM|JUb# z^&{Goj^qd-yIpAJac!sVvVzNjY8tOPg_Bc-44L2Y$h>Nr$IW|^(^O0UCRs^T^A&J1r}iBVDbwxU%UQ`>2#R;0haG^yaqekWzG zj1jBPO|5GYsn>W*O2+4BO`?K^qql_Y!#t={bXKK@89tKGyENPVQdFd!E1}-rCVjNM zMK<90q>=8A{U?67D#|kIv}YZvN@kg6wz70aM2qxp*%uu!9r%#aaws=Lk2&lqt;hVB zHsovlHn+oeQ^W2O`ft-EtJjowjjC`hb0d#YncA3hS#j!#dTBufuEE3a^-}y-MT>rE zZ)Ii9CbKd)_N*)KTf_46#_T(-93z`Z4%A|jeQ*NF?z}(gXtXswfMgxiD&**bXHYlM zU)^0QAb)II%wvQ^jWFwG4NYrCf&)KtyB^eM7wClR^7%WSHxD-&*RQ%|i^K_0e z#Ft@hnwYA=M?+cq{_j&{PN}1MZ)?o|cgj)ti&Wi#3r_ZY+WYonW|@+ zpZv1>SdtWbOxd$&S*=3fCc$5)Rcx!I2`VCURHe^l>+`ATbIP1~6KyBb3`_+iCgzr- zW!cp5pGw{z>Wk*S8HjPXN>fR7y=lKkD)w8;6jrv>Rc}W#1ERMKNx9vaE#6G;3v~&Pl%B*{)CE9JN_W={#lBf@6w z3GNI9ZEXweLI`>LE7x=(<#&UaIVt7`+q^>xv437p{Pm~2_}GJ#D#Oa`xXEY4!=JXZ zhsw-(u?;G}-`kU_h4u9BnKTHIGp2W7gHXQj+;XqX9hP|dfFkxs?4qBGfk$?nO-1Jq znOn#XFJx7VD;8JhXW3-=F?5_CO|H8xQpUS@1YIfd9q}GGaTXau;|$?p{9Cg#Qw9sd zgtQ87N%>$<-*Ik(XuWF0nWX(&g+?}etpq5(_<4eJR)U_g+wYsW@be<&Xru7EE}}T| z{zbUMpj;HYU~zFMy1ZPk;#TVGI&Z7^$)}iJ6fVOgi)xbEmEPDNnSUcp5ohrv#c|WJ zdeLOeK<^)sE8{KNb3)|D$C59uW^K>HypU(Uh(dpx)q^cY`EV*xY5_^uQo3wi(jHud z*z~e7FQUmy>0cmfNQPGp&ewVO?CGF zY4>@879UT?*){Dq+`Qw&=|}}jUR0B1bo)N@Ja72Sue`shpxJ3hhL+o42Y0nObTudK kv)zs*y~C^d1%sS~J3|=$rzrl~ua=EVVf@c6BxL=60YNVv`2YX_ literal 0 HcmV?d00001 diff --git a/tests/Resources/android/images/res-xxxhdpi/logo.webp b/tests/Resources/android/images/res-xxxhdpi/logo.webp new file mode 100644 index 0000000000000000000000000000000000000000..d8d50b95f0425cb4a6ed793bce9c0b86251e732a GIT binary patch literal 2240 zcmaJ@c|25WAO9J9SN3aXMz3t4MH!c59ZO72c2i!)Ol6yC46b^~sBGm{N+A-8WUVVZ z*^Q{tMGIF+LZyX@kry-fjNZ@3{p0pNpL3q)d%nN#_c_n+_ngl;$JNQ+zD^9l3ui;{ zB$#@y1Ar~ad3p74vb81Tp^!^J<%N=|;X+mbR9XbX)xiei?L)+fz6D`W21(EdbrLz8 zZcQM#@YVm^I8Q-<9~m^{&-KrmAF}Hy2gAt#0vJSLMW!<%5bTd&lc)$fA7>(1o*YP` zAh-;{1`K3@2p;0|0pIZlK0dsPSCf)wxVzdSxyd6u=J4Nez~3-AkU>Q>+YyZxg-S!_ zM|pq86h4mOV`^w5vbNR6&rsqZ&BF~DwUAQ{9KZ?iKmZH`KqLe~C`5oEGSUzx99)sO z%@6!4t9}CF3P4;zKt>#Pa0IA8TJ-~e4-gH~)@mDm$avc-B_Lq~AUw+BeccEkng+0v z%Hu8N^LQ)Q0R*1|w9?l6NAdtn=Mg@2jnm2nkctPW>0ILiG5~6m0F;L5BnD~qK7vS( zI&=u&OA)|&9{{;O0M_mQUN7-3|$C90_-j&oe{oBGC2y~&w?-uCk`c0zv`CN+5E>`>rk5C6I)lx|#E3dR71 z(Pf}IptrpHA~$2+TuLUNg?KNRMcwvwrsbMFT z8WSJ9h^}4g>s~r1=5S8S34bS7SLB1uxG2Y--NIWIn=EXLkJGnB!ih4H=M6aK!OQ%qbvd%Xv|cv`gFx&ztzv`EtBR;DOqzfxmbt)EHHi2b`W$NejRT+t<+LNpiP8*GsO;| zWBbk)#I!V$Xm)m5ST9y3@hy?)DIOH;Gr6PxczJWb%yENF``p?qiN(Rr?n%X^3OoHe zZ?WQ^Z0f!wH(U`E_(aj^SQwY}OAdMaqCshvxoh8eNM7*7o4}J*V)UKXOR*BFb_yN# z9utyRjY=3Vj8J2~>NoV3Eub%2j~TpceDgb=beyreJDZg6oIMqLjwRfM?%3~Tr_fHs zS)d)pao3|>N4UG3ioC8OJvPnDrooY0>vDv6Ptj4|hPZdzs{85Fx7o^L?_Zl-k=k_1 zvyC!&Y&c=?(}f}1qnEmC7}^;F8pV^7^d=Uw`FN(|kekL;{WCKpXD6AS1x=;aX5xm6 zbqb#pBKJSugDSTpihRS`h`Z{Y`dYlf+5cizsBR2K_AYuawg1T$iOIUW20EVFl8m=s zs1{j7Db(ZjDRh%x-bq9`2V0ADm=A1kwR}}_2c3WWVUqauCHva}AL$9Cw*?vf_WL|e z{#226VwP1pTNT*eoK&=jUKFoUFcwLhoBirl*XD@V{I(%b&V4{j*`id(QX;`ukz;5Y zqm@|Pxbk80?);#>R0?;TL&itdS< z>5w?{f+Z!0zXq0458lK*pKNHOrA;*~1G(z(Tq`6|M~(H`e}+WbK1B+0>D zQmxIY-*@Y~!z!A+_2oB{I>N$|ddkX}Hi|e*Lc%ZJ7qq% zJlC9LlwuxVTQLw4O_r~=*xiB09(btby-D`>1gi&sScqE&9a8d5_B4#I?K&7jYDm5x z>V0!=Rwictaa5d@YT@Q4wG_n*UzD%z{mJJ8PU&`F8j03`yPaE!-iCfw~x}Q zqp+m|=e5e>T*|Iy4lUYv7`J`=C z6kQEk?O{0$Uvcq+|CO;SHj9+x6k<`x7ar4#yj-_PLymxcI;6v{t@6n>*EKa2g#aTc zR8>o_OMRXDR&-XXRjU8xqtVx%aqCfjhReO1rT1xau)ckUtGB?{1YyZqHtHnvvJU<44Oq5zAN3bDhzP#+J)Dxf8vKrBh69=F7P^ ayP7tye17(VS?foeUSux#>OR-?2lxv+*=ZvH literal 0 HcmV?d00001 diff --git a/tests/Resources/android/snapshots/png@2.625x.png b/tests/Resources/android/snapshots/png@2.625x.png new file mode 100644 index 0000000000000000000000000000000000000000..15f2fb936561edf0e4f4e3dccd40a633bb546f41 GIT binary patch literal 893 zcmeAS@N?(olHy`uVBq!ia0vp^(?FPm4M^HB7Cr(}jKx9jP7LeL$-D$|Sc;uILpXq- zh9jkefq_}w)5S5QV$R#Udkb$n2(&$XZ^ISYcDmq^Pwb7I%C4&pPUI>`5`PdgGdh4# z&-tgNK^af;5k?^exw7xIN@6R(YBDL&>Q_VCoa| zHP0_THYjxM^!g-yZEn-is~xYh+Y8N#C9i#$ujLc7c7>N_zpUG>GpP|lb9N}Xsao=R zf07TsvO?u~qG#RXE}5w!3OXm_V=gY9)YPK-vs2qSBxu2gC6A9!Rn^jrh`3bvc-7W< zQ&hAx6Cy5sd~`}|s)&isON+wZMYHmZb3%e1Y*_NIFtyijZjs9-4H|Zk=05|I#V%qwn9J9FpjnFMi!AM6ZA4Ev49qOaBT5 zukM_Z==uAoYsmDayxzCu!~@TI%TD|9Ye&Z_-P(vtrynb=N^LQXkQNVI>l~r%4OCy% zVtTR5`_kTyEYU-|76@K%Ke@`qw0T3?nIoodA-pYD4UT*@`TXg8_PIyAiKbVg-k1LS zoX%I+bSzNtT94wY+sCx-`d_dxIw#MY%;(MTWHPxOJ)h>#P+#g+RAmn+Bv~rU1W5mR4+B6+AX!?b^Xgj ztG3o%I|tPBOFcAV>$Pal`D)$eou>q@$7ddrTC{7v&OK8t=NQjJyV63`s$(7=ekC~d zq)hmW4OMQbn~sT^t(m#v&A+zr&QmEp+9?t4U8hpIwPPZ<155V`XD{2~)LQyvh0nAd zhgzO0YE4#LCy-d#b;_mxbZvy(Vxx(Vi)5!gU*U6Q$DKA&MJ-`Nz3GXrU8i(no*t8( zp6L0@sPdha*5!`Vvg;Fj?cWFl&J+#bS@>|-cLr+<&tGBLZ*AG#_PpCzP|(7PH_0MN bI@r`Rypkwn)4cfI6(sEG>gTe~DWM4f^t*f? literal 0 HcmV?d00001 diff --git a/tests/Resources/android/snapshots/webp@2.625x.png b/tests/Resources/android/snapshots/webp@2.625x.png new file mode 100644 index 0000000000000000000000000000000000000000..15f2fb936561edf0e4f4e3dccd40a633bb546f41 GIT binary patch literal 893 zcmeAS@N?(olHy`uVBq!ia0vp^(?FPm4M^HB7Cr(}jKx9jP7LeL$-D$|Sc;uILpXq- zh9jkefq_}w)5S5QV$R#Udkb$n2(&$XZ^ISYcDmq^Pwb7I%C4&pPUI>`5`PdgGdh4# z&-tgNK^af;5k?^exw7xIN@6R(YBDL&>Q_VCoa| zHP0_THYjxM^!g-yZEn-is~xYh+Y8N#C9i#$ujLc7c7>N_zpUG>GpP|lb9N}Xsao=R zf07TsvO?u~qG#RXE}5w!3OXm_V=gY9)YPK-vs2qSBxu2gC6A9!Rn^jrh`3bvc-7W< zQ&hAx6Cy5sd~`}|s)&isON+wZMYHmZb3%e1Y*_NIFtyijZjs9-4H|Zk=05|I#V%qwn9J9FpjnFMi!AM6ZA4Ev49qOaBT5 zukM_Z==uAoYsmDayxzCu!~@TI%TD|9Ye&Z_-P(vtrynb=N^LQXkQNVI>l~r%4OCy% zVtTR5`_kTyEYU-|76@K%Ke@`qw0T3?nIoodA-pYD4UT*@`TXg8_PIyAiKbVg-k1LS zoX%I+bSzNtT94wY+sCx-`d_dxIw#MY%;(MTWHPxOJ)h>#P+#g+RAmn+Bv~rU1W5mR4+B6+AX!?b^Xgj ztG3o%I|tPBOFcAV>$Pal`D)$eou>q@$7ddrTC{7v&OK8t=NQjJyV63`s$(7=ekC~d zq)hmW4OMQbn~sT^t(m#v&A+zr&QmEp+9?t4U8hpIwPPZ<155V`XD{2~)LQyvh0nAd zhgzO0YE4#LCy-d#b;_mxbZvy(Vxx(Vi)5!gU*U6Q$DKA&MJ-`Nz3GXrU8i(no*t8( zp6L0@sPdha*5!`Vvg;Fj?cWFl&J+#bS@>|-cLr+<&tGBLZ*AG#_PpCzP|(7PH_0MN bI@r`Rypkwn)4cfI6(sEG>gTe~DWM4f^t*f? literal 0 HcmV?d00001 diff --git a/tests/Resources/android/snapshots/webp_res@2.625x.png b/tests/Resources/android/snapshots/webp_res@2.625x.png new file mode 100644 index 0000000000000000000000000000000000000000..49028b8fe75ec6fd8ac5be1134944d7a4f21402a GIT binary patch literal 2659 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 literal 0 HcmV?d00001 diff --git a/tests/Resources/ti.ui.imageview.test.js b/tests/Resources/ti.ui.imageview.test.js index b9f3e0faae8..f04532b8e07 100644 --- a/tests/Resources/ti.ui.imageview.test.js +++ b/tests/Resources/ti.ui.imageview.test.js @@ -8,6 +8,8 @@ /* eslint no-unused-expressions: "off" */ 'use strict'; const should = require('./utilities/assertions'); +const utilities = require('./utilities/utilities'); +const isAndroid = utilities.isAndroid(); describe('Titanium.UI.ImageView', function () { this.timeout(5000); @@ -168,13 +170,16 @@ describe('Titanium.UI.ImageView', function () { imageView.image = fromFile; }); - function doBlobTest(blob, finish) { + function doBlobTest(testName, blob, finish) { win = Ti.UI.createWindow(); const imageView = Ti.UI.createImageView({ image: blob }); imageView.addEventListener('postlayout', function listener(e) { try { imageView.removeEventListener(e.type, listener); should(imageView.size.width > 0).be.true(); + if (isAndroid) { + should(imageView).matchImage('snapshots/' + testName + '.png'); + } finish(); } catch (err) { finish(err); @@ -186,12 +191,16 @@ describe('Titanium.UI.ImageView', function () { it('with Ti.Blob PNG', function (finish) { const blob = Ti.Filesystem.getFile(Ti.Filesystem.resourcesDirectory, 'Logo.png').read(); - doBlobTest(blob, finish); + setTimeout(function () { + doBlobTest('png', blob, finish); + }, 100); }); it('with Ti.Blob WebP', function (finish) { const blob = Ti.Filesystem.getFile(Ti.Filesystem.resourcesDirectory, 'Logo.webp').read(); - doBlobTest(blob, finish); + setTimeout(function () { + doBlobTest('webp', blob, finish); + }, 100); }); it.windowsBroken('with redirected URL and autorotate set to true', function (finish) { @@ -280,6 +289,22 @@ describe('Titanium.UI.ImageView', function () { it('with imageTouchFeedbackColor', function (finish) { test({ image: 'Logo.png', imageTouchFeedback: true, imageTouchFeedbackColor: 'yellow' }, finish); }); + + it('with WebP res file', function (finish) { + win = Ti.UI.createWindow(); + const imageView = Ti.UI.createImageView({ image: '/images/logo.webp' }); + imageView.addEventListener('postlayout', function listener(e) { + try { + imageView.removeEventListener(e.type, listener); + should(imageView).matchImage('snapshots/webp_res.png'); + finish(); + } catch (err) { + finish(err); + } + }); + win.add(imageView); + win.open(); + }); }); // TODO: Combine all tests for 'images' property into one suite From 7b9a4e92b2e26cc6d8816c1f7fbfda06316997b6 Mon Sep 17 00:00:00 2001 From: Michael Gangolf Date: Sat, 15 Jun 2024 14:50:50 +0200 Subject: [PATCH 25/35] feat(android): videoPlayer speed property (#14006) * feat(android): videoPlayer speed property * docs --- .../java/ti/modules/titanium/media/TiUIVideoView.java | 9 +++++++++ apidoc/Titanium/Media/VideoPlayer.yml | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/android/modules/media/src/java/ti/modules/titanium/media/TiUIVideoView.java b/android/modules/media/src/java/ti/modules/titanium/media/TiUIVideoView.java index b3e1edaee54..2b7c6f91b7a 100644 --- a/android/modules/media/src/java/ti/modules/titanium/media/TiUIVideoView.java +++ b/android/modules/media/src/java/ti/modules/titanium/media/TiUIVideoView.java @@ -19,7 +19,9 @@ import android.media.MediaPlayer.OnCompletionListener; import android.media.MediaPlayer.OnErrorListener; import android.media.MediaPlayer.OnPreparedListener; +import android.media.PlaybackParams; import android.net.Uri; +import android.os.Build; import android.view.MotionEvent; import android.view.View; import android.view.View.OnTouchListener; @@ -330,6 +332,13 @@ public void release() @Override public void onPrepared(MediaPlayer mp) { + + if (proxy.hasPropertyAndNotNull(TiC.PROPERTY_SPEED) && Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + PlaybackParams myPlayBackParams = new PlaybackParams(); + myPlayBackParams.setSpeed(TiConvert.toFloat(proxy.getProperty(TiC.PROPERTY_SPEED))); + mp.setPlaybackParams(myPlayBackParams); + } + getPlayerProxy().onPlaybackReady(mp.getDuration()); } diff --git a/apidoc/Titanium/Media/VideoPlayer.yml b/apidoc/Titanium/Media/VideoPlayer.yml index 1dffa9c0787..d723797acb9 100644 --- a/apidoc/Titanium/Media/VideoPlayer.yml +++ b/apidoc/Titanium/Media/VideoPlayer.yml @@ -575,6 +575,15 @@ properties: platforms: [iphone, ipad, macos] type: MovieSize + - name: speed + summary: Playback speed of the video. + description: | + Playback speed of the video. Android: only available for API level >= 23. + type: Number + platforms: [android] + since: 12.4.0 + availability: creation + - name: overlayView summary: Use the overlay view to add additional custom views between the video content and the controls. description: | From 229ef10fcfba15ad3050af9266aca8f2c2012448 Mon Sep 17 00:00:00 2001 From: Michael Gangolf Date: Sat, 15 Jun 2024 14:51:09 +0200 Subject: [PATCH 26/35] feat(android): add moveToBackground method (#14009) --- .../java/ti/modules/titanium/ui/android/AndroidModule.java | 5 +++++ apidoc/Titanium/UI/Android/Android.yml | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/android/modules/ui/src/java/ti/modules/titanium/ui/android/AndroidModule.java b/android/modules/ui/src/java/ti/modules/titanium/ui/android/AndroidModule.java index e5905f249d4..b6d6db771df 100644 --- a/android/modules/ui/src/java/ti/modules/titanium/ui/android/AndroidModule.java +++ b/android/modules/ui/src/java/ti/modules/titanium/ui/android/AndroidModule.java @@ -337,6 +337,11 @@ public String harmonizedColor(String value) return String.format("#%06X", (0xFFFFFF & MaterialColors.harmonizeWithPrimary(TiApplication.getAppCurrentActivity(), color))); } + @Kroll.method + public void moveToBackground() + { + TiApplication.getAppRootOrCurrentActivity().moveTaskToBack(true); + } @Override public String getApiName() diff --git a/apidoc/Titanium/UI/Android/Android.yml b/apidoc/Titanium/UI/Android/Android.yml index da74d51c6f0..ef1be7069d2 100644 --- a/apidoc/Titanium/UI/Android/Android.yml +++ b/apidoc/Titanium/UI/Android/Android.yml @@ -29,6 +29,11 @@ methods: type: String since: { android: "12.0.0" } + - name: moveToBackground + summary: Moves the app to the background + platforms: [android] + since: { android: "12.4.0" } + - name: hideSoftKeyboard summary: | Hides the soft keyboard. From a852835f7612d9c0ab034872a0439461dddde488 Mon Sep 17 00:00:00 2001 From: Michael Gangolf Date: Sat, 15 Jun 2024 14:53:15 +0200 Subject: [PATCH 27/35] chore(android): ndk update (#13992) --- android/templates/module/generated/build.gradle | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/android/templates/module/generated/build.gradle b/android/templates/module/generated/build.gradle index 50de55cf776..83bb889a7ba 100644 --- a/android/templates/module/generated/build.gradle +++ b/android/templates/module/generated/build.gradle @@ -16,6 +16,7 @@ def tiModuleBindingsJsonPath = "${buildDir}/ti-generated/json/<%- moduleName %>. android { compileSdkVersion <%- compileSdkVersion %> + ndkVersion '22.1.7171670' defaultConfig { minSdkVersion 19 targetSdkVersion <%- compileSdkVersion %> @@ -59,7 +60,8 @@ android { arguments.addAll([ 'APP_STL:=c++_shared', "-j${Runtime.runtime.availableProcessors()}".toString(), - '--output-sync=none' + '--output-sync=none', + 'APP_LD=deprecated' ]) } } From 84ccadbdcbe9b800ebc08dbac8ae5eaeac36a7f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hans=20Kn=C3=B6chel?= Date: Sat, 15 Jun 2024 14:53:58 +0200 Subject: [PATCH 28/35] feat(ios): add iOS 17+ symbol effects (#13982) * feat: add symbol effects * chore: add version guards * chore: fine tune api props, add docs * fix: merge description in summary --- apidoc/Titanium/UI/ImageView.yml | 20 +++++++ iphone/Classes/TiSymbolEffectManager.h | 23 ++++++++ iphone/Classes/TiSymbolEffectManager.m | 59 +++++++++++++++++++ iphone/Classes/TiUIImageView.h | 1 + iphone/Classes/TiUIImageView.m | 22 +++++++ iphone/Classes/TiUIImageViewProxy.m | 8 +++ .../iphone/Titanium.xcodeproj/project.pbxproj | 8 ++- 7 files changed, 140 insertions(+), 1 deletion(-) create mode 100644 iphone/Classes/TiSymbolEffectManager.h create mode 100644 iphone/Classes/TiSymbolEffectManager.m diff --git a/apidoc/Titanium/UI/ImageView.yml b/apidoc/Titanium/UI/ImageView.yml index 462baa48608..f658608e7da 100644 --- a/apidoc/Titanium/UI/ImageView.yml +++ b/apidoc/Titanium/UI/ImageView.yml @@ -70,6 +70,26 @@ methods: platforms: [android, iphone, ipad, macos] returns: type: Titanium.Blob + + - name: addSymbolEffect + summary: Adds a symbol effect to the image view with specified options, animation, and callback. + platforms: [iphone, ipad, macos] + since: "12.4.0" + osver: { ios: { min: "17.0" } } + parameters: + - name: symbolEffect + summary: The symbol effect to add. One of `pulse`, `bounce`, `appear`, `disappear`, `variableColor` or `scale`. + type: String + - name: options + summary: The options for the symbol effect. One of `repeating`, `nonRepeating`, `repeatCount` or `speed`. + type: String + - name: animated + summary: A Boolean value that indicates whether to animate the addition of a `scale`, `appear`, or `disappear` effect. + type: Boolean + default: false + - name: callback + summary: A callback the system calls after the effect’s addition is complete. + type: Callback events: - name: change diff --git a/iphone/Classes/TiSymbolEffectManager.h b/iphone/Classes/TiSymbolEffectManager.h new file mode 100644 index 00000000000..a22d19f829f --- /dev/null +++ b/iphone/Classes/TiSymbolEffectManager.h @@ -0,0 +1,23 @@ +/** + * Titanium SDK + * Copyright TiDev, Inc. 04/07/2022-Present. All Rights Reserved. + * Licensed under the terms of the Apache Public License + * Please see the LICENSE included with this distribution for details. + */ + +#import + +NS_ASSUME_NONNULL_BEGIN + +API_AVAILABLE(ios(17)) +@interface TiSymbolEffectManager : NSObject + +- (instancetype)initWithConfiguration:(NSDictionary *)configuration; + +@property (nonatomic, strong) NSDictionary *configuration; +@property (nonatomic, strong) NSSymbolEffect *symbolEffect; +@property (nonatomic, strong) NSSymbolEffectOptions *symbolEffectOptions; + +@end + +NS_ASSUME_NONNULL_END diff --git a/iphone/Classes/TiSymbolEffectManager.m b/iphone/Classes/TiSymbolEffectManager.m new file mode 100644 index 00000000000..c898f18cd36 --- /dev/null +++ b/iphone/Classes/TiSymbolEffectManager.m @@ -0,0 +1,59 @@ +/** + * Titanium SDK + * Copyright TiDev, Inc. 04/07/2022-Present. All Rights Reserved. + * Licensed under the terms of the Apache Public License + * Please see the LICENSE included with this distribution for details. + */ + +#import "TiSymbolEffectManager.h" +#import + +@implementation TiSymbolEffectManager + +- (instancetype)initWithConfiguration:(NSDictionary *)configuration +{ + if (self = [self init]) { + self.configuration = configuration; + } + return self; +} + +- (NSSymbolEffect *)symbolEffect +{ + NSString *symbolEffectString = [self.configuration valueForKey:@"symbolEffect"]; + + if ([symbolEffectString isEqualToString:@"pulse"]) { + return NSSymbolPulseEffect.effect; + } else if ([symbolEffectString isEqualToString:@"bounce"]) { + return NSSymbolBounceEffect.effect; + } else if ([symbolEffectString isEqualToString:@"appear"]) { + return NSSymbolAppearEffect.effect; + } else if ([symbolEffectString isEqualToString:@"disappear"]) { + return NSSymbolDisappearEffect.effect; + } else if ([symbolEffectString isEqualToString:@"variableColor"]) { + return NSSymbolVariableColorEffect.effect; + } else if ([symbolEffectString isEqualToString:@"scale"]) { + return NSSymbolScaleEffect.effect; + } + + @throw [NSException exceptionWithName:@"io.tidev.titanium-sdk" reason:@"Invalid symbol effect provided" userInfo:nil]; +} + +- (NSSymbolEffectOptions *)symbolEffectOptions +{ + NSDictionary *symbolEffectOptions = [self.configuration valueForKey:@"options"]; + + if ([TiUtils boolValue:@"repeating" properties:symbolEffectOptions def:NO]) { + return [NSSymbolEffectOptions optionsWithRepeating]; + } else if ([TiUtils boolValue:@"nonRepeating" properties:symbolEffectOptions def:NO]) { + return [NSSymbolEffectOptions optionsWithNonRepeating]; + } else if ([TiUtils intValue:@"repeatCount" properties:symbolEffectOptions def:0] > 0) { + return [NSSymbolEffectOptions optionsWithRepeatCount:[TiUtils intValue:@"repeatCount" properties:symbolEffectOptions def:1]]; + } else if ([TiUtils doubleValue:@"speed" properties:symbolEffectOptions def:0] > 0) { + return [NSSymbolEffectOptions optionsWithSpeed:[TiUtils doubleValue:@"speed" properties:symbolEffectOptions def:1.0]]; + } + + return [NSSymbolEffectOptions options]; +} + +@end diff --git a/iphone/Classes/TiUIImageView.h b/iphone/Classes/TiUIImageView.h index 005232bce53..5c1aa2c4cf1 100644 --- a/iphone/Classes/TiUIImageView.h +++ b/iphone/Classes/TiUIImageView.h @@ -45,6 +45,7 @@ - (void)resume; - (void)setImage_:(id)arg; +- (void)addSymbolEffect:(NSDictionary *)args; @end diff --git a/iphone/Classes/TiUIImageView.m b/iphone/Classes/TiUIImageView.m index 2bf4bc7a453..7a60c454f6e 100644 --- a/iphone/Classes/TiUIImageView.m +++ b/iphone/Classes/TiUIImageView.m @@ -7,6 +7,7 @@ #ifdef USE_TI_UIIMAGEVIEW #import "TiUIImageView.h" +#import "TiSymbolEffectManager.h" #import "TiUIImageViewProxy.h" #import #import @@ -685,6 +686,27 @@ - (void)setTintColor_:(id)value [imageView setTintColor:value ? [[TiUtils colorValue:value] color] : nil]; } +- (void)addSymbolEffect:(NSDictionary *)args +{ + BOOL animated = [TiUtils boolValue:@"animated" properties:args def:NO]; + KrollCallback *callback = [args valueForKey:@"callback"]; + + if (@available(iOS 17.0, *)) { + TiSymbolEffectManager *symbolEffectManager = [[TiSymbolEffectManager alloc] initWithConfiguration:args]; + + [imageView addSymbolEffect:symbolEffectManager.symbolEffect + options:symbolEffectManager.symbolEffectOptions + animated:animated + completion:^(UISymbolEffectCompletionContext *_Nonnull context) { + if (callback != nil) { + [callback call:@[ @{@"finished" : @(context.isFinished)} ] thisObject:self.proxy]; + } + }]; + } else { + NSLog(@"[ERROR] The \"addSymbolEffect\" API is only available on iOS 17+"); + } +} + - (void)setImage_:(id)arg { id currentImage = [self.proxy valueForUndefinedKey:@"image"]; diff --git a/iphone/Classes/TiUIImageViewProxy.m b/iphone/Classes/TiUIImageViewProxy.m index 5a69e03ae0d..e8cbbbdd1b2 100644 --- a/iphone/Classes/TiUIImageViewProxy.m +++ b/iphone/Classes/TiUIImageViewProxy.m @@ -62,6 +62,14 @@ - (void)_configure [self replaceValue:NUMFLOAT(DEFAULT_IMAGEVIEW_INTERVAL) forKey:@"duration" notification:NO]; } +- (void)addSymbolEffect:(id)args +{ + ENSURE_SINGLE_ARG(args, NSDictionary); + + TiUIImageView *iv = (TiUIImageView *)[self view]; + [iv addSymbolEffect:args]; +} + - (void)start:(id)args { TiThreadPerformOnMainThread( diff --git a/iphone/iphone/Titanium.xcodeproj/project.pbxproj b/iphone/iphone/Titanium.xcodeproj/project.pbxproj index a00c3e2c5c4..5a110b83e4a 100644 --- a/iphone/iphone/Titanium.xcodeproj/project.pbxproj +++ b/iphone/iphone/Titanium.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 52; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ @@ -160,6 +160,7 @@ 3A0E54371BE811CD003EE654 /* TiUIiOSMenuPopupProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A0E54361BE811CD003EE654 /* TiUIiOSMenuPopupProxy.m */; }; 3A1E40511BEAC73D00943233 /* TiUIiOSMenuPopup.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A1E40501BEAC73D00943233 /* TiUIiOSMenuPopup.m */; }; 3A275F3E1BA881B300EC4912 /* TiUIActivityIndicatorStyleProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A275F3D1BA881B300EC4912 /* TiUIActivityIndicatorStyleProxy.m */; }; + 3A320F992B6EDC7600009E90 /* TiSymbolEffectManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A320F982B6EDC7600009E90 /* TiSymbolEffectManager.m */; }; 3A38F30424D6EBBD00CC6EFB /* TiUtils+Addons.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A38F30324D6EBBD00CC6EFB /* TiUtils+Addons.swift */; }; 3A3BBAF51D3E2F0F008450DF /* TiAppiOSUserNotificationCenterProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A3BBAF41D3E2F0F008450DF /* TiAppiOSUserNotificationCenterProxy.m */; }; 3A527EB327E0F77700A470D6 /* TiUITableViewScrollPositionProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A527EB227E0F77700A470D6 /* TiUITableViewScrollPositionProxy.m */; }; @@ -608,6 +609,8 @@ 3A1E40501BEAC73D00943233 /* TiUIiOSMenuPopup.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TiUIiOSMenuPopup.m; sourceTree = ""; }; 3A275F3C1BA881B300EC4912 /* TiUIActivityIndicatorStyleProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TiUIActivityIndicatorStyleProxy.h; sourceTree = ""; }; 3A275F3D1BA881B300EC4912 /* TiUIActivityIndicatorStyleProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TiUIActivityIndicatorStyleProxy.m; sourceTree = ""; }; + 3A320F972B6EDC7600009E90 /* TiSymbolEffectManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TiSymbolEffectManager.h; sourceTree = ""; }; + 3A320F982B6EDC7600009E90 /* TiSymbolEffectManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TiSymbolEffectManager.m; sourceTree = ""; }; 3A38F30324D6EBBD00CC6EFB /* TiUtils+Addons.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TiUtils+Addons.swift"; sourceTree = ""; }; 3A3BBAF31D3E2F0F008450DF /* TiAppiOSUserNotificationCenterProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TiAppiOSUserNotificationCenterProxy.h; sourceTree = ""; }; 3A3BBAF41D3E2F0F008450DF /* TiAppiOSUserNotificationCenterProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TiAppiOSUserNotificationCenterProxy.m; sourceTree = ""; }; @@ -1240,6 +1243,8 @@ 24C012881140D30B00A94CE2 /* TiUIMaskedImageProxy.m */, 24C0128D1140D31C00A94CE2 /* TiUIMaskedImage.h */, 24C0128E1140D31C00A94CE2 /* TiUIMaskedImage.m */, + 3A320F972B6EDC7600009E90 /* TiSymbolEffectManager.h */, + 3A320F982B6EDC7600009E90 /* TiSymbolEffectManager.m */, ); name = ImageView; sourceTree = ""; @@ -2152,6 +2157,7 @@ 3A275F3E1BA881B300EC4912 /* TiUIActivityIndicatorStyleProxy.m in Sources */, 24CA8B74111161FE0084E2DE /* TiUIWebViewProxy.m in Sources */, 3A1E40511BEAC73D00943233 /* TiUIiOSMenuPopup.m in Sources */, + 3A320F992B6EDC7600009E90 /* TiSymbolEffectManager.m in Sources */, 84A0100417FC8D3500D4BF94 /* TiGravityBehavior.m in Sources */, 24CA8B79111161FE0084E2DE /* TiUITextFieldProxy.m in Sources */, 3A38F30424D6EBBD00CC6EFB /* TiUtils+Addons.swift in Sources */, From 1f7508484839ec20626f6c189e94068fca042f08 Mon Sep 17 00:00:00 2001 From: Michael Gangolf Date: Sat, 15 Jun 2024 14:55:28 +0200 Subject: [PATCH 29/35] feat(android): expose contentOffset getter in TableView/ListView (#14058) --- .../ui/src/java/ti/modules/titanium/ui/TableViewProxy.java | 2 +- .../modules/titanium/ui/widget/listview/ListViewProxy.java | 2 +- apidoc/Titanium/UI/ListView.yml | 6 ++++++ apidoc/Titanium/UI/TableView.yml | 6 ++++++ 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/android/modules/ui/src/java/ti/modules/titanium/ui/TableViewProxy.java b/android/modules/ui/src/java/ti/modules/titanium/ui/TableViewProxy.java index b4478759dc8..65bc33c7acd 100644 --- a/android/modules/ui/src/java/ti/modules/titanium/ui/TableViewProxy.java +++ b/android/modules/ui/src/java/ti/modules/titanium/ui/TableViewProxy.java @@ -414,7 +414,7 @@ public String getApiName() return "Ti.UI.TableView"; } - // NOTE: For internal use only. + @Kroll.getProperty public KrollDict getContentOffset() { final TiTableView tableView = getTableView(); diff --git a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/listview/ListViewProxy.java b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/listview/ListViewProxy.java index db356d99f48..79b5769f8f8 100644 --- a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/listview/ListViewProxy.java +++ b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/listview/ListViewProxy.java @@ -450,7 +450,7 @@ public void setActivity(Activity activity) } } - // NOTE: For internal use only. + @Kroll.getProperty public KrollDict getContentOffset() { final TiListView listView = getListView(); diff --git a/apidoc/Titanium/UI/ListView.yml b/apidoc/Titanium/UI/ListView.yml index 4ad734202b0..5cbb58e0f68 100644 --- a/apidoc/Titanium/UI/ListView.yml +++ b/apidoc/Titanium/UI/ListView.yml @@ -684,6 +684,12 @@ properties: ipad: 3.2.0 platforms: [android, iphone, ipad, macos] + - name: contentOffset + summary: X and Y coordinates to which to reposition the top-left point of the content region. + type: Point + since: {android: "12.4.0"} + platforms: [android] + - name: disableBounce summary: Determines whether the scroll-bounce of the list view should be disabled. description: | diff --git a/apidoc/Titanium/UI/TableView.yml b/apidoc/Titanium/UI/TableView.yml index ccc7eba714c..24103d3a306 100644 --- a/apidoc/Titanium/UI/TableView.yml +++ b/apidoc/Titanium/UI/TableView.yml @@ -1073,6 +1073,12 @@ properties: type: [String, Titanium.UI.Color] default: transparent on non-iOS platforms, white on the iOS platform + - name: contentOffset + summary: X and Y coordinates to which to reposition the top-left point of the content region. + type: Point + since: {android: "12.4.0"} + platforms: [android] + - name: data summary: Rows of the table view. type: [Array, Array] From dc180b94f05aa810aa1f302958ee3f6b36ae69c4 Mon Sep 17 00:00:00 2001 From: Michael Gangolf Date: Sat, 15 Jun 2024 14:56:58 +0200 Subject: [PATCH 30/35] feat(android): update ti.playservice to 18.3.0 (#14049) --- support/module/packaged/modules.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/support/module/packaged/modules.json b/support/module/packaged/modules.json index 3f1f980a504..2d69caef138 100644 --- a/support/module/packaged/modules.json +++ b/support/module/packaged/modules.json @@ -43,8 +43,8 @@ "integrity": "sha512-OsLB3hr6sFqduoUbY2dotQ/Zk7u+eJW8ZKJLG+FzOf9WP/xlUe7S9kz2dMBnI50bnpULnXEYkbr2kb/rNu8lZw==" }, "ti.playservices": { - "url": "https://github.com/tidev/ti.playservices/releases/download/v18.2.0/ti.playservices-android-18.2.0.zip", - "integrity": "sha512-ifkAeWKqAFrNuKrlS8CnWEjDA4akCjPL1YpQ8VSN/pxik9vngJ4jjSHoqIhM5/WQR0CtBURKbqNWkbbWKu5unQ==" + "url": "https://github.com/tidev/ti.playservices/releases/download/v18.3.0/ti.playservices-android-18.3.0.zip", + "integrity": "sha512-Sg9tKSbleTZmEcQMoHX57bQOIKqDh+TzLjxASozqB/YJR1rbsXL3Ighdf5kQl4WvAIkjIvYlwoPLWWtY7HxjEw==" }, "ti.identity": { "url": "https://github.com/tidev/titanium-identity/releases/download/v3.1.0-android/ti.identity-android-3.1.0.zip", From 6926f0d9bfc177fe74e43fa1242adc8f30972cae Mon Sep 17 00:00:00 2001 From: Michael Gangolf Date: Sat, 15 Jun 2024 14:58:46 +0200 Subject: [PATCH 31/35] chore(android): remove some dead analytics code (#14022) --- .../titanium/test/TitaniumTestAppInfo.java | 5 --- android/cli/commands/_build.js | 39 ------------------- android/templates/build/AppInfo.java | 4 -- .../org/appcelerator/titanium/ITiAppInfo.java | 1 - .../appcelerator/titanium/TiApplication.java | 26 ------------- .../titanium/TiApplicationLifecycle.java | 12 ------ 6 files changed, 87 deletions(-) diff --git a/android/app/src/main/java/com/titanium/test/TitaniumTestAppInfo.java b/android/app/src/main/java/com/titanium/test/TitaniumTestAppInfo.java index 6d79409bd19..7da287d9665 100644 --- a/android/app/src/main/java/com/titanium/test/TitaniumTestAppInfo.java +++ b/android/app/src/main/java/com/titanium/test/TitaniumTestAppInfo.java @@ -60,11 +60,6 @@ public String getIcon() return "appicon.png"; } - public boolean isAnalyticsEnabled() - { - return true; - } - public String getGUID() { return "edf09efc-69ef-46fd-9777-35d6aaa2d7b5"; diff --git a/android/cli/commands/_build.js b/android/cli/commands/_build.js index e2b784efec0..ee4a6d17c9b 100644 --- a/android/cli/commands/_build.js +++ b/android/cli/commands/_build.js @@ -1541,9 +1541,6 @@ AndroidBuilder.prototype.run = async function run(logger, config, cli, finished) // Notify plugins that we're about to begin. await new Promise(resolve => cli.emit('build.pre.construct', this, resolve)); - // Post build analytics. - await this.doAnalytics(); - // Initialize build system. Checks if we need to do a clean or incremental build. await this.initialize(); await this.loginfo(); @@ -1602,35 +1599,6 @@ AndroidBuilder.prototype.run = async function run(logger, config, cli, finished) } }; -AndroidBuilder.prototype.doAnalytics = async function doAnalytics() { - const cli = this.cli; - let eventName = 'android.' + cli.argv.target; - - if (cli.argv.target === 'dist-playstore') { - eventName = 'android.distribute.playstore'; - } else if (this.allowDebugging && this.debugPort) { - eventName += '.debug'; - } else if (this.allowProfiling && this.profilerPort) { - eventName += '.profile'; - } else { - eventName += '.run'; - } - - cli.addAnalyticsEvent(eventName, { - name: cli.tiapp.name, - publisher: cli.tiapp.publisher, - url: cli.tiapp.url, - image: cli.tiapp.icon, - appid: cli.tiapp.id, - description: cli.tiapp.description, - type: cli.argv.type, - guid: cli.tiapp.guid, - version: cli.tiapp.version, - copyright: cli.tiapp.copyright, - date: (new Date()).toDateString() - }); -}; - AndroidBuilder.prototype.initialize = async function initialize() { const argv = this.cli.argv; @@ -1865,12 +1833,6 @@ AndroidBuilder.prototype.checkIfShouldForceRebuild = function checkIfShouldForce return true; } - if (!this.tiapp.analytics !== !manifest.analytics) { - this.logger.info(__('Forcing rebuild: tiapp.xml analytics flag changed since last build')); - this.logger.info(' ' + __('Was: %s', !!manifest.analytics)); - this.logger.info(' ' + __('Now: %s', !!this.tiapp.analytics)); - return true; - } if (this.tiapp.publisher !== manifest.publisher) { this.logger.info(__('Forcing rebuild: tiapp.xml publisher changed since last build')); this.logger.info(' ' + __('Was: %s', manifest.publisher)); @@ -3822,7 +3784,6 @@ AndroidBuilder.prototype.writeBuildManifest = async function writeBuildManifest( outputDir: this.cli.argv['output-dir'], name: this.tiapp.name, id: this.tiapp.id, - analytics: this.tiapp.analytics, publisher: this.tiapp.publisher, url: this.tiapp.url, version: this.tiapp.version, diff --git a/android/templates/build/AppInfo.java b/android/templates/build/AppInfo.java index 45ce3eb7c8c..5fa19fa689c 100644 --- a/android/templates/build/AppInfo.java +++ b/android/templates/build/AppInfo.java @@ -52,10 +52,6 @@ public String getIcon() { return "<%- tiapp.icon %>"; } - public boolean isAnalyticsEnabled() { - return <%- !!tiapp.analytics %>; - } - public String getGUID() { return "<%- tiapp.guid %>"; } diff --git a/android/titanium/src/java/org/appcelerator/titanium/ITiAppInfo.java b/android/titanium/src/java/org/appcelerator/titanium/ITiAppInfo.java index 929c4939cf5..a2dba973523 100644 --- a/android/titanium/src/java/org/appcelerator/titanium/ITiAppInfo.java +++ b/android/titanium/src/java/org/appcelerator/titanium/ITiAppInfo.java @@ -15,7 +15,6 @@ public interface ITiAppInfo { String getCopyright(); String getDescription(); String getIcon(); - boolean isAnalyticsEnabled(); String getGUID(); boolean isFullscreen(); String getDeployType(); diff --git a/android/titanium/src/java/org/appcelerator/titanium/TiApplication.java b/android/titanium/src/java/org/appcelerator/titanium/TiApplication.java index 37f9ec8eab0..eff4749d181 100644 --- a/android/titanium/src/java/org/appcelerator/titanium/TiApplication.java +++ b/android/titanium/src/java/org/appcelerator/titanium/TiApplication.java @@ -99,7 +99,6 @@ public abstract class TiApplication extends Application implements KrollApplicat protected ITiAppInfo appInfo; protected TiStylesheet stylesheet; protected HashMap> modules; - protected String[] filteredAnalyticsEvents; public static AtomicBoolean isActivityTransition = new AtomicBoolean(false); protected static ArrayList activityTransitionListeners = new ArrayList<>(); @@ -738,11 +737,6 @@ public KrollProxy unregisterProxy(String proxyId) return proxy; } - public boolean isAnalyticsEnabled() - { - return false; - } - /** * Determines if Titanium's JavaScript runtime should run on the main UI thread or not * based on the "tiapp.xml" property "run-on-main-thread". @@ -755,26 +749,6 @@ public boolean runOnMainThread() return true; } - public void setFilterAnalyticsEvents(String[] events) - { - filteredAnalyticsEvents = events; - } - - public boolean isAnalyticsFiltered(String eventName) - { - if (filteredAnalyticsEvents == null) { - return false; - } - - for (int i = 0; i < filteredAnalyticsEvents.length; ++i) { - String currentName = filteredAnalyticsEvents[i]; - if (eventName.equals(currentName)) { - return true; - } - } - return false; - } - @Override public String getDeployType() { diff --git a/android/titanium/src/java/org/appcelerator/titanium/TiApplicationLifecycle.java b/android/titanium/src/java/org/appcelerator/titanium/TiApplicationLifecycle.java index 1bbd3734789..13443d124d1 100644 --- a/android/titanium/src/java/org/appcelerator/titanium/TiApplicationLifecycle.java +++ b/android/titanium/src/java/org/appcelerator/titanium/TiApplicationLifecycle.java @@ -10,8 +10,6 @@ import android.app.Application; import android.os.Bundle; -import com.appcelerator.aps.APSAnalytics; - import org.appcelerator.kroll.KrollModule; public class TiApplicationLifecycle implements Application.ActivityLifecycleCallbacks @@ -50,11 +48,6 @@ public void onActivityStarted(Activity activity) } appModule.fireEvent(TiC.EVENT_RESUMED, null); } - - // Post analytics for this event, if enabled. - if (this.tiApp.isAnalyticsEnabled()) { - APSAnalytics.getInstance().sendAppForegroundEvent(); - } } // Increment number of "started" activities. These are activities that are currently in the foreground. @@ -76,11 +69,6 @@ public void onActivityStopped(Activity activity) appModule.fireEvent(TiC.EVENT_PAUSE, null); appModule.fireEvent(TiC.EVENT_PAUSED, null); } - - // Post analytics for this event, if enabled. - if (this.tiApp.isAnalyticsEnabled()) { - APSAnalytics.getInstance().sendAppBackgroundEvent(); - } } // Decrement count of started/visible activities. From 960d40cd153fc3ee9e0cad09e5171a7a65c62253 Mon Sep 17 00:00:00 2001 From: Michael Gangolf Date: Sat, 15 Jun 2024 14:59:29 +0200 Subject: [PATCH 32/35] feat(android): add source to webView fireEvent (#14023) * feat(android): add source to webView fireEvent * lint --- .../titanium/ui/widget/webview/TiWebViewBinding.java | 6 +++++- .../modules/titanium/ui/widget/webview/TiWebViewClient.java | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/webview/TiWebViewBinding.java b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/webview/TiWebViewBinding.java index f5985452a38..3b12250d2b0 100644 --- a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/webview/TiWebViewBinding.java +++ b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/webview/TiWebViewBinding.java @@ -22,6 +22,7 @@ import org.appcelerator.kroll.common.Log; import org.appcelerator.kroll.util.KrollAssetHelper; import org.appcelerator.titanium.TiApplication; +import org.appcelerator.titanium.proxy.TiViewProxy; import org.appcelerator.titanium.util.TiConvert; import org.json.JSONException; import org.json.JSONObject; @@ -88,12 +89,14 @@ public class TiWebViewBinding private AppBinding appBinding; private TiReturn tiReturn; private WebView webView; + private TiViewProxy proxy; private boolean interfacesAdded = false; - public TiWebViewBinding(WebView webView) + public TiWebViewBinding(WebView webView, TiViewProxy proxy) { codeSnippets = new Stack(); this.webView = webView; + this.proxy = proxy; apiBinding = new ApiBinding(); appBinding = new AppBinding(); tiReturn = new TiReturn(); @@ -238,6 +241,7 @@ public void fireEvent(String event, String json) if (json != null && !json.equals("undefined")) { dict = new KrollDict(new JSONObject(json)); } + dict.put("source", proxy); module.fireEvent(event, dict); } catch (JSONException e) { Log.e(TAG, "Error parsing event JSON", e); diff --git a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/webview/TiWebViewClient.java b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/webview/TiWebViewClient.java index 47539ad94b9..3d455af0654 100644 --- a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/webview/TiWebViewClient.java +++ b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/webview/TiWebViewClient.java @@ -45,7 +45,7 @@ public TiWebViewClient(TiUIWebView tiWebView, WebView webView) { super(); this.webView = tiWebView; - binding = new TiWebViewBinding(webView); + binding = new TiWebViewBinding(webView, tiWebView.getProxy()); } @Override From afb253e697442cb6bafdb430a9d8d3539235d58e Mon Sep 17 00:00:00 2001 From: Michael Gangolf Date: Sat, 15 Jun 2024 15:00:04 +0200 Subject: [PATCH 33/35] feat(android): textAlignment for DatePicker (#14012) * feat(android): textAlignment for DatePicker * docs --- .../titanium/ui/widget/picker/TiUIDatePicker.java | 10 ++++++++++ apidoc/Titanium/UI/Picker.yml | 9 +++++++++ 2 files changed, 19 insertions(+) diff --git a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/picker/TiUIDatePicker.java b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/picker/TiUIDatePicker.java index ee3fb90a86f..1f0c29e857c 100644 --- a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/picker/TiUIDatePicker.java +++ b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/picker/TiUIDatePicker.java @@ -7,6 +7,7 @@ package ti.modules.titanium.ui.widget.picker; import android.os.Build; +import android.view.Gravity; import android.view.View; import android.widget.DatePicker; import android.widget.DatePicker.OnDateChangedListener; @@ -100,6 +101,15 @@ public TiUIDatePicker(@NonNull PickerProxy proxy) }; textInputLayout.getEditText().setOnClickListener(clickListener); textInputLayout.setEndIconOnClickListener(clickListener); + + if (proxy.hasPropertyAndNotNull(TiC.PROPERTY_TEXT_ALIGN)) { + String textAlign = TiConvert.toString(proxy.getProperty(TiC.PROPERTY_TEXT_ALIGN)); + if (textAlign.equals("center")) { + textInputLayout.getEditText().setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER); + } else if (textAlign.equals("right")) { + textInputLayout.getEditText().setGravity(Gravity.CENTER_VERTICAL | Gravity.END); + } + } view = textInputLayout; } } diff --git a/apidoc/Titanium/UI/Picker.yml b/apidoc/Titanium/UI/Picker.yml index 84235b4a4eb..6e808fb2c6f 100644 --- a/apidoc/Titanium/UI/Picker.yml +++ b/apidoc/Titanium/UI/Picker.yml @@ -409,6 +409,15 @@ properties: platforms: [android] since: "5.0.0" + - name: textAlign + summary: | + Horizontal text alignment of the date picker when using . + type: [String, Number] + constants: Titanium.UI.TEXT_ALIGNMENT_* + default: , + platforms: [android] + since: "12.4.0" + - name: datePickerStyle summary: Determines how a date or time picker should appear. description: | From 29964cf5a6830948b802810a41e42230c3b1e820 Mon Sep 17 00:00:00 2001 From: Michael Gangolf Date: Sat, 15 Jun 2024 16:18:42 +0200 Subject: [PATCH 34/35] feat(android): new event for empty TextFields (#13975) * feat(android): new event for empty TextFields * docs and length check * rename and check for listener --- .../ti/modules/titanium/ui/widget/TiUIText.java | 16 ++++++++++++++++ apidoc/Titanium/UI/TextField.yml | 9 +++++++++ 2 files changed, 25 insertions(+) diff --git a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiUIText.java b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiUIText.java index b5cc0adbc88..0af9c82ac5d 100644 --- a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiUIText.java +++ b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiUIText.java @@ -135,6 +135,22 @@ public void onLayoutChange( this.tv.setOnEditorActionListener(this); this.tv.setOnFocusChangeListener(this); this.tv.setIncludeFontPadding(true); + if (proxy.hasListeners("empty")) { + this.tv.setOnKeyListener(new View.OnKeyListener() + { + @Override + public boolean onKey(View v, int keyCode, KeyEvent event) + { + if (tv.getText().length() == 0) { + KrollDict data = new KrollDict(); + data.put("keyCode", keyCode); + fireEvent("empty", data); + } + return false; + } + }); + } + if (field) { this.tv.setGravity(Gravity.CENTER_VERTICAL | Gravity.START); } else { diff --git a/apidoc/Titanium/UI/TextField.yml b/apidoc/Titanium/UI/TextField.yml index 20661b799e8..f107ba0a6a4 100644 --- a/apidoc/Titanium/UI/TextField.yml +++ b/apidoc/Titanium/UI/TextField.yml @@ -610,6 +610,15 @@ events: summary: New value of the field. type: String + - name: empty + summary: Fired when the field is empty and you press backspace key again. + since: {android: "12.4.0"} + platforms: [android] + properties: + - name: keyCode + summary: Key code of the key. + type: Number + - name: focus summary: Fired when the field gains focus. properties: From 7b82317907a492b57c52059d8a648ad0e07fb834 Mon Sep 17 00:00:00 2001 From: Michael Gangolf Date: Thu, 20 Jun 2024 17:01:08 +0200 Subject: [PATCH 35/35] chore: ioslib update (#14069) --- package-lock.json | 87 +++++++++++++++++++++++++---------------------- package.json | 2 +- 2 files changed, 47 insertions(+), 42 deletions(-) diff --git a/package-lock.json b/package-lock.json index d3a2244ab9d..4b577831625 100644 --- a/package-lock.json +++ b/package-lock.json @@ -25,7 +25,7 @@ "ejs": "3.1.9", "fields": "0.1.24", "fs-extra": "11.2.0", - "ioslib": "1.7.35", + "ioslib": "1.7.36", "liveview": "1.5.6", "lodash.merge": "4.6.2", "markdown": "0.5.0", @@ -2282,9 +2282,9 @@ } }, "node_modules/@mapbox/node-pre-gyp": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.10.tgz", - "integrity": "sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", + "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", "dependencies": { "detect-libc": "^2.0.0", "https-proxy-agent": "^5.0.0", @@ -2304,6 +2304,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "deprecated": "This package is no longer supported.", "dependencies": { "delegates": "^1.0.0", "readable-stream": "^3.6.0" @@ -2316,6 +2317,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "deprecated": "This package is no longer supported.", "dependencies": { "aproba": "^1.0.3 || ^2.0.0", "color-support": "^1.1.2", @@ -2349,6 +2351,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", + "deprecated": "This package is no longer supported.", "dependencies": { "are-we-there-yet": "^2.0.0", "console-control-strings": "^1.1.0", @@ -6487,9 +6490,9 @@ } }, "node_modules/detect-libc": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", - "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", "engines": { "node": ">=8" } @@ -8810,9 +8813,9 @@ } }, "node_modules/ioslib": { - "version": "1.7.35", - "resolved": "https://registry.npmjs.org/ioslib/-/ioslib-1.7.35.tgz", - "integrity": "sha512-vay0+j92jZy1GSgiDiPVN5eIiYtCf+cIHaXxDuRmsPHa0jS4U99whhpISuQ0WQIpmkFPjsg7KRAiCK4kGSN6NQ==", + "version": "1.7.36", + "resolved": "https://registry.npmjs.org/ioslib/-/ioslib-1.7.36.tgz", + "integrity": "sha512-LxmVa7TrKPXOE2IWxlNyNASTonSLjizxfG1dO8wZwGWowng+9/YBeIbPcQxaFgT8GMGeSMkkK1Npi2XUl7iiVQ==", "dependencies": { "always-tail": "0.2.0", "async": "^3.2.4", @@ -8820,7 +8823,7 @@ "debug": "^4.3.4", "mkdirp": "0.5.1", "node-appc": "1.1.6", - "node-ios-device": "1.11.0" + "node-ios-device": "1.12.0" }, "engines": { "node": ">=10.13" @@ -11424,9 +11427,9 @@ "dev": true }, "node_modules/nan": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", - "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==" + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.20.0.tgz", + "integrity": "sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw==" }, "node_modules/nanoid": { "version": "3.3.1", @@ -11691,14 +11694,14 @@ } }, "node_modules/node-ios-device": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/node-ios-device/-/node-ios-device-1.11.0.tgz", - "integrity": "sha512-MUctq/+qq67v8Bd08XnHzOoK/YFJAVj8e35i9tLxqCh8C8MwcSIR27f0wQlYrUQ4UfnGdb8Dtx2DuNnMrpGSMw==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/node-ios-device/-/node-ios-device-1.12.0.tgz", + "integrity": "sha512-ewGLYmcW1LbsTqs5UYmlLcm/52GCmGcuFTysWBqWnHPp88PfOh7uVm4zonb9r4MR/Nublt0vt0mNDIum0R71pw==", "hasInstallScript": true, "dependencies": { "@mapbox/node-pre-gyp": "^1.0.10", "debug": "^4.3.4", - "nan": "^2.17.0", + "nan": "^2.20.0", "node-pre-gyp-init": "^1.2.1", "patch-package": "^6.5.1" }, @@ -12963,6 +12966,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -12998,6 +13002,7 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dependencies": { "glob": "^7.1.3" }, @@ -13006,9 +13011,9 @@ } }, "node_modules/patch-package/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "bin": { "semver": "bin/semver" } @@ -17784,9 +17789,9 @@ } }, "@mapbox/node-pre-gyp": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.10.tgz", - "integrity": "sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", + "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", "requires": { "detect-libc": "^2.0.0", "https-proxy-agent": "^5.0.0", @@ -20951,9 +20956,9 @@ "dev": true }, "detect-libc": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", - "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==" }, "diff": { "version": "5.0.0", @@ -22685,9 +22690,9 @@ } }, "ioslib": { - "version": "1.7.35", - "resolved": "https://registry.npmjs.org/ioslib/-/ioslib-1.7.35.tgz", - "integrity": "sha512-vay0+j92jZy1GSgiDiPVN5eIiYtCf+cIHaXxDuRmsPHa0jS4U99whhpISuQ0WQIpmkFPjsg7KRAiCK4kGSN6NQ==", + "version": "1.7.36", + "resolved": "https://registry.npmjs.org/ioslib/-/ioslib-1.7.36.tgz", + "integrity": "sha512-LxmVa7TrKPXOE2IWxlNyNASTonSLjizxfG1dO8wZwGWowng+9/YBeIbPcQxaFgT8GMGeSMkkK1Npi2XUl7iiVQ==", "requires": { "always-tail": "0.2.0", "async": "^3.2.4", @@ -22695,7 +22700,7 @@ "debug": "^4.3.4", "mkdirp": "0.5.1", "node-appc": "1.1.6", - "node-ios-device": "1.11.0" + "node-ios-device": "1.12.0" }, "dependencies": { "@xmldom/xmldom": { @@ -24665,9 +24670,9 @@ "dev": true }, "nan": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", - "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==" + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.20.0.tgz", + "integrity": "sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw==" }, "nanoid": { "version": "3.3.1", @@ -24847,13 +24852,13 @@ } }, "node-ios-device": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/node-ios-device/-/node-ios-device-1.11.0.tgz", - "integrity": "sha512-MUctq/+qq67v8Bd08XnHzOoK/YFJAVj8e35i9tLxqCh8C8MwcSIR27f0wQlYrUQ4UfnGdb8Dtx2DuNnMrpGSMw==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/node-ios-device/-/node-ios-device-1.12.0.tgz", + "integrity": "sha512-ewGLYmcW1LbsTqs5UYmlLcm/52GCmGcuFTysWBqWnHPp88PfOh7uVm4zonb9r4MR/Nublt0vt0mNDIum0R71pw==", "requires": { "@mapbox/node-pre-gyp": "^1.0.10", "debug": "^4.3.4", - "nan": "^2.17.0", + "nan": "^2.20.0", "node-pre-gyp-init": "^1.2.1", "patch-package": "^6.5.1" } @@ -25832,9 +25837,9 @@ } }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" }, "shebang-command": { "version": "1.2.0", diff --git a/package.json b/package.json index 0585e53a6a8..87fb7f8cfd5 100644 --- a/package.json +++ b/package.json @@ -100,7 +100,7 @@ "ejs": "3.1.9", "fields": "0.1.24", "fs-extra": "11.2.0", - "ioslib": "1.7.35", + "ioslib": "1.7.36", "liveview": "1.5.6", "lodash.merge": "4.6.2", "markdown": "0.5.0",