diff --git a/packages/ai-tools/src/types_kbot.ts b/packages/ai-tools/src/types_kbot.ts index 66d14760..9223e34b 100644 --- a/packages/ai-tools/src/types_kbot.ts +++ b/packages/ai-tools/src/types_kbot.ts @@ -55,6 +55,7 @@ export interface IKBotOptions { anthropic/claude-opus-4 | paid anthropic/claude-opus-4.1 | paid anthropic/claude-sonnet-4 | paid + arcee-ai/afm-4.5b | paid arcee-ai/coder-large | paid arcee-ai/maestro-reasoning | paid arcee-ai/spotlight | paid @@ -96,9 +97,7 @@ export interface IKBotOptions { deepseek/deepseek-r1-distill-llama-70b:free | free deepseek/deepseek-r1-distill-llama-8b | paid deepseek/deepseek-r1-distill-qwen-14b | paid - deepseek/deepseek-r1-distill-qwen-14b:free | free deepseek/deepseek-r1-distill-qwen-32b | paid - cognitivecomputations/dolphin-mixtral-8x22b | paid cognitivecomputations/dolphin3.0-mistral-24b | paid cognitivecomputations/dolphin3.0-mistral-24b:free | free cognitivecomputations/dolphin3.0-r1-mistral-24b | paid @@ -170,7 +169,6 @@ export interface IKBotOptions { microsoft/phi-3-medium-128k-instruct | paid microsoft/phi-3-mini-128k-instruct | paid microsoft/phi-3.5-mini-128k-instruct | paid - sophosympatheia/midnight-rose-70b | paid minimax/minimax-m1 | paid minimax/minimax-01 | paid mistralai/mistral-large | paid @@ -230,7 +228,6 @@ export interface IKBotOptions { nousresearch/hermes-2-pro-llama-3-8b | paid nvidia/llama-3.1-nemotron-70b-instruct | paid nvidia/llama-3.1-nemotron-ultra-253b-v1 | paid - nvidia/llama-3.1-nemotron-ultra-253b-v1:free | free nvidia/nemotron-nano-9b-v2 | paid nvidia/nemotron-nano-9b-v2:free | free openai/chatgpt-4o-latest | paid @@ -275,6 +272,7 @@ export interface IKBotOptions { openai/o3-pro | paid openai/o4-mini | paid openai/o4-mini-high | paid + opengvlab/internvl3-78b | paid perplexity/r1-1776 | paid perplexity/sonar | paid perplexity/sonar-deep-research | paid @@ -310,6 +308,8 @@ export interface IKBotOptions { qwen/qwen3-coder-30b-a3b-instruct | paid qwen/qwen3-coder | paid qwen/qwen3-coder:free | free + qwen/qwen3-coder-flash | paid + qwen/qwen3-coder-plus | paid qwen/qwen3-max | paid qwen/qwen3-next-80b-a3b-instruct | paid qwen/qwen3-next-80b-a3b-thinking | paid @@ -321,7 +321,6 @@ export interface IKBotOptions { qwen/qwen-2.5-7b-instruct | paid qwen/qwen-2.5-coder-32b-instruct | paid qwen/qwen-2.5-coder-32b-instruct:free | free - rekaai/reka-flash-3:free | free undi95/remm-slerp-l2-13b | paid sao10k/l3-lunaris-8b | paid sao10k/l3-euryale-70b | paid @@ -329,8 +328,6 @@ export interface IKBotOptions { sao10k/l3.3-euryale-70b | paid shisa-ai/shisa-v2-llama3.3-70b | paid shisa-ai/shisa-v2-llama3.3-70b:free | free - openrouter/sonoma-dusk-alpha | paid - openrouter/sonoma-sky-alpha | paid raifle/sorcererlm-8x22b | paid stepfun-ai/step3 | paid switchpoint/router | paid @@ -341,21 +338,20 @@ export interface IKBotOptions { thedrummer/rocinante-12b | paid thedrummer/skyfall-36b-v2 | paid thedrummer/unslopnemo-12b | paid - thudm/glm-4-32b | paid thudm/glm-4.1v-9b-thinking | paid thudm/glm-z1-32b | paid tngtech/deepseek-r1t-chimera | paid tngtech/deepseek-r1t-chimera:free | free tngtech/deepseek-r1t2-chimera:free | free + alibaba/tongyi-deepresearch-30b-a3b | paid cognitivecomputations/dolphin-mistral-24b-venice-edition:free | free microsoft/wizardlm-2-8x22b | paid - x-ai/grok-2-1212 | paid - x-ai/grok-2-vision-1212 | paid x-ai/grok-3 | paid x-ai/grok-3-beta | paid x-ai/grok-3-mini | paid x-ai/grok-3-mini-beta | paid x-ai/grok-4 | paid + x-ai/grok-4-fast:free | free x-ai/grok-code-fast-1 | paid z-ai/glm-4-32b | paid z-ai/glm-4.5 | paid diff --git a/packages/kbot/gre.sh b/packages/kbot/gre.sh new file mode 100644 index 00000000..2d6e74a6 --- /dev/null +++ b/packages/kbot/gre.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +# Script to update git remote domain to git.polymech.info +# This script updates the origin remote URL from git.polymech.io to git.polymech.info + +echo "Updating git remote domain to git.polymech.info..." + +# Get current remote URL +current_url=$(git remote get-url origin) +echo "Current remote URL: $current_url" + +# Replace git.polymech.io with git.polymech.info +new_url=$(echo "$current_url" | sed 's/git\.polymech\.io/git.polymech.info/g') +echo "New remote URL: $new_url" + +# Update the remote URL +git remote set-url origin "$new_url" + +# Verify the change +updated_url=$(git remote get-url origin) +echo "Updated remote URL: $updated_url" + +# Test connectivity +echo "Testing connectivity to new remote..." +if git ls-remote origin > /dev/null 2>&1; then + echo "✅ Successfully connected to new remote!" +else + echo "❌ Warning: Could not connect to new remote. Please check the URL and your network connection." +fi + +echo "Git remote update completed!" \ No newline at end of file diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/.editorconfig b/packages/kbot/gui/tauri-app/src-tauri/gen/android/.editorconfig deleted file mode 100644 index b1a4b7c2..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/android/.editorconfig +++ /dev/null @@ -1,12 +0,0 @@ -# EditorConfig is awesome: https://EditorConfig.org - -# top-most EditorConfig file -root = true - -[*] -indent_style = space -indent_size = 2 -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = false -insert_final_newline = false \ No newline at end of file diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/.gitignore b/packages/kbot/gui/tauri-app/src-tauri/gen/android/.gitignore deleted file mode 100644 index 3971e690..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/android/.gitignore +++ /dev/null @@ -1,19 +0,0 @@ -*.iml -.gradle -/local.properties -/.idea/caches -/.idea/libraries -/.idea/modules.xml -/.idea/workspace.xml -/.idea/navEditor.xml -/.idea/assetWizardSettings.xml -.DS_Store -build -/captures -.externalNativeBuild -.cxx -local.properties -key.properties - -/.tauri -/tauri.settings.gradle \ No newline at end of file diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/.gitignore b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/.gitignore deleted file mode 100644 index 9225854a..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -/src/main/java/com/zx/tauri_app/generated -/src/main/jniLibs/**/*.so -/src/main/assets/tauri.conf.json -/tauri.build.gradle.kts -/proguard-tauri.pro -/tauri.properties \ No newline at end of file diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/build.gradle.kts b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/build.gradle.kts deleted file mode 100644 index 6c73772c..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/build.gradle.kts +++ /dev/null @@ -1,70 +0,0 @@ -import java.util.Properties - -plugins { - id("com.android.application") - id("org.jetbrains.kotlin.android") - id("rust") -} - -val tauriProperties = Properties().apply { - val propFile = file("tauri.properties") - if (propFile.exists()) { - propFile.inputStream().use { load(it) } - } -} - -android { - compileSdk = 36 - namespace = "com.zx.tauri_app" - defaultConfig { - manifestPlaceholders["usesCleartextTraffic"] = "false" - applicationId = "com.zx.tauri_app" - minSdk = 24 - targetSdk = 36 - versionCode = tauriProperties.getProperty("tauri.android.versionCode", "1").toInt() - versionName = tauriProperties.getProperty("tauri.android.versionName", "1.0") - } - buildTypes { - getByName("debug") { - manifestPlaceholders["usesCleartextTraffic"] = "true" - isDebuggable = true - isJniDebuggable = true - isMinifyEnabled = false - packaging { jniLibs.keepDebugSymbols.add("*/arm64-v8a/*.so") - jniLibs.keepDebugSymbols.add("*/armeabi-v7a/*.so") - jniLibs.keepDebugSymbols.add("*/x86/*.so") - jniLibs.keepDebugSymbols.add("*/x86_64/*.so") - } - } - getByName("release") { - isMinifyEnabled = true - proguardFiles( - *fileTree(".") { include("**/*.pro") } - .plus(getDefaultProguardFile("proguard-android-optimize.txt")) - .toList().toTypedArray() - ) - } - } - kotlinOptions { - jvmTarget = "1.8" - } - buildFeatures { - buildConfig = true - } -} - -rust { - rootDirRel = "../../../" -} - -dependencies { - implementation("androidx.webkit:webkit:1.14.0") - implementation("androidx.appcompat:appcompat:1.7.1") - implementation("androidx.activity:activity-ktx:1.10.1") - implementation("com.google.android.material:material:1.12.0") - testImplementation("junit:junit:4.13.2") - androidTestImplementation("androidx.test.ext:junit:1.1.4") - androidTestImplementation("androidx.test.espresso:espresso-core:3.5.0") -} - -apply(from = "tauri.build.gradle.kts") \ No newline at end of file diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/proguard-rules.pro b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/proguard-rules.pro deleted file mode 100644 index 64b4a059..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/proguard-rules.pro +++ /dev/null @@ -1,21 +0,0 @@ -# Add project specific ProGuard rules here. -# You can control the set of applied configuration files using the -# proguardFiles setting in build.gradle. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} - -# Uncomment this to preserve the line number information for -# debugging stack traces. -#-keepattributes SourceFile,LineNumberTable - -# If you keep the line number information, uncomment this to -# hide the original source file name. -#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/AndroidManifest.xml b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/AndroidManifest.xml deleted file mode 100644 index 9e84891a..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/AndroidManifest.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/java/com/zx/tauri_app/MainActivity.kt b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/java/com/zx/tauri_app/MainActivity.kt deleted file mode 100644 index 1870c043..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/java/com/zx/tauri_app/MainActivity.kt +++ /dev/null @@ -1,11 +0,0 @@ -package com.zx.tauri_app - -import android.os.Bundle -import androidx.activity.enableEdgeToEdge - -class MainActivity : TauriActivity() { - override fun onCreate(savedInstanceState: Bundle?) { - enableEdgeToEdge() - super.onCreate(savedInstanceState) - } -} diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/java/com/zx/tauri_app/generated/Ipc.kt b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/java/com/zx/tauri_app/generated/Ipc.kt deleted file mode 100644 index 9c1ae5e4..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/java/com/zx/tauri_app/generated/Ipc.kt +++ /dev/null @@ -1,33 +0,0 @@ -/* THIS FILE IS AUTO-GENERATED. DO NOT MODIFY!! */ - -// Copyright 2020-2023 Tauri Programme within The Commons Conservancy -// SPDX-License-Identifier: Apache-2.0 -// SPDX-License-Identifier: MIT - -@file:Suppress("unused") - -package com.zx.tauri_app - -import android.webkit.* - -class Ipc(val webViewClient: RustWebViewClient) { - @JavascriptInterface - fun postMessage(message: String?) { - message?.let {m -> - // we're not using WebView::getUrl() here because it needs to be executed on the main thread - // and it would slow down the Ipc - // so instead we track the current URL on the webview client - this.ipc(webViewClient.currentUrl, m) - } - } - - companion object { - init { - System.loadLibrary("tauri_app_lib") - } - } - - private external fun ipc(url: String, message: String) - - -} diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/java/com/zx/tauri_app/generated/Logger.kt b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/java/com/zx/tauri_app/generated/Logger.kt deleted file mode 100644 index 689a59be..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/java/com/zx/tauri_app/generated/Logger.kt +++ /dev/null @@ -1,89 +0,0 @@ -/* THIS FILE IS AUTO-GENERATED. DO NOT MODIFY!! */ - -// Copyright 2020-2023 Tauri Programme within The Commons Conservancy -// SPDX-License-Identifier: Apache-2.0 -// SPDX-License-Identifier: MIT - -@file:Suppress("unused", "MemberVisibilityCanBePrivate") - -package com.zx.tauri_app - -// taken from https://github.com/ionic-team/capacitor/blob/6658bca41e78239347e458175b14ca8bd5c1d6e8/android/capacitor/src/main/java/com/getcapacitor/Logger.java - -import android.text.TextUtils -import android.util.Log - -class Logger { - companion object { - private const val LOG_TAG_CORE = "Tauri" - - fun tags(vararg subtags: String): String { - return if (subtags.isNotEmpty()) { - LOG_TAG_CORE + "/" + TextUtils.join("/", subtags) - } else LOG_TAG_CORE - } - - fun verbose(message: String) { - verbose(LOG_TAG_CORE, message) - } - - private fun verbose(tag: String, message: String) { - if (!shouldLog()) { - return - } - Log.v(tag, message) - } - - fun debug(message: String) { - debug(LOG_TAG_CORE, message) - } - - fun debug(tag: String, message: String) { - if (!shouldLog()) { - return - } - Log.d(tag, message) - } - - fun info(message: String) { - info(LOG_TAG_CORE, message) - } - - fun info(tag: String, message: String) { - if (!shouldLog()) { - return - } - Log.i(tag, message) - } - - fun warn(message: String) { - warn(LOG_TAG_CORE, message) - } - - fun warn(tag: String, message: String) { - if (!shouldLog()) { - return - } - Log.w(tag, message) - } - - fun error(message: String) { - error(LOG_TAG_CORE, message, null) - } - - fun error(message: String, e: Throwable?) { - error(LOG_TAG_CORE, message, e) - } - - fun error(tag: String, message: String, e: Throwable?) { - if (!shouldLog()) { - return - } - Log.e(tag, message, e) - } - - private fun shouldLog(): Boolean { - return BuildConfig.DEBUG - } - } -} diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/java/com/zx/tauri_app/generated/PermissionHelper.kt b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/java/com/zx/tauri_app/generated/PermissionHelper.kt deleted file mode 100644 index f7f32323..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/java/com/zx/tauri_app/generated/PermissionHelper.kt +++ /dev/null @@ -1,117 +0,0 @@ -/* THIS FILE IS AUTO-GENERATED. DO NOT MODIFY!! */ - -// Copyright 2020-2023 Tauri Programme within The Commons Conservancy -// SPDX-License-Identifier: Apache-2.0 -// SPDX-License-Identifier: MIT - -package com.zx.tauri_app - -// taken from https://github.com/ionic-team/capacitor/blob/6658bca41e78239347e458175b14ca8bd5c1d6e8/android/capacitor/src/main/java/com/getcapacitor/PermissionHelper.java - -import android.content.Context -import android.content.pm.PackageManager -import android.os.Build -import androidx.core.app.ActivityCompat -import java.util.ArrayList - -object PermissionHelper { - /** - * Checks if a list of given permissions are all granted by the user - * - * @param permissions Permissions to check. - * @return True if all permissions are granted, false if at least one is not. - */ - fun hasPermissions(context: Context?, permissions: Array): Boolean { - for (perm in permissions) { - if (ActivityCompat.checkSelfPermission( - context!!, - perm - ) != PackageManager.PERMISSION_GRANTED - ) { - return false - } - } - return true - } - - /** - * Check whether the given permission has been defined in the AndroidManifest.xml - * - * @param permission A permission to check. - * @return True if the permission has been defined in the Manifest, false if not. - */ - fun hasDefinedPermission(context: Context, permission: String): Boolean { - var hasPermission = false - val requestedPermissions = getManifestPermissions(context) - if (!requestedPermissions.isNullOrEmpty()) { - val requestedPermissionsList = listOf(*requestedPermissions) - val requestedPermissionsArrayList = ArrayList(requestedPermissionsList) - if (requestedPermissionsArrayList.contains(permission)) { - hasPermission = true - } - } - return hasPermission - } - - /** - * Check whether all of the given permissions have been defined in the AndroidManifest.xml - * @param context the app context - * @param permissions a list of permissions - * @return true only if all permissions are defined in the AndroidManifest.xml - */ - fun hasDefinedPermissions(context: Context, permissions: Array): Boolean { - for (permission in permissions) { - if (!hasDefinedPermission(context, permission)) { - return false - } - } - return true - } - - /** - * Get the permissions defined in AndroidManifest.xml - * - * @return The permissions defined in AndroidManifest.xml - */ - private fun getManifestPermissions(context: Context): Array? { - var requestedPermissions: Array? = null - try { - val pm = context.packageManager - val packageInfo = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { - pm.getPackageInfo(context.packageName, PackageManager.PackageInfoFlags.of(PackageManager.GET_PERMISSIONS.toLong())) - } else { - @Suppress("DEPRECATION") - pm.getPackageInfo(context.packageName, PackageManager.GET_PERMISSIONS) - } - if (packageInfo != null) { - requestedPermissions = packageInfo.requestedPermissions - } - } catch (_: Exception) { - } - return requestedPermissions - } - - /** - * Given a list of permissions, return a new list with the ones not present in AndroidManifest.xml - * - * @param neededPermissions The permissions needed. - * @return The permissions not present in AndroidManifest.xml - */ - fun getUndefinedPermissions(context: Context, neededPermissions: Array): Array { - val undefinedPermissions = ArrayList() - val requestedPermissions = getManifestPermissions(context) - if (!requestedPermissions.isNullOrEmpty()) { - val requestedPermissionsList = listOf(*requestedPermissions) - val requestedPermissionsArrayList = ArrayList(requestedPermissionsList) - for (permission in neededPermissions) { - if (!requestedPermissionsArrayList.contains(permission)) { - undefinedPermissions.add(permission) - } - } - var undefinedPermissionArray = arrayOfNulls(undefinedPermissions.size) - undefinedPermissionArray = undefinedPermissions.toArray(undefinedPermissionArray) - return undefinedPermissionArray - } - return neededPermissions - } -} diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/java/com/zx/tauri_app/generated/RustWebChromeClient.kt b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/java/com/zx/tauri_app/generated/RustWebChromeClient.kt deleted file mode 100644 index 211d30c8..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/java/com/zx/tauri_app/generated/RustWebChromeClient.kt +++ /dev/null @@ -1,495 +0,0 @@ -/* THIS FILE IS AUTO-GENERATED. DO NOT MODIFY!! */ - -// Copyright 2020-2023 Tauri Programme within The Commons Conservancy -// SPDX-License-Identifier: Apache-2.0 -// SPDX-License-Identifier: MIT - -@file:Suppress("ObsoleteSdkInt", "RedundantOverride", "QueryPermissionsNeeded", "SimpleDateFormat") - -package com.zx.tauri_app - -// taken from https://github.com/ionic-team/capacitor/blob/6658bca41e78239347e458175b14ca8bd5c1d6e8/android/capacitor/src/main/java/com/getcapacitor/BridgeWebChromeClient.java - -import android.Manifest -import android.app.Activity -import android.app.AlertDialog -import android.content.ActivityNotFoundException -import android.content.DialogInterface -import android.content.Intent -import android.net.Uri -import android.os.Build -import android.os.Environment -import android.provider.MediaStore -import android.view.View -import android.webkit.* -import android.widget.EditText -import androidx.activity.result.ActivityResult -import androidx.activity.result.ActivityResultCallback -import androidx.activity.result.ActivityResultLauncher -import androidx.activity.result.contract.ActivityResultContracts -import androidx.core.content.FileProvider -import java.io.File -import java.io.IOException -import java.text.SimpleDateFormat -import java.util.* - -class RustWebChromeClient(appActivity: WryActivity) : WebChromeClient() { - private interface PermissionListener { - fun onPermissionSelect(isGranted: Boolean?) - } - - private interface ActivityResultListener { - fun onActivityResult(result: ActivityResult?) - } - - private val activity: WryActivity - private var permissionLauncher: ActivityResultLauncher> - private var activityLauncher: ActivityResultLauncher - private var permissionListener: PermissionListener? = null - private var activityListener: ActivityResultListener? = null - - init { - activity = appActivity - val permissionCallback = - ActivityResultCallback { isGranted: Map -> - if (permissionListener != null) { - var granted = true - for ((_, value) in isGranted) { - if (!value) granted = false - } - permissionListener!!.onPermissionSelect(granted) - } - } - permissionLauncher = - activity.registerForActivityResult(ActivityResultContracts.RequestMultiplePermissions(), permissionCallback) - activityLauncher = activity.registerForActivityResult( - ActivityResultContracts.StartActivityForResult() - ) { result -> - if (activityListener != null) { - activityListener!!.onActivityResult(result) - } - } - } - - /** - * Render web content in `view`. - * - * Both this method and [.onHideCustomView] are required for - * rendering web content in full screen. - * - * @see [](https://developer.android.com/reference/android/webkit/WebChromeClient.onShowCustomView - ) */ - override fun onShowCustomView(view: View, callback: CustomViewCallback) { - callback.onCustomViewHidden() - super.onShowCustomView(view, callback) - } - - /** - * Render web content in the original Web View again. - * - * Do not remove this method--@see #onShowCustomView(View, CustomViewCallback). - */ - override fun onHideCustomView() { - super.onHideCustomView() - } - - override fun onPermissionRequest(request: PermissionRequest) { - val isRequestPermissionRequired = Build.VERSION.SDK_INT >= Build.VERSION_CODES.M - val permissionList: MutableList = ArrayList() - if (listOf(*request.resources).contains("android.webkit.resource.VIDEO_CAPTURE")) { - permissionList.add(Manifest.permission.CAMERA) - } - if (listOf(*request.resources).contains("android.webkit.resource.AUDIO_CAPTURE")) { - permissionList.add(Manifest.permission.MODIFY_AUDIO_SETTINGS) - permissionList.add(Manifest.permission.RECORD_AUDIO) - } - if (permissionList.isNotEmpty() && isRequestPermissionRequired) { - val permissions = permissionList.toTypedArray() - permissionListener = object : PermissionListener { - override fun onPermissionSelect(isGranted: Boolean?) { - if (isGranted == true) { - request.grant(request.resources) - } else { - request.deny() - } - } - } - permissionLauncher.launch(permissions) - } else { - request.grant(request.resources) - } - } - - /** - * Show the browser alert modal - * @param view - * @param url - * @param message - * @param result - * @return - */ - override fun onJsAlert(view: WebView, url: String, message: String, result: JsResult): Boolean { - if (activity.isFinishing) { - return true - } - val builder = AlertDialog.Builder(view.context) - builder - .setMessage(message) - .setPositiveButton( - "OK" - ) { dialog: DialogInterface, _: Int -> - dialog.dismiss() - result.confirm() - } - .setOnCancelListener { dialog: DialogInterface -> - dialog.dismiss() - result.cancel() - } - val dialog = builder.create() - dialog.show() - return true - } - - /** - * Show the browser confirm modal - * @param view - * @param url - * @param message - * @param result - * @return - */ - override fun onJsConfirm(view: WebView, url: String, message: String, result: JsResult): Boolean { - if (activity.isFinishing) { - return true - } - val builder = AlertDialog.Builder(view.context) - builder - .setMessage(message) - .setPositiveButton( - "OK" - ) { dialog: DialogInterface, _: Int -> - dialog.dismiss() - result.confirm() - } - .setNegativeButton( - "Cancel" - ) { dialog: DialogInterface, _: Int -> - dialog.dismiss() - result.cancel() - } - .setOnCancelListener { dialog: DialogInterface -> - dialog.dismiss() - result.cancel() - } - val dialog = builder.create() - dialog.show() - return true - } - - /** - * Show the browser prompt modal - * @param view - * @param url - * @param message - * @param defaultValue - * @param result - * @return - */ - override fun onJsPrompt( - view: WebView, - url: String, - message: String, - defaultValue: String, - result: JsPromptResult - ): Boolean { - if (activity.isFinishing) { - return true - } - val builder = AlertDialog.Builder(view.context) - val input = EditText(view.context) - builder - .setMessage(message) - .setView(input) - .setPositiveButton( - "OK" - ) { dialog: DialogInterface, _: Int -> - dialog.dismiss() - val inputText1 = input.text.toString().trim { it <= ' ' } - result.confirm(inputText1) - } - .setNegativeButton( - "Cancel" - ) { dialog: DialogInterface, _: Int -> - dialog.dismiss() - result.cancel() - } - .setOnCancelListener { dialog: DialogInterface -> - dialog.dismiss() - result.cancel() - } - val dialog = builder.create() - dialog.show() - return true - } - - /** - * Handle the browser geolocation permission prompt - * @param origin - * @param callback - */ - override fun onGeolocationPermissionsShowPrompt( - origin: String, - callback: GeolocationPermissions.Callback - ) { - super.onGeolocationPermissionsShowPrompt(origin, callback) - Logger.debug("onGeolocationPermissionsShowPrompt: DOING IT HERE FOR ORIGIN: $origin") - val geoPermissions = - arrayOf(Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION) - if (!PermissionHelper.hasPermissions(activity, geoPermissions)) { - permissionListener = object : PermissionListener { - override fun onPermissionSelect(isGranted: Boolean?) { - if (isGranted == true) { - callback.invoke(origin, true, false) - } else { - val coarsePermission = - arrayOf(Manifest.permission.ACCESS_COARSE_LOCATION) - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S && - PermissionHelper.hasPermissions(activity, coarsePermission) - ) { - callback.invoke(origin, true, false) - } else { - callback.invoke(origin, false, false) - } - } - } - } - permissionLauncher.launch(geoPermissions) - } else { - // permission is already granted - callback.invoke(origin, true, false) - Logger.debug("onGeolocationPermissionsShowPrompt: has required permission") - } - } - - override fun onShowFileChooser( - webView: WebView, - filePathCallback: ValueCallback?>, - fileChooserParams: FileChooserParams - ): Boolean { - val acceptTypes = listOf(*fileChooserParams.acceptTypes) - val captureEnabled = fileChooserParams.isCaptureEnabled - val capturePhoto = captureEnabled && acceptTypes.contains("image/*") - val captureVideo = captureEnabled && acceptTypes.contains("video/*") - if (capturePhoto || captureVideo) { - if (isMediaCaptureSupported) { - showMediaCaptureOrFilePicker(filePathCallback, fileChooserParams, captureVideo) - } else { - permissionListener = object : PermissionListener { - override fun onPermissionSelect(isGranted: Boolean?) { - if (isGranted == true) { - showMediaCaptureOrFilePicker(filePathCallback, fileChooserParams, captureVideo) - } else { - Logger.warn(Logger.tags("FileChooser"), "Camera permission not granted") - filePathCallback.onReceiveValue(null) - } - } - } - val camPermission = arrayOf(Manifest.permission.CAMERA) - permissionLauncher.launch(camPermission) - } - } else { - showFilePicker(filePathCallback, fileChooserParams) - } - return true - } - - private val isMediaCaptureSupported: Boolean - get() { - val permissions = arrayOf(Manifest.permission.CAMERA) - return PermissionHelper.hasPermissions(activity, permissions) || - !PermissionHelper.hasDefinedPermission(activity, Manifest.permission.CAMERA) - } - - private fun showMediaCaptureOrFilePicker( - filePathCallback: ValueCallback?>, - fileChooserParams: FileChooserParams, - isVideo: Boolean - ) { - val isVideoCaptureSupported = true - val shown = if (isVideo && isVideoCaptureSupported) { - showVideoCapturePicker(filePathCallback) - } else { - showImageCapturePicker(filePathCallback) - } - if (!shown) { - Logger.warn( - Logger.tags("FileChooser"), - "Media capture intent could not be launched. Falling back to default file picker." - ) - showFilePicker(filePathCallback, fileChooserParams) - } - } - - private fun showImageCapturePicker(filePathCallback: ValueCallback?>): Boolean { - val takePictureIntent = Intent(MediaStore.ACTION_IMAGE_CAPTURE) - if (takePictureIntent.resolveActivity(activity.packageManager) == null) { - return false - } - val imageFileUri: Uri = try { - createImageFileUri() - } catch (ex: Exception) { - Logger.error("Unable to create temporary media capture file: " + ex.message) - return false - } - takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, imageFileUri) - activityListener = object : ActivityResultListener { - override fun onActivityResult(result: ActivityResult?) { - var res: Array? = null - if (result?.resultCode == Activity.RESULT_OK) { - res = arrayOf(imageFileUri) - } - filePathCallback.onReceiveValue(res) - } - } - activityLauncher.launch(takePictureIntent) - return true - } - - private fun showVideoCapturePicker(filePathCallback: ValueCallback?>): Boolean { - val takeVideoIntent = Intent(MediaStore.ACTION_VIDEO_CAPTURE) - if (takeVideoIntent.resolveActivity(activity.packageManager) == null) { - return false - } - activityListener = object : ActivityResultListener { - override fun onActivityResult(result: ActivityResult?) { - var res: Array? = null - if (result?.resultCode == Activity.RESULT_OK) { - res = arrayOf(result.data!!.data) - } - filePathCallback.onReceiveValue(res) - } - } - activityLauncher.launch(takeVideoIntent) - return true - } - - private fun showFilePicker( - filePathCallback: ValueCallback?>, - fileChooserParams: FileChooserParams - ) { - val intent = fileChooserParams.createIntent() - if (fileChooserParams.mode == FileChooserParams.MODE_OPEN_MULTIPLE) { - intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true) - } - if (fileChooserParams.acceptTypes.size > 1 || intent.type!!.startsWith(".")) { - val validTypes = getValidTypes(fileChooserParams.acceptTypes) - intent.putExtra(Intent.EXTRA_MIME_TYPES, validTypes) - if (intent.type!!.startsWith(".")) { - intent.type = validTypes[0] - } - } - try { - activityListener = object : ActivityResultListener { - override fun onActivityResult(result: ActivityResult?) { - val res: Array? - val resultIntent = result?.data - if (result?.resultCode == Activity.RESULT_OK && resultIntent!!.clipData != null) { - val numFiles = resultIntent.clipData!!.itemCount - res = arrayOfNulls(numFiles) - for (i in 0 until numFiles) { - res[i] = resultIntent.clipData!!.getItemAt(i).uri - } - } else { - res = FileChooserParams.parseResult( - result?.resultCode ?: 0, - resultIntent - ) - } - filePathCallback.onReceiveValue(res) - } - } - activityLauncher.launch(intent) - } catch (e: ActivityNotFoundException) { - filePathCallback.onReceiveValue(null) - } - } - - private fun getValidTypes(currentTypes: Array): Array { - val validTypes: MutableList = ArrayList() - val mtm = MimeTypeMap.getSingleton() - for (mime in currentTypes) { - if (mime.startsWith(".")) { - val extension = mime.substring(1) - val extensionMime = mtm.getMimeTypeFromExtension(extension) - if (extensionMime != null && !validTypes.contains(extensionMime)) { - validTypes.add(extensionMime) - } - } else if (!validTypes.contains(mime)) { - validTypes.add(mime) - } - } - val validObj: Array = validTypes.toTypedArray() - return Arrays.copyOf( - validObj, validObj.size, - Array::class.java - ) - } - - override fun onConsoleMessage(consoleMessage: ConsoleMessage): Boolean { - val tag: String = Logger.tags("Console") - if (consoleMessage.message() != null && isValidMsg(consoleMessage.message())) { - val msg = String.format( - "File: %s - Line %d - Msg: %s", - consoleMessage.sourceId(), - consoleMessage.lineNumber(), - consoleMessage.message() - ) - val level = consoleMessage.messageLevel().name - if ("ERROR".equals(level, ignoreCase = true)) { - Logger.error(tag, msg, null) - } else if ("WARNING".equals(level, ignoreCase = true)) { - Logger.warn(tag, msg) - } else if ("TIP".equals(level, ignoreCase = true)) { - Logger.debug(tag, msg) - } else { - Logger.info(tag, msg) - } - } - return true - } - - private fun isValidMsg(msg: String): Boolean { - return !(msg.contains("%cresult %c") || - msg.contains("%cnative %c") || - msg.equals("[object Object]", ignoreCase = true) || - msg.equals("console.groupEnd", ignoreCase = true)) - } - - @Throws(IOException::class) - private fun createImageFileUri(): Uri { - val photoFile = createImageFile(activity) - return FileProvider.getUriForFile( - activity, - activity.packageName.toString() + ".fileprovider", - photoFile - ) - } - - @Throws(IOException::class) - private fun createImageFile(activity: Activity): File { - // Create an image file name - val timeStamp = SimpleDateFormat("yyyyMMdd_HHmmss").format(Date()) - val imageFileName = "JPEG_" + timeStamp + "_" - val storageDir = activity.getExternalFilesDir(Environment.DIRECTORY_PICTURES) - return File.createTempFile(imageFileName, ".jpg", storageDir) - } - - override fun onReceivedTitle( - view: WebView, - title: String - ) { - handleReceivedTitle(view, title) - } - - private external fun handleReceivedTitle(webview: WebView, title: String) -} diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/java/com/zx/tauri_app/generated/RustWebView.kt b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/java/com/zx/tauri_app/generated/RustWebView.kt deleted file mode 100644 index c22de2d0..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/java/com/zx/tauri_app/generated/RustWebView.kt +++ /dev/null @@ -1,101 +0,0 @@ -/* THIS FILE IS AUTO-GENERATED. DO NOT MODIFY!! */ - -// Copyright 2020-2023 Tauri Programme within The Commons Conservancy -// SPDX-License-Identifier: Apache-2.0 -// SPDX-License-Identifier: MIT - -@file:Suppress("unused", "SetJavaScriptEnabled") - -package com.zx.tauri_app - -import android.annotation.SuppressLint -import android.webkit.* -import android.content.Context -import androidx.webkit.WebViewCompat -import androidx.webkit.WebViewFeature -import kotlin.collections.Map - -@SuppressLint("RestrictedApi") -class RustWebView(context: Context, val initScripts: Array, val id: String): WebView(context) { - val isDocumentStartScriptEnabled: Boolean - - init { - settings.javaScriptEnabled = true - settings.domStorageEnabled = true - settings.setGeolocationEnabled(true) - settings.databaseEnabled = true - settings.mediaPlaybackRequiresUserGesture = false - settings.javaScriptCanOpenWindowsAutomatically = true - - if (WebViewFeature.isFeatureSupported(WebViewFeature.DOCUMENT_START_SCRIPT)) { - isDocumentStartScriptEnabled = true - for (script in initScripts) { - WebViewCompat.addDocumentStartJavaScript(this, script, setOf("*")); - } - } else { - isDocumentStartScriptEnabled = false - } - - - } - - fun loadUrlMainThread(url: String) { - post { - loadUrl(url) - } - } - - fun loadUrlMainThread(url: String, additionalHttpHeaders: Map) { - post { - loadUrl(url, additionalHttpHeaders) - } - } - - override fun loadUrl(url: String) { - if (!shouldOverride(url)) { - super.loadUrl(url); - } - } - - override fun loadUrl(url: String, additionalHttpHeaders: Map) { - if (!shouldOverride(url)) { - super.loadUrl(url, additionalHttpHeaders); - } - } - - fun loadHTMLMainThread(html: String) { - post { - super.loadData(html, "text/html", null) - } - } - - fun evalScript(id: Int, script: String) { - post { - super.evaluateJavascript(script) { result -> - onEval(id, result) - } - } - } - - fun clearAllBrowsingData() { - try { - super.getContext().deleteDatabase("webviewCache.db") - super.getContext().deleteDatabase("webview.db") - super.clearCache(true) - super.clearHistory() - super.clearFormData() - } catch (ex: Exception) { - Logger.error("Unable to create temporary media capture file: " + ex.message) - } - } - - fun getCookies(url: String): String { - val cookieManager = CookieManager.getInstance() - return cookieManager.getCookie(url) - } - - private external fun shouldOverride(url: String): Boolean - private external fun onEval(id: Int, result: String) - - -} diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/java/com/zx/tauri_app/generated/RustWebViewClient.kt b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/java/com/zx/tauri_app/generated/RustWebViewClient.kt deleted file mode 100644 index 7b9cc2c0..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/java/com/zx/tauri_app/generated/RustWebViewClient.kt +++ /dev/null @@ -1,107 +0,0 @@ -/* THIS FILE IS AUTO-GENERATED. DO NOT MODIFY!! */ - -// Copyright 2020-2023 Tauri Programme within The Commons Conservancy -// SPDX-License-Identifier: Apache-2.0 -// SPDX-License-Identifier: MIT - -package com.zx.tauri_app - -import android.net.Uri -import android.webkit.* -import android.content.Context -import android.graphics.Bitmap -import android.os.Handler -import android.os.Looper -import androidx.webkit.WebViewAssetLoader - -class RustWebViewClient(context: Context): WebViewClient() { - private val interceptedState = mutableMapOf() - var currentUrl: String = "about:blank" - private var lastInterceptedUrl: Uri? = null - private var pendingUrlRedirect: String? = null - - private val assetLoader = WebViewAssetLoader.Builder() - .setDomain(assetLoaderDomain()) - .addPathHandler("/", WebViewAssetLoader.AssetsPathHandler(context)) - .build() - - override fun shouldInterceptRequest( - view: WebView, - request: WebResourceRequest - ): WebResourceResponse? { - pendingUrlRedirect?.let { - Handler(Looper.getMainLooper()).post { - view.loadUrl(it) - } - pendingUrlRedirect = null - return null - } - - lastInterceptedUrl = request.url - return if (withAssetLoader()) { - assetLoader.shouldInterceptRequest(request.url) - } else { - val rustWebview = view as RustWebView; - val response = handleRequest(rustWebview.id, request, rustWebview.isDocumentStartScriptEnabled) - interceptedState[request.url.toString()] = response != null - return response - } - } - - override fun shouldOverrideUrlLoading( - view: WebView, - request: WebResourceRequest - ): Boolean { - return shouldOverride(request.url.toString()) - } - - override fun onPageStarted(view: WebView, url: String, favicon: Bitmap?) { - currentUrl = url - if (interceptedState[url] == false) { - val webView = view as RustWebView - for (script in webView.initScripts) { - view.evaluateJavascript(script, null) - } - } - return onPageLoading(url) - } - - override fun onPageFinished(view: WebView, url: String) { - onPageLoaded(url) - } - - override fun onReceivedError( - view: WebView, - request: WebResourceRequest, - error: WebResourceError - ) { - // we get a net::ERR_CONNECTION_REFUSED when an external URL redirects to a custom protocol - // e.g. oauth flow, because shouldInterceptRequest is not called on redirects - // so we must force retry here with loadUrl() to get a chance of the custom protocol to kick in - if (error.errorCode == ERROR_CONNECT && request.isForMainFrame && request.url != lastInterceptedUrl) { - // prevent the default error page from showing - view.stopLoading() - // without this initial loadUrl the app is stuck - view.loadUrl(request.url.toString()) - // ensure the URL is actually loaded - for some reason there's a race condition and we need to call loadUrl() again later - pendingUrlRedirect = request.url.toString() - } else { - super.onReceivedError(view, request, error) - } - } - - companion object { - init { - System.loadLibrary("tauri_app_lib") - } - } - - private external fun assetLoaderDomain(): String - private external fun withAssetLoader(): Boolean - private external fun handleRequest(webviewId: String, request: WebResourceRequest, isDocumentStartScriptEnabled: Boolean): WebResourceResponse? - private external fun shouldOverride(url: String): Boolean - private external fun onPageLoading(url: String) - private external fun onPageLoaded(url: String) - - -} diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/java/com/zx/tauri_app/generated/TauriActivity.kt b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/java/com/zx/tauri_app/generated/TauriActivity.kt deleted file mode 100644 index 1d5cd60b..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/java/com/zx/tauri_app/generated/TauriActivity.kt +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright 2019-2024 Tauri Programme within The Commons Conservancy -// SPDX-License-Identifier: Apache-2.0 -// SPDX-License-Identifier: MIT - -/* THIS FILE IS AUTO-GENERATED. DO NOT MODIFY!! */ - -package com.zx.tauri_app - -import android.os.Bundle -import android.content.Intent -import app.tauri.plugin.PluginManager - -abstract class TauriActivity : WryActivity() { - var pluginManager: PluginManager = PluginManager(this) - - override fun onNewIntent(intent: Intent) { - super.onNewIntent(intent) - pluginManager.onNewIntent(intent) - } - - override fun onResume() { - super.onResume() - pluginManager.onResume() - } - - override fun onPause() { - super.onPause() - pluginManager.onPause() - } -} diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/java/com/zx/tauri_app/generated/WryActivity.kt b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/java/com/zx/tauri_app/generated/WryActivity.kt deleted file mode 100644 index 27df53b8..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/java/com/zx/tauri_app/generated/WryActivity.kt +++ /dev/null @@ -1,136 +0,0 @@ -/* THIS FILE IS AUTO-GENERATED. DO NOT MODIFY!! */ - -// Copyright 2020-2023 Tauri Programme within The Commons Conservancy -// SPDX-License-Identifier: Apache-2.0 -// SPDX-License-Identifier: MIT - -package com.zx.tauri_app - -import com.zx.tauri_app.RustWebView -import android.annotation.SuppressLint -import android.os.Build -import android.os.Bundle -import android.webkit.WebView -import android.view.KeyEvent -import androidx.appcompat.app.AppCompatActivity - -abstract class WryActivity : AppCompatActivity() { - private lateinit var mWebView: RustWebView - - open fun onWebViewCreate(webView: WebView) { } - - fun setWebView(webView: RustWebView) { - mWebView = webView - onWebViewCreate(webView) - } - - val version: String - @SuppressLint("WebViewApiAvailability", "ObsoleteSdkInt") - get() { - // Check getCurrentWebViewPackage() directly if above Android 8 - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - return WebView.getCurrentWebViewPackage()?.versionName ?: "" - } - - // Otherwise manually check WebView versions - var webViewPackage = "com.google.android.webview" - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { - webViewPackage = "com.android.chrome" - } - try { - @Suppress("DEPRECATION") - val info = packageManager.getPackageInfo(webViewPackage, 0) - return info.versionName.toString() - } catch (ex: Exception) { - Logger.warn("Unable to get package info for '$webViewPackage'$ex") - } - - try { - @Suppress("DEPRECATION") - val info = packageManager.getPackageInfo("com.android.webview", 0) - return info.versionName.toString() - } catch (ex: Exception) { - Logger.warn("Unable to get package info for 'com.android.webview'$ex") - } - - // Could not detect any webview, return empty string - return "" - } - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - create(this) - } - - override fun onStart() { - super.onStart() - start() - } - - override fun onResume() { - super.onResume() - resume() - } - - override fun onPause() { - super.onPause() - pause() - } - - override fun onStop() { - super.onStop() - stop() - } - - override fun onWindowFocusChanged(hasFocus: Boolean) { - super.onWindowFocusChanged(hasFocus) - focus(hasFocus) - } - - override fun onSaveInstanceState(outState: Bundle) { - super.onSaveInstanceState(outState) - save() - } - - override fun onDestroy() { - super.onDestroy() - destroy() - onActivityDestroy() - } - - override fun onLowMemory() { - super.onLowMemory() - memory() - } - - override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean { - if (keyCode == KeyEvent.KEYCODE_BACK && mWebView.canGoBack()) { - mWebView.goBack() - return true - } - return super.onKeyDown(keyCode, event) - } - - fun getAppClass(name: String): Class<*> { - return Class.forName(name) - } - - companion object { - init { - System.loadLibrary("tauri_app_lib") - } - } - - private external fun create(activity: WryActivity) - private external fun start() - private external fun resume() - private external fun pause() - private external fun stop() - private external fun save() - private external fun destroy() - private external fun onActivityDestroy() - private external fun memory() - private external fun focus(focus: Boolean) - - -} diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/java/com/zx/tauri_app/generated/proguard-wry.pro b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/java/com/zx/tauri_app/generated/proguard-wry.pro deleted file mode 100644 index 3194a7c7..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/java/com/zx/tauri_app/generated/proguard-wry.pro +++ /dev/null @@ -1,35 +0,0 @@ -# THIS FILE IS AUTO-GENERATED. DO NOT MODIFY!! - -# Copyright 2020-2023 Tauri Programme within The Commons Conservancy -# SPDX-License-Identifier: Apache-2.0 -# SPDX-License-Identifier: MIT - --keep class com.zx.tauri_app.* { - native ; -} - --keep class com.zx.tauri_app.WryActivity { - public (...); - - void setWebView(com.zx.tauri_app.RustWebView); - java.lang.Class getAppClass(...); - java.lang.String getVersion(); -} - --keep class com.zx.tauri_app.Ipc { - public (...); - - @android.webkit.JavascriptInterface public ; -} - --keep class com.zx.tauri_app.RustWebView { - public (...); - - void loadUrlMainThread(...); - void loadHTMLMainThread(...); - void evalScript(...); -} - --keep class com.zx.tauri_app.RustWebChromeClient,com.zx.tauri_app.RustWebViewClient { - public (...); -} diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml deleted file mode 100644 index cc14f035..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/drawable/ic_launcher_background.xml b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/drawable/ic_launcher_background.xml deleted file mode 100644 index a4f78de5..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/drawable/ic_launcher_background.xml +++ /dev/null @@ -1,170 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/layout/activity_main.xml b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/layout/activity_main.xml deleted file mode 100644 index ca0c0de6..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/layout/activity_main.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index 28f1aa11..00000000 Binary files a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher.png and /dev/null differ diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png deleted file mode 100644 index 85d0c88a..00000000 Binary files a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png and /dev/null differ diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png deleted file mode 100644 index 28f1aa11..00000000 Binary files a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png and /dev/null differ diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher.png deleted file mode 100644 index 73e48dbf..00000000 Binary files a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher.png and /dev/null differ diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png deleted file mode 100644 index 13dd2147..00000000 Binary files a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png and /dev/null differ diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png deleted file mode 100644 index 73e48dbf..00000000 Binary files a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png and /dev/null differ diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index 1d98044f..00000000 Binary files a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png deleted file mode 100644 index a888b336..00000000 Binary files a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png and /dev/null differ diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png deleted file mode 100644 index 1d98044f..00000000 Binary files a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png and /dev/null differ diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index 08183246..00000000 Binary files a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png deleted file mode 100644 index a2a838e7..00000000 Binary files a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png and /dev/null differ diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png deleted file mode 100644 index 08183246..00000000 Binary files a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png and /dev/null differ diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index b18bceb6..00000000 Binary files a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png deleted file mode 100644 index 3f8a57f3..00000000 Binary files a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png and /dev/null differ diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png deleted file mode 100644 index b18bceb6..00000000 Binary files a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png and /dev/null differ diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/values-night/themes.xml b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/values-night/themes.xml deleted file mode 100644 index 64f26787..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/values-night/themes.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/values/colors.xml b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/values/colors.xml deleted file mode 100644 index c4baf251..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/values/colors.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - #FFBB86FC - #FF6200EE - #FF3700B3 - #FF03DAC5 - #FF018786 - #FF000000 - #FFFFFFFF - #FF2196F3 - \ No newline at end of file diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/values/strings.xml b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/values/strings.xml deleted file mode 100644 index b0037cbf..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/values/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - tauri-app - tauri-app - \ No newline at end of file diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/values/themes.xml b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/values/themes.xml deleted file mode 100644 index 64f26787..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/values/themes.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/xml/file_paths.xml b/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/xml/file_paths.xml deleted file mode 100644 index 2c05685d..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/android/app/src/main/res/xml/file_paths.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/build.gradle.kts b/packages/kbot/gui/tauri-app/src-tauri/gen/android/build.gradle.kts deleted file mode 100644 index e0665957..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/android/build.gradle.kts +++ /dev/null @@ -1,22 +0,0 @@ -buildscript { - repositories { - google() - mavenCentral() - } - dependencies { - classpath("com.android.tools.build:gradle:8.11.0") - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.25") - } -} - -allprojects { - repositories { - google() - mavenCentral() - } -} - -tasks.register("clean").configure { - delete("build") -} - diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/buildSrc/build.gradle.kts b/packages/kbot/gui/tauri-app/src-tauri/gen/android/buildSrc/build.gradle.kts deleted file mode 100644 index d4975785..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/android/buildSrc/build.gradle.kts +++ /dev/null @@ -1,23 +0,0 @@ -plugins { - `kotlin-dsl` -} - -gradlePlugin { - plugins { - create("pluginsForCoolKids") { - id = "rust" - implementationClass = "RustPlugin" - } - } -} - -repositories { - google() - mavenCentral() -} - -dependencies { - compileOnly(gradleApi()) - implementation("com.android.tools.build:gradle:8.11.0") -} - diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/buildSrc/src/main/java/com/zx/tauri_app/kotlin/BuildTask.kt b/packages/kbot/gui/tauri-app/src-tauri/gen/android/buildSrc/src/main/java/com/zx/tauri_app/kotlin/BuildTask.kt deleted file mode 100644 index 293ec8eb..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/android/buildSrc/src/main/java/com/zx/tauri_app/kotlin/BuildTask.kt +++ /dev/null @@ -1,52 +0,0 @@ -import java.io.File -import org.apache.tools.ant.taskdefs.condition.Os -import org.gradle.api.DefaultTask -import org.gradle.api.GradleException -import org.gradle.api.logging.LogLevel -import org.gradle.api.tasks.Input -import org.gradle.api.tasks.TaskAction - -open class BuildTask : DefaultTask() { - @Input - var rootDirRel: String? = null - @Input - var target: String? = null - @Input - var release: Boolean? = null - - @TaskAction - fun assemble() { - val executable = """npm"""; - try { - runTauriCli(executable) - } catch (e: Exception) { - if (Os.isFamily(Os.FAMILY_WINDOWS)) { - runTauriCli("$executable.cmd") - } else { - throw e; - } - } - } - - fun runTauriCli(executable: String) { - val rootDirRel = rootDirRel ?: throw GradleException("rootDirRel cannot be null") - val target = target ?: throw GradleException("target cannot be null") - val release = release ?: throw GradleException("release cannot be null") - val args = listOf("run", "--", "tauri", "android", "android-studio-script"); - - project.exec { - workingDir(File(project.projectDir, rootDirRel)) - executable(executable) - args(args) - if (project.logger.isEnabled(LogLevel.DEBUG)) { - args("-vv") - } else if (project.logger.isEnabled(LogLevel.INFO)) { - args("-v") - } - if (release) { - args("--release") - } - args(listOf("--target", target)) - }.assertNormalExitValue() - } -} \ No newline at end of file diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/buildSrc/src/main/java/com/zx/tauri_app/kotlin/RustPlugin.kt b/packages/kbot/gui/tauri-app/src-tauri/gen/android/buildSrc/src/main/java/com/zx/tauri_app/kotlin/RustPlugin.kt deleted file mode 100644 index a1c766e8..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/android/buildSrc/src/main/java/com/zx/tauri_app/kotlin/RustPlugin.kt +++ /dev/null @@ -1,85 +0,0 @@ -import com.android.build.api.dsl.ApplicationExtension -import org.gradle.api.DefaultTask -import org.gradle.api.Plugin -import org.gradle.api.Project -import org.gradle.kotlin.dsl.configure -import org.gradle.kotlin.dsl.get - -const val TASK_GROUP = "rust" - -open class Config { - lateinit var rootDirRel: String -} - -open class RustPlugin : Plugin { - private lateinit var config: Config - - override fun apply(project: Project) = with(project) { - config = extensions.create("rust", Config::class.java) - - val defaultAbiList = listOf("arm64-v8a", "armeabi-v7a", "x86", "x86_64"); - val abiList = (findProperty("abiList") as? String)?.split(',') ?: defaultAbiList - - val defaultArchList = listOf("arm64", "arm", "x86", "x86_64"); - val archList = (findProperty("archList") as? String)?.split(',') ?: defaultArchList - - val targetsList = (findProperty("targetList") as? String)?.split(',') ?: listOf("aarch64", "armv7", "i686", "x86_64") - - extensions.configure { - @Suppress("UnstableApiUsage") - flavorDimensions.add("abi") - productFlavors { - create("universal") { - dimension = "abi" - ndk { - abiFilters += abiList - } - } - defaultArchList.forEachIndexed { index, arch -> - create(arch) { - dimension = "abi" - ndk { - abiFilters.add(defaultAbiList[index]) - } - } - } - } - } - - afterEvaluate { - for (profile in listOf("debug", "release")) { - val profileCapitalized = profile.replaceFirstChar { it.uppercase() } - val buildTask = tasks.maybeCreate( - "rustBuildUniversal$profileCapitalized", - DefaultTask::class.java - ).apply { - group = TASK_GROUP - description = "Build dynamic library in $profile mode for all targets" - } - - tasks["mergeUniversal${profileCapitalized}JniLibFolders"].dependsOn(buildTask) - - for (targetPair in targetsList.withIndex()) { - val targetName = targetPair.value - val targetArch = archList[targetPair.index] - val targetArchCapitalized = targetArch.replaceFirstChar { it.uppercase() } - val targetBuildTask = project.tasks.maybeCreate( - "rustBuild$targetArchCapitalized$profileCapitalized", - BuildTask::class.java - ).apply { - group = TASK_GROUP - description = "Build dynamic library in $profile mode for $targetArch" - rootDirRel = config.rootDirRel - target = targetName - release = profile == "release" - } - - buildTask.dependsOn(targetBuildTask) - tasks["merge$targetArchCapitalized${profileCapitalized}JniLibFolders"].dependsOn( - targetBuildTask - ) - } - } - } - } -} \ No newline at end of file diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/gradle.properties b/packages/kbot/gui/tauri-app/src-tauri/gen/android/gradle.properties deleted file mode 100644 index a9bfbfc4..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/android/gradle.properties +++ /dev/null @@ -1,24 +0,0 @@ -# Project-wide Gradle settings. -# IDE (e.g. Android Studio) users: -# Gradle settings configured through the IDE *will override* -# any settings specified in this file. -# For more details on how to configure your build environment visit -# http://www.gradle.org/docs/current/userguide/build_environment.html -# Specifies the JVM arguments used for the daemon process. -# The setting is particularly useful for tweaking memory settings. -org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 -# When configured, Gradle will run in incubating parallel mode. -# This option should only be used with decoupled projects. More details, visit -# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects -# org.gradle.parallel=true -# AndroidX package structure to make it clearer which packages are bundled with the -# Android operating system, and which are packaged with your app"s APK -# https://developer.android.com/topic/libraries/support-library/androidx-rn -android.useAndroidX=true -# Kotlin code style for this project: "official" or "obsolete": -kotlin.code.style=official -# Enables namespacing of each library's R class so that its R class includes only the -# resources declared in the library itself and none from the library's dependencies, -# thereby reducing the size of the R class for that library -android.nonTransitiveRClass=true -android.nonFinalResIds=false \ No newline at end of file diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/gradle/wrapper/gradle-wrapper.jar b/packages/kbot/gui/tauri-app/src-tauri/gen/android/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index e708b1c0..00000000 Binary files a/packages/kbot/gui/tauri-app/src-tauri/gen/android/gradle/wrapper/gradle-wrapper.jar and /dev/null differ diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/gradle/wrapper/gradle-wrapper.properties b/packages/kbot/gui/tauri-app/src-tauri/gen/android/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index db80da3b..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/android/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,6 +0,0 @@ -#Tue May 10 19:22:52 CST 2022 -distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip -distributionPath=wrapper/dists -zipStorePath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/gradlew b/packages/kbot/gui/tauri-app/src-tauri/gen/android/gradlew deleted file mode 100644 index 02640cba..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/android/gradlew +++ /dev/null @@ -1,185 +0,0 @@ -#!/usr/bin/env sh - -# -# Copyright 2015 the original author or authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -## -## Gradle start up script for UN*X -## -############################################################################## - -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null - -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" - -warn () { - echo "$*" -} - -die () { - echo - echo "$*" - echo - exit 1 -} - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD="java" - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi -fi - -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi - -# For Cygwin or MSYS, switch paths to Windows format before running java -if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi - # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" - fi - i=`expr $i + 1` - done - case $i in - 0) set -- ;; - 1) set -- "$args0" ;; - 2) set -- "$args0" "$args1" ;; - 3) set -- "$args0" "$args1" "$args2" ;; - 4) set -- "$args0" "$args1" "$args2" "$args3" ;; - 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac -fi - -# Escape application args -save () { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=`save "$@"` - -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" - -exec "$JAVACMD" "$@" diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/gradlew.bat b/packages/kbot/gui/tauri-app/src-tauri/gen/android/gradlew.bat deleted file mode 100644 index ac1b06f9..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/android/gradlew.bat +++ /dev/null @@ -1,89 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/android/settings.gradle b/packages/kbot/gui/tauri-app/src-tauri/gen/android/settings.gradle deleted file mode 100644 index e958d1e8..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/android/settings.gradle +++ /dev/null @@ -1,3 +0,0 @@ -include ':app' - -apply from: 'tauri.settings.gradle' diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/.gitignore b/packages/kbot/gui/tauri-app/src-tauri/gen/apple/.gitignore deleted file mode 100644 index 6726e2f8..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -xcuserdata/ -build/ -Externals/ diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@1x.png b/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@1x.png deleted file mode 100644 index a6ac2a8c..00000000 Binary files a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@1x.png and /dev/null differ diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@2x-1.png b/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@2x-1.png deleted file mode 100644 index 2869541f..00000000 Binary files a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@2x-1.png and /dev/null differ diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@2x.png b/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@2x.png deleted file mode 100644 index 2869541f..00000000 Binary files a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@2x.png and /dev/null differ diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@3x.png b/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@3x.png deleted file mode 100644 index cf265a45..00000000 Binary files a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@3x.png and /dev/null differ diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@1x.png b/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@1x.png deleted file mode 100644 index 29c9746c..00000000 Binary files a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@1x.png and /dev/null differ diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@2x-1.png b/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@2x-1.png deleted file mode 100644 index a4e68c8d..00000000 Binary files a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@2x-1.png and /dev/null differ diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@2x.png b/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@2x.png deleted file mode 100644 index a4e68c8d..00000000 Binary files a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@2x.png and /dev/null differ diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@3x.png b/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@3x.png deleted file mode 100644 index e4adcbce..00000000 Binary files a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@3x.png and /dev/null differ diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@1x.png b/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@1x.png deleted file mode 100644 index 2869541f..00000000 Binary files a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@1x.png and /dev/null differ diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@2x-1.png b/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@2x-1.png deleted file mode 100644 index a414e65b..00000000 Binary files a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@2x-1.png and /dev/null differ diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@2x.png b/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@2x.png deleted file mode 100644 index a414e65b..00000000 Binary files a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@2x.png and /dev/null differ diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@3x.png b/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@3x.png deleted file mode 100644 index a0807e5d..00000000 Binary files a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@3x.png and /dev/null differ diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png b/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png deleted file mode 100644 index 704c9291..00000000 Binary files a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png and /dev/null differ diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-60x60@2x.png b/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-60x60@2x.png deleted file mode 100644 index a0807e5d..00000000 Binary files a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-60x60@2x.png and /dev/null differ diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-60x60@3x.png b/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-60x60@3x.png deleted file mode 100644 index 2a9fbc26..00000000 Binary files a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-60x60@3x.png and /dev/null differ diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-76x76@1x.png b/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-76x76@1x.png deleted file mode 100644 index 2cdf1848..00000000 Binary files a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-76x76@1x.png and /dev/null differ diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-76x76@2x.png b/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-76x76@2x.png deleted file mode 100644 index 4723e4b4..00000000 Binary files a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-76x76@2x.png and /dev/null differ diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-83.5x83.5@2x.png b/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-83.5x83.5@2x.png deleted file mode 100644 index f26fee45..00000000 Binary files a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-83.5x83.5@2x.png and /dev/null differ diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/Contents.json b/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index 90eea7ec..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,116 +0,0 @@ -{ - "images" : [ - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "AppIcon-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "AppIcon-20x20@3x.png", - "scale" : "3x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "AppIcon-29x29@2x-1.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "AppIcon-29x29@3x.png", - "scale" : "3x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "AppIcon-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "AppIcon-40x40@3x.png", - "scale" : "3x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "AppIcon-60x60@2x.png", - "scale" : "2x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "AppIcon-60x60@3x.png", - "scale" : "3x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "AppIcon-20x20@1x.png", - "scale" : "1x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "AppIcon-20x20@2x-1.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "AppIcon-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "AppIcon-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "AppIcon-40x40@1x.png", - "scale" : "1x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "AppIcon-40x40@2x-1.png", - "scale" : "2x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "AppIcon-76x76@1x.png", - "scale" : "1x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "AppIcon-76x76@2x.png", - "scale" : "2x" - }, - { - "size" : "83.5x83.5", - "idiom" : "ipad", - "filename" : "AppIcon-83.5x83.5@2x.png", - "scale" : "2x" - }, - { - "size" : "1024x1024", - "idiom" : "ios-marketing", - "filename" : "AppIcon-512@2x.png", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/Contents.json b/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/Contents.json deleted file mode 100644 index da4a164c..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Assets.xcassets/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/ExportOptions.plist b/packages/kbot/gui/tauri-app/src-tauri/gen/apple/ExportOptions.plist deleted file mode 100644 index 0428a171..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/ExportOptions.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - method - debugging - - diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/LaunchScreen.storyboard b/packages/kbot/gui/tauri-app/src-tauri/gen/apple/LaunchScreen.storyboard deleted file mode 100644 index 81b5f90e..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/LaunchScreen.storyboard +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Podfile b/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Podfile deleted file mode 100644 index 24605d24..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Podfile +++ /dev/null @@ -1,21 +0,0 @@ -# Uncomment the next line to define a global platform for your project - -target 'api_iOS' do -platform :ios, '14.0' - # Pods for api_iOS -end - -target 'api_macOS' do -platform :osx, '11.0' - # Pods for api_macOS -end - -# Delete the deployment target for iOS and macOS, causing it to be inherited from the Podfile -post_install do |installer| - installer.pods_project.targets.each do |target| - target.build_configurations.each do |config| - config.build_settings.delete 'IPHONEOS_DEPLOYMENT_TARGET' - config.build_settings.delete 'MACOSX_DEPLOYMENT_TARGET' - end - end -end diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Sources/api/bindings/bindings.h b/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Sources/api/bindings/bindings.h deleted file mode 100644 index 51522007..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Sources/api/bindings/bindings.h +++ /dev/null @@ -1,8 +0,0 @@ -#pragma once - -namespace ffi { - extern "C" { - void start_app(); - } -} - diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Sources/api/main.mm b/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Sources/api/main.mm deleted file mode 100644 index 7793a9d5..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/Sources/api/main.mm +++ /dev/null @@ -1,6 +0,0 @@ -#include "bindings/bindings.h" - -int main(int argc, char * argv[]) { - ffi::start_app(); - return 0; -} diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/api.xcodeproj/project.pbxproj b/packages/kbot/gui/tauri-app/src-tauri/gen/apple/api.xcodeproj/project.pbxproj deleted file mode 100644 index 11be7126..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/api.xcodeproj/project.pbxproj +++ /dev/null @@ -1,469 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 54; - objects = { - -/* Begin PBXBuildFile section */ - 3043432501C9BC2DB6B4CB95 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 71EB788DE4662CFC0D97F567 /* CoreGraphics.framework */; }; - 328B4ADB3700C1873BEB7B10 /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = 90D3B673AFAB8D8AB561F616 /* main.mm */; }; - 6F379F15DA085785BA2624D4 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6B7E79E23E646BA7968B457C /* Assets.xcassets */; }; - 832F9A55FEDEF3D807D8C40A /* libapp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 248286BAA086BB1A5F98B2B2 /* libapp.a */; }; - 9AADB041D25772D04E543F15 /* Metal.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 62601E25FA39E62BE119B74D /* Metal.framework */; }; - 9DDA3BE70DD0E4013973FE38 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6082E363D51372A7658C351 /* UIKit.framework */; }; - AC8BDC2C7A63FA3FDC5967F4 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 4B2D1B108AE002010BDEC6D2 /* LaunchScreen.storyboard */; }; - AFA0CA286325FD7A34968CA2 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 384966E551417F94A02D2706 /* Security.framework */; }; - B60763BD194DFACA215EC7DA /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC377692DC31A070A0188C9D /* QuartzCore.framework */; }; - C6D80743F168BDF017B7769E /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 59CFE20DCF760BE67D9CE3D6 /* WebKit.framework */; }; - DFFF888045C8D9D9FB69E8FD /* MetalKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 338E66700FD330B99D434DD7 /* MetalKit.framework */; }; - F86717F05E27C72C9FA1FB27 /* assets in Resources */ = {isa = PBXBuildFile; fileRef = 74A8FDFB350B966F5AAD4A24 /* assets */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 0E96CE07CD20273DD46BF325 /* main.rs */ = {isa = PBXFileReference; path = main.rs; sourceTree = ""; }; - 1C1AB1B414CA2795AFBEDDB9 /* tray.rs */ = {isa = PBXFileReference; path = tray.rs; sourceTree = ""; }; - 248286BAA086BB1A5F98B2B2 /* libapp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libapp.a; sourceTree = ""; }; - 2F63E2AA460089BB58D40C79 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; - 338E66700FD330B99D434DD7 /* MetalKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MetalKit.framework; path = System/Library/Frameworks/MetalKit.framework; sourceTree = SDKROOT; }; - 384966E551417F94A02D2706 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; - 4B2D1B108AE002010BDEC6D2 /* LaunchScreen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = ""; }; - 59CFE20DCF760BE67D9CE3D6 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; - 5AC703CEBA41A121596066F3 /* api_iOS.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = api_iOS.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 62601E25FA39E62BE119B74D /* Metal.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Metal.framework; path = System/Library/Frameworks/Metal.framework; sourceTree = SDKROOT; }; - 6B7E79E23E646BA7968B457C /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 71EB788DE4662CFC0D97F567 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; - 74A8FDFB350B966F5AAD4A24 /* assets */ = {isa = PBXFileReference; lastKnownFileType = folder; path = assets; sourceTree = SOURCE_ROOT; }; - 785D025E9542F7E098BF22B5 /* lib.rs */ = {isa = PBXFileReference; path = lib.rs; sourceTree = ""; }; - 879941AE3DAA14534BBC6391 /* api_iOS.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = api_iOS.entitlements; sourceTree = ""; }; - 90D3B673AFAB8D8AB561F616 /* main.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = main.mm; sourceTree = ""; }; - B6082E363D51372A7658C351 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; - DC377692DC31A070A0188C9D /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; - EC8C7948C50C3C9B5D96CB61 /* bindings.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = bindings.h; sourceTree = ""; }; - F835F52713CE8F029D5D252C /* cmd.rs */ = {isa = PBXFileReference; path = cmd.rs; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 11E18DCDB3ADFE87C18915EF /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 832F9A55FEDEF3D807D8C40A /* libapp.a in Frameworks */, - 3043432501C9BC2DB6B4CB95 /* CoreGraphics.framework in Frameworks */, - 9AADB041D25772D04E543F15 /* Metal.framework in Frameworks */, - DFFF888045C8D9D9FB69E8FD /* MetalKit.framework in Frameworks */, - B60763BD194DFACA215EC7DA /* QuartzCore.framework in Frameworks */, - AFA0CA286325FD7A34968CA2 /* Security.framework in Frameworks */, - 9DDA3BE70DD0E4013973FE38 /* UIKit.framework in Frameworks */, - C6D80743F168BDF017B7769E /* WebKit.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 0677CEAF1F282F38CBA0F140 = { - isa = PBXGroup; - children = ( - 74A8FDFB350B966F5AAD4A24 /* assets */, - 6B7E79E23E646BA7968B457C /* Assets.xcassets */, - 4B2D1B108AE002010BDEC6D2 /* LaunchScreen.storyboard */, - F2116A6428EED18BE2A07E2B /* api_iOS */, - 86D903732E10FAC4D300E8DF /* Externals */, - 7A9A7AC155D9E22E54D6D847 /* Sources */, - CF9AA87D2F6E9C389B7AB70B /* src */, - 10C9FC3FA3E12D6A4A67999D /* Frameworks */, - 4AC51E67B71E27F15B02C5CD /* Products */, - ); - sourceTree = ""; - }; - 07051859D6E2D8109C8FB128 /* bindings */ = { - isa = PBXGroup; - children = ( - EC8C7948C50C3C9B5D96CB61 /* bindings.h */, - ); - path = bindings; - sourceTree = ""; - }; - 10C9FC3FA3E12D6A4A67999D /* Frameworks */ = { - isa = PBXGroup; - children = ( - 71EB788DE4662CFC0D97F567 /* CoreGraphics.framework */, - 248286BAA086BB1A5F98B2B2 /* libapp.a */, - 62601E25FA39E62BE119B74D /* Metal.framework */, - 338E66700FD330B99D434DD7 /* MetalKit.framework */, - DC377692DC31A070A0188C9D /* QuartzCore.framework */, - 384966E551417F94A02D2706 /* Security.framework */, - B6082E363D51372A7658C351 /* UIKit.framework */, - 59CFE20DCF760BE67D9CE3D6 /* WebKit.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - 4AC51E67B71E27F15B02C5CD /* Products */ = { - isa = PBXGroup; - children = ( - 5AC703CEBA41A121596066F3 /* api_iOS.app */, - ); - name = Products; - sourceTree = ""; - }; - 7A9A7AC155D9E22E54D6D847 /* Sources */ = { - isa = PBXGroup; - children = ( - A3574F52DBC5463B9C3D043D /* api */, - ); - path = Sources; - sourceTree = ""; - }; - 86D903732E10FAC4D300E8DF /* Externals */ = { - isa = PBXGroup; - children = ( - ); - path = Externals; - sourceTree = ""; - }; - A3574F52DBC5463B9C3D043D /* api */ = { - isa = PBXGroup; - children = ( - 90D3B673AFAB8D8AB561F616 /* main.mm */, - 07051859D6E2D8109C8FB128 /* bindings */, - ); - path = api; - sourceTree = ""; - }; - CF9AA87D2F6E9C389B7AB70B /* src */ = { - isa = PBXGroup; - children = ( - F835F52713CE8F029D5D252C /* cmd.rs */, - 785D025E9542F7E098BF22B5 /* lib.rs */, - 0E96CE07CD20273DD46BF325 /* main.rs */, - 1C1AB1B414CA2795AFBEDDB9 /* tray.rs */, - ); - name = src; - path = ../../src; - sourceTree = ""; - }; - F2116A6428EED18BE2A07E2B /* api_iOS */ = { - isa = PBXGroup; - children = ( - 879941AE3DAA14534BBC6391 /* api_iOS.entitlements */, - 2F63E2AA460089BB58D40C79 /* Info.plist */, - ); - path = api_iOS; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 54DC6E273C78071F3BA12EF3 /* api_iOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = 01CBC40275452376830D79B1 /* Build configuration list for PBXNativeTarget "api_iOS" */; - buildPhases = ( - FF948951157DE71465B5BD5F /* Build Rust Code */, - 71E73CC9AB5F1323EC1F6365 /* Sources */, - CA2BEC44B6EDA1F21B6155CD /* Resources */, - 11E18DCDB3ADFE87C18915EF /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = api_iOS; - packageProductDependencies = ( - ); - productName = api_iOS; - productReference = 5AC703CEBA41A121596066F3 /* api_iOS.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 9BC88C3717DA5D4B78A51C15 /* Project object */ = { - isa = PBXProject; - attributes = { - BuildIndependentTargetsInParallel = YES; - LastUpgradeCheck = 1430; - TargetAttributes = { - 54DC6E273C78071F3BA12EF3 = { - DevelopmentTeam = Q93MBH6S2F; - }; - }; - }; - buildConfigurationList = 8FA67D0F928A09CD639137D1 /* Build configuration list for PBXProject "api" */; - compatibilityVersion = "Xcode 14.0"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - Base, - en, - ); - mainGroup = 0677CEAF1F282F38CBA0F140; - minimizedProjectReferenceProxies = 1; - preferredProjectObjectVersion = 54; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 54DC6E273C78071F3BA12EF3 /* api_iOS */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - CA2BEC44B6EDA1F21B6155CD /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 6F379F15DA085785BA2624D4 /* Assets.xcassets in Resources */, - AC8BDC2C7A63FA3FDC5967F4 /* LaunchScreen.storyboard in Resources */, - F86717F05E27C72C9FA1FB27 /* assets in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - FF948951157DE71465B5BD5F /* Build Rust Code */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - ); - name = "Build Rust Code"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(SRCROOT)/Externals/x86_64/${CONFIGURATION}/libapp.a", - "$(SRCROOT)/Externals/arm64/${CONFIGURATION}/libapp.a", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "pnpm tauri ios xcode-script -v --platform ${PLATFORM_DISPLAY_NAME:?} --sdk-root ${SDKROOT:?} --framework-search-paths \"${FRAMEWORK_SEARCH_PATHS:?}\" --header-search-paths \"${HEADER_SEARCH_PATHS:?}\" --gcc-preprocessor-definitions \"${GCC_PREPROCESSOR_DEFINITIONS:-}\" --configuration ${CONFIGURATION:?} ${FORCE_COLOR} ${ARCHS:?}"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 71E73CC9AB5F1323EC1F6365 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 328B4ADB3700C1873BEB7B10 /* main.mm in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - A83F70B4C02DD0222038C7F1 /* release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 5.0; - }; - name = release; - }; - B6AD77E490F315562F75D3D7 /* debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "DEBUG=1", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - }; - name = debug; - }; - BF284FE6E7AE0C8DDCCE398B /* debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - ARCHS = ( - arm64, - ); - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_ENTITLEMENTS = api_iOS/api_iOS.entitlements; - CODE_SIGN_IDENTITY = "iPhone Developer"; - DEVELOPMENT_TEAM = "Q93MBH6S2F"; - ENABLE_BITCODE = NO; - "EXCLUDED_ARCHS[sdk=iphoneos*]" = x86_64; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\".\"", - ); - INFOPLIST_FILE = api_iOS/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - "LIBRARY_SEARCH_PATHS[arch=arm64]" = "$(inherited) $(PROJECT_DIR)/Externals/arm64/$(CONFIGURATION) $(SDKROOT)/usr/lib/swift $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME) $(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)"; - "LIBRARY_SEARCH_PATHS[arch=x86_64]" = "$(inherited) $(PROJECT_DIR)/Externals/x86_64/$(CONFIGURATION) $(SDKROOT)/usr/lib/swift $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME) $(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)"; - PRODUCT_BUNDLE_IDENTIFIER = com.tauri.api; - PRODUCT_NAME = "Tauri API"; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALID_ARCHS = arm64; - }; - name = debug; - }; - DB0E254D0FD84970B57F6410 /* release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - ARCHS = ( - arm64, - ); - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_ENTITLEMENTS = api_iOS/api_iOS.entitlements; - CODE_SIGN_IDENTITY = "iPhone Developer"; - DEVELOPMENT_TEAM = "Q93MBH6S2F"; - ENABLE_BITCODE = NO; - "EXCLUDED_ARCHS[sdk=iphoneos*]" = x86_64; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\".\"", - ); - INFOPLIST_FILE = api_iOS/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - "LIBRARY_SEARCH_PATHS[arch=arm64]" = "$(inherited) $(PROJECT_DIR)/Externals/arm64/$(CONFIGURATION) $(SDKROOT)/usr/lib/swift $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME) $(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)"; - "LIBRARY_SEARCH_PATHS[arch=x86_64]" = "$(inherited) $(PROJECT_DIR)/Externals/x86_64/$(CONFIGURATION) $(SDKROOT)/usr/lib/swift $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME) $(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)"; - PRODUCT_BUNDLE_IDENTIFIER = com.tauri.api; - PRODUCT_NAME = "Tauri API"; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALID_ARCHS = arm64; - }; - name = release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 01CBC40275452376830D79B1 /* Build configuration list for PBXNativeTarget "api_iOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - BF284FE6E7AE0C8DDCCE398B /* debug */, - DB0E254D0FD84970B57F6410 /* release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = debug; - }; - 8FA67D0F928A09CD639137D1 /* Build configuration list for PBXProject "api" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - B6AD77E490F315562F75D3D7 /* debug */, - A83F70B4C02DD0222038C7F1 /* release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = debug; - }; -/* End XCConfigurationList section */ - }; - rootObject = 9BC88C3717DA5D4B78A51C15 /* Project object */; -} diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/api.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/packages/kbot/gui/tauri-app/src-tauri/gen/apple/api.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a6..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/api.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/api.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/packages/kbot/gui/tauri-app/src-tauri/gen/apple/api.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index ac90d5ac..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/api.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,10 +0,0 @@ - - - - - BuildSystemType - Original - DisableBuildSystemDeprecationDiagnostic - - - diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/api.xcodeproj/xcshareddata/xcschemes/api_iOS.xcscheme b/packages/kbot/gui/tauri-app/src-tauri/gen/apple/api.xcodeproj/xcshareddata/xcschemes/api_iOS.xcscheme deleted file mode 100644 index 2a9f5045..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/api.xcodeproj/xcshareddata/xcschemes/api_iOS.xcscheme +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/api_iOS/Info.plist b/packages/kbot/gui/tauri-app/src-tauri/gen/apple/api_iOS/Info.plist deleted file mode 100644 index 7d35e702..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/api_iOS/Info.plist +++ /dev/null @@ -1,52 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 2.0.0 - CFBundleVersion - 2.0.0 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - arm64 - metal - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - NSCameraUsageDescription - Request camera access for WebRTC - NSMicrophoneUsageDescription - Request microphone access for WebRTC - NSFaceIDUsageDescription - Authenticate with biometrics - NFCReaderUsageDescription - Read and write to NFC tags for testing - - \ No newline at end of file diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/api_iOS/api_iOS.entitlements b/packages/kbot/gui/tauri-app/src-tauri/gen/apple/api_iOS/api_iOS.entitlements deleted file mode 100644 index 0c67376e..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/api_iOS/api_iOS.entitlements +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/project.yml b/packages/kbot/gui/tauri-app/src-tauri/gen/apple/project.yml deleted file mode 100644 index d789500e..00000000 --- a/packages/kbot/gui/tauri-app/src-tauri/gen/apple/project.yml +++ /dev/null @@ -1,89 +0,0 @@ -name: api -options: - bundleIdPrefix: com.tauri.api - deploymentTarget: - iOS: 14.0 -fileGroups: [../../src] -configs: - debug: debug - release: release -settingGroups: - app: - base: - PRODUCT_NAME: Tauri API - PRODUCT_BUNDLE_IDENTIFIER: com.tauri.api - DEVELOPMENT_TEAM: Q93MBH6S2F -targetTemplates: - app: - type: application - sources: - - path: Sources - scheme: - environmentVariables: - RUST_BACKTRACE: full - RUST_LOG: info - settings: - groups: [app] -targets: - api_iOS: - type: application - platform: iOS - sources: - - path: Sources - - path: Assets.xcassets - - path: Externals - - path: api_iOS - - path: assets - buildPhase: resources - type: folder - - path: LaunchScreen.storyboard - info: - path: api_iOS/Info.plist - properties: - LSRequiresIPhoneOS: true - UILaunchStoryboardName: LaunchScreen - UIRequiredDeviceCapabilities: [arm64, metal] - UISupportedInterfaceOrientations: - - UIInterfaceOrientationPortrait - - UIInterfaceOrientationLandscapeLeft - - UIInterfaceOrientationLandscapeRight - UISupportedInterfaceOrientations~ipad: - - UIInterfaceOrientationPortrait - - UIInterfaceOrientationPortraitUpsideDown - - UIInterfaceOrientationLandscapeLeft - - UIInterfaceOrientationLandscapeRight - CFBundleShortVersionString: 2.0.0 - CFBundleVersion: 2.0.0 - entitlements: - path: api_iOS/api_iOS.entitlements - scheme: - environmentVariables: - RUST_BACKTRACE: full - RUST_LOG: info - settings: - base: - ENABLE_BITCODE: false - ARCHS: [arm64] - VALID_ARCHS: arm64 - LIBRARY_SEARCH_PATHS[arch=x86_64]: $(inherited) $(PROJECT_DIR)/Externals/x86_64/$(CONFIGURATION) $(SDKROOT)/usr/lib/swift $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME) $(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME) - LIBRARY_SEARCH_PATHS[arch=arm64]: $(inherited) $(PROJECT_DIR)/Externals/arm64/$(CONFIGURATION) $(SDKROOT)/usr/lib/swift $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME) $(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME) - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES: true - EXCLUDED_ARCHS[sdk=iphoneos*]: x86_64 - groups: [app] - dependencies: - - framework: libapp.a - embed: false - - sdk: CoreGraphics.framework - - sdk: Metal.framework - - sdk: MetalKit.framework - - sdk: QuartzCore.framework - - sdk: Security.framework - - sdk: UIKit.framework - - sdk: WebKit.framework - preBuildScripts: - - script: pnpm tauri ios xcode-script -v --platform ${PLATFORM_DISPLAY_NAME:?} --sdk-root ${SDKROOT:?} --framework-search-paths "${FRAMEWORK_SEARCH_PATHS:?}" --header-search-paths "${HEADER_SEARCH_PATHS:?}" --gcc-preprocessor-definitions "${GCC_PREPROCESSOR_DEFINITIONS:-}" --configuration ${CONFIGURATION:?} ${FORCE_COLOR} ${ARCHS:?} - name: Build Rust Code - basedOnDependencyAnalysis: false - outputFiles: - - $(SRCROOT)/Externals/x86_64/${CONFIGURATION}/libapp.a - - $(SRCROOT)/Externals/arm64/${CONFIGURATION}/libapp.a \ No newline at end of file diff --git a/packages/registry/_cli.js b/packages/registry/_cli.js deleted file mode 100644 index 9c40d463..00000000 --- a/packages/registry/_cli.js +++ /dev/null @@ -1,21 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.sanitize = exports.defaults = void 0; -// tweaks and handlers -const defaults = () => { - // default command - const DefaultCommand = 'info'; - if (process.argv.length === 2) { - process.argv.push(DefaultCommand); - } - // currently no default handler, display only : - process.on('unhandledRejection', (reason) => { - console.error('Unhandled rejection, reason: ', reason); - }); -}; -exports.defaults = defaults; -const sanitize = (argv) => { - return argv; -}; -exports.sanitize = sanitize; -//# sourceMappingURL=_cli.js.map \ No newline at end of file diff --git a/packages/registry/_cli.js.map b/packages/registry/_cli.js.map deleted file mode 100644 index ebbb9a75..00000000 --- a/packages/registry/_cli.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"_cli.js","sourceRoot":"","sources":["src/_cli.ts"],"names":[],"mappings":";;;AAKA,sBAAsB;AACf,MAAM,QAAQ,GAAG,GAAG,EAAE;IACzB,kBAAkB;IAClB,MAAM,cAAc,GAAG,MAAM,CAAC;IAC9B,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QAC3B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KACrC;IAED,+CAA+C;IAC/C,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAc,EAAE,EAAE;QAChD,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAXW,QAAA,QAAQ,YAWnB;AAEK,MAAM,QAAQ,GAAG,CAAC,IAAS,EAAsB,EAAE;IAEtD,OAAO,IAAI,CAAA;AACf,CAAC,CAAA;AAHY,QAAA,QAAQ,YAGpB"} \ No newline at end of file diff --git a/packages/registry/commands/info.d.ts b/packages/registry/commands/info.d.ts index 443f33e5..e4aa7e05 100644 --- a/packages/registry/commands/info.d.ts +++ b/packages/registry/commands/info.d.ts @@ -1,2 +1 @@ -import * as CLI from 'yargs'; -export declare const register: (cli: CLI.Argv) => CLI.Argv<{}>; +export declare const register: (cli: CLI.Argv) => any; diff --git a/packages/registry/commands/info.js b/packages/registry/commands/info.js index f7b995af..3837fdc7 100644 --- a/packages/registry/commands/info.js +++ b/packages/registry/commands/info.js @@ -1,9 +1,32 @@ "use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; Object.defineProperty(exports, "__esModule", { value: true }); exports.register = void 0; const __1 = require("../"); const _cli_1 = require("../_cli"); -const path = require("path"); +const path = __importStar(require("path")); const osr_commons_1 = require("@plastichub/osr-commons"); const defaultOptions = (yargs) => { return yargs.option('debug', { @@ -48,4 +71,4 @@ const register = (cli) => { }); }; exports.register = register; -//# sourceMappingURL=info.js.map \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tYW5kcy9pbmZvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkJBQTRCO0FBQzVCLGtDQUFrQztBQUdsQywyQ0FBNEI7QUFDNUIseURBQXdEO0FBRXhELE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBZSxFQUFFLEVBQUU7SUFDdkMsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTtRQUN6QixPQUFPLEVBQUUsT0FBTztRQUNoQixRQUFRLEVBQUUsZ0JBQWdCO0tBQzdCLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQ2QsV0FBVyxFQUFFLHVCQUF1QjtRQUNwQyxPQUFPLEVBQUUsV0FBVztLQUN2QixDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRTtRQUNsQixXQUFXLEVBQUUsOEJBQThCO1FBQzNDLE9BQU8sRUFBRSxpQkFBaUI7S0FDN0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7UUFDZixXQUFXLEVBQUUsV0FBVztRQUN4QixPQUFPLEVBQUUseUJBQXlCO0tBQ3JDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2IsV0FBVyxFQUFFLHdDQUF3QztRQUNyRCxPQUFPLEVBQUUsMkJBQTJCO0tBQ3ZDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO1FBQ2pCLE9BQU8sRUFBRSxZQUFZO1FBQ3JCLFFBQVEsRUFBRSxvQ0FBb0M7S0FDakQsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDO0FBRUYsSUFBSSxPQUFPLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUdsRCxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQWEsRUFBRSxFQUFFO0lBQ3RDLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBbUIsRUFBRSxFQUFFO1FBQy9FLElBQUEsZUFBUSxHQUFFLENBQUE7UUFDVixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFBRSxPQUFNO1NBQUU7UUFDekIsTUFBTSxJQUFJLEdBQVEsSUFBSSxDQUFBO1FBRXRCLE1BQU0sTUFBTSxHQUFHLElBQUEsNEJBQWMsRUFBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7UUFFM0MsTUFBTSxJQUFJLEdBQUc7WUFDVCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztTQUM5QixDQUFBO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDWixVQUFNLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDbEMsT0FBTTtTQUNUO1FBQ0QsVUFBTSxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ3ZFLENBQUMsQ0FBQyxDQUFBO0FBQ04sQ0FBQyxDQUFBO0FBcEJZLFFBQUEsUUFBUSxZQW9CcEIifQ== \ No newline at end of file diff --git a/packages/registry/constants.d.ts b/packages/registry/constants.d.ts deleted file mode 100644 index 37e90ab0..00000000 --- a/packages/registry/constants.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const MODULE_NAME = "OSR-REGISTRY"; diff --git a/packages/registry/constants.js b/packages/registry/constants.js deleted file mode 100644 index 0fc2ad28..00000000 --- a/packages/registry/constants.js +++ /dev/null @@ -1,5 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.MODULE_NAME = void 0; -exports.MODULE_NAME = `OSR-REGISTRY`; -//# sourceMappingURL=constants.js.map \ No newline at end of file diff --git a/packages/registry/constants.js.map b/packages/registry/constants.js.map deleted file mode 100644 index 6ff6cec1..00000000 --- a/packages/registry/constants.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"constants.js","sourceRoot":"","sources":["src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,cAAc,CAAA"} \ No newline at end of file diff --git a/packages/registry/_cli.d.ts b/packages/registry/dist/_cli.d.ts similarity index 72% rename from packages/registry/_cli.d.ts rename to packages/registry/dist/_cli.d.ts index 9c57c0f2..dac5340f 100644 --- a/packages/registry/_cli.d.ts +++ b/packages/registry/dist/_cli.d.ts @@ -1,3 +1,3 @@ -import { IOptions } from './types'; +import { IOptions } from './types.js'; export declare const defaults: () => void; export declare const sanitize: (argv: any) => IOptions | boolean; diff --git a/packages/registry/dist/_cli.js b/packages/registry/dist/_cli.js new file mode 100644 index 00000000..d04b5393 --- /dev/null +++ b/packages/registry/dist/_cli.js @@ -0,0 +1,16 @@ +// tweaks and handlers +export const defaults = () => { + // default command + const DefaultCommand = 'info'; + if (process.argv.length === 2) { + process.argv.push(DefaultCommand); + } + // currently no default handler, display only : + process.on('unhandledRejection', (reason) => { + console.error('Unhandled rejection, reason: ', reason); + }); +}; +export const sanitize = (argv) => { + return argv; +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX2NsaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9fY2xpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLHNCQUFzQjtBQUN0QixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsR0FBRyxFQUFFO0lBQ3pCLGtCQUFrQjtJQUNsQixNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUM7SUFDOUIsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDM0IsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7S0FDckM7SUFFRCwrQ0FBK0M7SUFDL0MsT0FBTyxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLE1BQWMsRUFBRSxFQUFFO1FBQ2hELE9BQU8sQ0FBQyxLQUFLLENBQUMsK0JBQStCLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDM0QsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxJQUFTLEVBQXNCLEVBQUU7SUFFdEQsT0FBTyxJQUFJLENBQUE7QUFDZixDQUFDLENBQUEifQ== \ No newline at end of file diff --git a/packages/registry/dist/cli.d.ts b/packages/registry/dist/cli.d.ts new file mode 100644 index 00000000..04593bd2 --- /dev/null +++ b/packages/registry/dist/cli.d.ts @@ -0,0 +1 @@ +export declare const cli: any; diff --git a/packages/registry/dist/cli.js b/packages/registry/dist/cli.js new file mode 100644 index 00000000..9607a7f6 --- /dev/null +++ b/packages/registry/dist/cli.js @@ -0,0 +1,4 @@ +import yargs from 'yargs'; +import { hideBin } from 'yargs/helpers'; +export const cli = yargs(hideBin(process.argv)); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUE7QUFDekIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUV2QyxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQSJ9 \ No newline at end of file diff --git a/packages/registry/dist/commands/info.d.ts b/packages/registry/dist/commands/info.d.ts new file mode 100644 index 00000000..e4aa7e05 --- /dev/null +++ b/packages/registry/dist/commands/info.d.ts @@ -0,0 +1 @@ +export declare const register: (cli: CLI.Argv) => any; diff --git a/packages/registry/dist/commands/info.js b/packages/registry/dist/commands/info.js new file mode 100644 index 00000000..e217cc4c --- /dev/null +++ b/packages/registry/dist/commands/info.js @@ -0,0 +1,47 @@ +import { logger } from '../index.js'; +import { defaults } from '../_cli.js'; +import * as path from 'path'; +import { CONFIG_DEFAULT } from '@polymech/commons'; +const defaultOptions = (yargs) => { + return yargs.option('debug', { + default: 'false', + describe: 'debug messages' + }).option('verb', { + description: 'search api: scaleserp', + default: 'scaleserp' + }).option('location', { + description: 'location to be searched from', + default: 'Berlin, Germany' + }).option('query', { + description: 'the query', + default: 'Precious Plastic Munich' + }).option('dst', { + description: 'dst output path, supports XLS|CSV|HTML', + default: './tests/data/serpwow.json' + }).option('env_key', { + default: 'OSR-CONFIG', + describe: 'Environment key to the config path' + }); +}; +let options = (yargs) => defaultOptions(yargs); +export const register = (cli) => { + return cli.command('info ', 'Search', options, async (argv) => { + defaults(); + if (argv.help) { + return; + } + const args = argv; + const config = CONFIG_DEFAULT(args.env_key); + const opts = { + verb: argv.verb, + query: argv.query, + dst: path.resolve(args.dst) + }; + if (!opts.verb) { + logger.error('No verb specified'); + return; + } + logger.debug(`Reading OSR Config with key "${argv.env_key}"`, opts); + }); +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9pbmZvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDcEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUdyQyxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQTtBQUM1QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFbEQsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRTtJQUN2QyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1FBQ3pCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFFBQVEsRUFBRSxnQkFBZ0I7S0FDN0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7UUFDZCxXQUFXLEVBQUUsdUJBQXVCO1FBQ3BDLE9BQU8sRUFBRSxXQUFXO0tBQ3ZCLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFO1FBQ2xCLFdBQVcsRUFBRSw4QkFBOEI7UUFDM0MsT0FBTyxFQUFFLGlCQUFpQjtLQUM3QixDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTtRQUNmLFdBQVcsRUFBRSxXQUFXO1FBQ3hCLE9BQU8sRUFBRSx5QkFBeUI7S0FDckMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDYixXQUFXLEVBQUUsd0NBQXdDO1FBQ3JELE9BQU8sRUFBRSwyQkFBMkI7S0FDdkMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7UUFDakIsT0FBTyxFQUFFLFlBQVk7UUFDckIsUUFBUSxFQUFFLG9DQUFvQztLQUNqRCxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUM7QUFFRixJQUFJLE9BQU8sR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBR3pELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQWEsRUFBRSxFQUFFO0lBQ3RDLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBbUIsRUFBRSxFQUFFO1FBQy9FLFFBQVEsRUFBRSxDQUFBO1FBQ1YsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQUUsT0FBTTtTQUFFO1FBQ3pCLE1BQU0sSUFBSSxHQUFRLElBQUksQ0FBQTtRQUV0QixNQUFNLE1BQU0sR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBRTNDLE1BQU0sSUFBSSxHQUFHO1lBQ1QsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7U0FDOUIsQ0FBQTtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1osTUFBTSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ2xDLE9BQU07U0FDVDtRQUNELE1BQU0sQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUN2RSxDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQSJ9 \ No newline at end of file diff --git a/packages/registry/dist/constants.d.ts b/packages/registry/dist/constants.d.ts new file mode 100644 index 00000000..4ca5ea74 --- /dev/null +++ b/packages/registry/dist/constants.d.ts @@ -0,0 +1 @@ +export declare const MODULE_NAME = "POLYMECH-REGISTRY"; diff --git a/packages/registry/dist/constants.js b/packages/registry/dist/constants.js new file mode 100644 index 00000000..2d09943c --- /dev/null +++ b/packages/registry/dist/constants.js @@ -0,0 +1,2 @@ +export const MODULE_NAME = `POLYMECH-REGISTRY`; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsbUJBQW1CLENBQUEifQ== \ No newline at end of file diff --git a/packages/registry/dist/index.d.ts b/packages/registry/dist/index.d.ts new file mode 100644 index 00000000..2f3385d6 --- /dev/null +++ b/packages/registry/dist/index.d.ts @@ -0,0 +1,5 @@ +export * from './constants.js'; +export * from './types.js'; +import { Logger, ILogObj } from 'tslog'; +export * from './lib/index.js'; +export declare const logger: Logger; diff --git a/packages/registry/dist/index.js b/packages/registry/dist/index.js new file mode 100644 index 00000000..d2242aaa --- /dev/null +++ b/packages/registry/dist/index.js @@ -0,0 +1,7 @@ +import { MODULE_NAME } from './constants.js'; +export * from './constants.js'; +export * from './types.js'; +import { createLogger } from '@polymech/log'; +export * from './lib/index.js'; +export const logger = createLogger(MODULE_NAME); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzVDLGNBQWMsZ0JBQWdCLENBQUE7QUFDOUIsY0FBYyxZQUFZLENBQUE7QUFFMUIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUM1QyxjQUFjLGdCQUFnQixDQUFBO0FBQzlCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsV0FBVyxDQUErQixDQUFBIn0= \ No newline at end of file diff --git a/packages/registry/dist/lib/index.d.ts b/packages/registry/dist/lib/index.d.ts new file mode 100644 index 00000000..5db70e60 --- /dev/null +++ b/packages/registry/dist/lib/index.d.ts @@ -0,0 +1,2 @@ +export * from './types.js'; +export * from './keyv.js'; diff --git a/packages/registry/dist/lib/index.js b/packages/registry/dist/lib/index.js new file mode 100644 index 00000000..cbf31015 --- /dev/null +++ b/packages/registry/dist/lib/index.js @@ -0,0 +1,3 @@ +export * from './types.js'; +export * from './keyv.js'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsWUFBWSxDQUFBO0FBQzFCLGNBQWMsV0FBVyxDQUFBIn0= \ No newline at end of file diff --git a/packages/registry/dist/lib/keyv.d.ts b/packages/registry/dist/lib/keyv.d.ts new file mode 100644 index 00000000..141cfa14 --- /dev/null +++ b/packages/registry/dist/lib/keyv.d.ts @@ -0,0 +1,5 @@ +import Keyv from 'keyv'; +export declare const store: (storePath: string, ns?: string, opts?: any) => Keyv; +export declare const get: (key: string, storePath: string, ns?: string, opts?: any) => Promise; +export declare const set: (key: string, value: any, storePath: string, ns?: string, opts?: any) => Promise; +export declare const list: (key: string, value: any, storePath: string, ns?: string, opts?: any) => Promise; diff --git a/packages/registry/dist/lib/keyv.js b/packages/registry/dist/lib/keyv.js new file mode 100644 index 00000000..9146203b --- /dev/null +++ b/packages/registry/dist/lib/keyv.js @@ -0,0 +1,21 @@ +import * as path from 'path'; +import Keyv from 'keyv'; +import KeyvSqlite from '@keyv/sqlite'; +import { resolve } from '@polymech/commons'; +export const store = (storePath, ns = 'ns-unknown', opts = {}) => { + const keyvSqlite = new KeyvSqlite(path.resolve(resolve(storePath))); + return new Keyv({ store: keyvSqlite, ttl: 5000, namespace: ns, ...opts }); +}; +export const get = async (key, storePath, ns = 'ns-unknown', opts = {}) => { + const keyv = store(storePath, ns, opts); + return await keyv.get(key); +}; +export const set = async (key, value, storePath, ns = 'ns-unknown', opts = {}) => { + const keyv = store(storePath, ns, opts); + return await keyv.set(key, value); +}; +export const list = async (key, value, storePath, ns = 'ns-unknown', opts = {}) => { + const keyv = store(storePath, ns, opts); + return await keyv.set(key, value); +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5di5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIva2V5di50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQTtBQUM1QixPQUFPLElBQUksTUFBTSxNQUFNLENBQUE7QUFDdkIsT0FBTyxVQUFVLE1BQU0sY0FBYyxDQUFBO0FBRXJDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUUzQyxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxTQUFpQixFQUFFLEtBQWEsWUFBWSxFQUFFLE9BQVksRUFBRSxFQUFFLEVBQUU7SUFDbEYsTUFBTSxVQUFVLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ25FLE9BQU8sSUFBSSxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLENBQUE7QUFDN0UsQ0FBQyxDQUFBO0FBQ0QsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEtBQUssRUFBRSxHQUFXLEVBQUUsU0FBaUIsRUFBRSxLQUFhLFlBQVksRUFBRSxPQUFZLEVBQUUsRUFBRSxFQUFFO0lBQ25HLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ3ZDLE9BQU8sTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQzlCLENBQUMsQ0FBQTtBQUNELE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQUUsR0FBVyxFQUFFLEtBQVUsRUFBRSxTQUFpQixFQUFFLEtBQWEsWUFBWSxFQUFFLE9BQVksRUFBRSxFQUFFLEVBQUU7SUFDL0csTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDdkMsT0FBTyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFBO0FBQ3JDLENBQUMsQ0FBQTtBQUNELE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxLQUFLLEVBQUUsR0FBVyxFQUFFLEtBQVUsRUFBRSxTQUFpQixFQUFFLEtBQWEsWUFBWSxFQUFFLE9BQVksRUFBRSxFQUFFLEVBQUU7SUFDaEgsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDdkMsT0FBTyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFBO0FBQ3JDLENBQUMsQ0FBQSJ9 \ No newline at end of file diff --git a/packages/registry/dist/lib/types.d.ts b/packages/registry/dist/lib/types.d.ts new file mode 100644 index 00000000..feaff3ab --- /dev/null +++ b/packages/registry/dist/lib/types.d.ts @@ -0,0 +1,2 @@ +export interface Noop { +} diff --git a/packages/registry/dist/lib/types.js b/packages/registry/dist/lib/types.js new file mode 100644 index 00000000..8a7dab1e --- /dev/null +++ b/packages/registry/dist/lib/types.js @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ== \ No newline at end of file diff --git a/packages/registry/main.d.ts b/packages/registry/dist/main.d.ts similarity index 100% rename from packages/registry/main.d.ts rename to packages/registry/dist/main.d.ts diff --git a/packages/registry/dist/main.js b/packages/registry/dist/main.js new file mode 100644 index 00000000..fa58a448 --- /dev/null +++ b/packages/registry/dist/main.js @@ -0,0 +1,15 @@ +#!/usr/bin/env node +import { defaults } from './_cli.js'; +defaults(); +import { cli } from './cli.js'; +import { register as registerInfo } from './commands/info.js'; +registerInfo(cli); +const argv = cli.argv; +if (argv.help) { + cli.showHelp(); + process.exit(); +} +else if (argv.v || argv.version) { + process.exit(); +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQUMsUUFBUSxFQUFFLENBQUE7QUFDaEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUU5QixPQUFPLEVBQUUsUUFBUSxJQUFJLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBRWhGLE1BQU0sSUFBSSxHQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUM7QUFFM0IsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO0lBQ1gsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2YsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0NBQ2xCO0tBQU0sSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7SUFDL0IsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0NBQ2xCIn0= \ No newline at end of file diff --git a/packages/registry/types.d.ts b/packages/registry/dist/types.d.ts similarity index 100% rename from packages/registry/types.d.ts rename to packages/registry/dist/types.d.ts diff --git a/packages/registry/dist/types.js b/packages/registry/dist/types.js new file mode 100644 index 00000000..b22f0a6d --- /dev/null +++ b/packages/registry/dist/types.js @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9 \ No newline at end of file diff --git a/packages/registry/index.d.ts b/packages/registry/index.d.ts deleted file mode 100644 index fe6af40a..00000000 --- a/packages/registry/index.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export * from './lib/index'; -export declare const logger: import("@plastichub/core/debug").Logger; -export { sanitize } from './_cli'; -export { MODULE_NAME } from './constants'; diff --git a/packages/registry/index.js b/packages/registry/index.js deleted file mode 100644 index e8f68973..00000000 --- a/packages/registry/index.js +++ /dev/null @@ -1,26 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.MODULE_NAME = exports.sanitize = exports.logger = void 0; -const debug_1 = require("@plastichub/core/debug"); -const constants_1 = require("./constants"); -__exportStar(require("./lib/index"), exports); -exports.logger = (0, debug_1.logger)(constants_1.MODULE_NAME); -var _cli_1 = require("./_cli"); -Object.defineProperty(exports, "sanitize", { enumerable: true, get: function () { return _cli_1.sanitize; } }); -var constants_2 = require("./constants"); -Object.defineProperty(exports, "MODULE_NAME", { enumerable: true, get: function () { return constants_2.MODULE_NAME; } }); -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/packages/registry/index.js.map b/packages/registry/index.js.map deleted file mode 100644 index 69c25493..00000000 --- a/packages/registry/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,kDAA0D;AAE1D,2CAAyC;AACzC,8CAA2B;AAEd,QAAA,MAAM,GAAG,IAAA,cAAO,EAAC,uBAAW,CAAC,CAAA;AAC1C,+BAAiC;AAAxB,gGAAA,QAAQ,OAAA;AACjB,yCAAyC;AAAhC,wGAAA,WAAW,OAAA"} \ No newline at end of file diff --git a/packages/registry/lib/index.d.ts b/packages/registry/lib/index.d.ts index 5f157516..5db70e60 100644 --- a/packages/registry/lib/index.d.ts +++ b/packages/registry/lib/index.d.ts @@ -1,2 +1,2 @@ -export * from './types'; -export * from './keyv'; +export * from './types.js'; +export * from './keyv.js'; diff --git a/packages/registry/lib/index.js b/packages/registry/lib/index.js index fb8a92dc..be262811 100644 --- a/packages/registry/lib/index.js +++ b/packages/registry/lib/index.js @@ -1,19 +1,3 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -__exportStar(require("./types"), exports); -__exportStar(require("./keyv"), exports); -//# sourceMappingURL=index.js.map \ No newline at end of file +export * from './types.js'; +export * from './keyv.js'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsWUFBWSxDQUFBO0FBQzFCLGNBQWMsV0FBVyxDQUFBIn0= \ No newline at end of file diff --git a/packages/registry/lib/keyv.js b/packages/registry/lib/keyv.js index 9bc8636a..7c2f2c98 100644 --- a/packages/registry/lib/keyv.js +++ b/packages/registry/lib/keyv.js @@ -1,28 +1,21 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.list = exports.set = exports.get = exports.store = void 0; -const path = require("path"); -const keyv_1 = require("keyv"); -const sqlite_1 = require("@keyv/sqlite"); -const osr_commons_1 = require("@plastichub/osr-commons"); -const store = (storePath, ns = 'ns-unknown', opts = {}) => { - const keyvSqlite = new sqlite_1.default(path.resolve((0, osr_commons_1.resolve)(storePath))); - return new keyv_1.default({ store: keyvSqlite, ttl: 5000, namespace: ns, ...opts }); +import * as path from 'path'; +import Keyv from 'keyv'; +import KeyvSqlite from '@keyv/sqlite'; +import { resolve } from '@polymech/commons'; +export const store = (storePath, ns = 'ns-unknown', opts = {}) => { + const keyvSqlite = new KeyvSqlite(path.resolve(resolve(storePath))); + return new Keyv({ store: keyvSqlite, ttl: 5000, namespace: ns, ...opts }); }; -exports.store = store; -const get = async (key, storePath, ns = 'ns-unknown', opts = {}) => { - const keyv = (0, exports.store)(storePath, ns, opts); +export const get = async (key, storePath, ns = 'ns-unknown', opts = {}) => { + const keyv = store(storePath, ns, opts); return await keyv.get(key); }; -exports.get = get; -const set = async (key, value, storePath, ns = 'ns-unknown', opts = {}) => { - const keyv = (0, exports.store)(storePath, ns, opts); +export const set = async (key, value, storePath, ns = 'ns-unknown', opts = {}) => { + const keyv = store(storePath, ns, opts); return await keyv.set(key, value); }; -exports.set = set; -const list = async (key, value, storePath, ns = 'ns-unknown', opts = {}) => { - const keyv = (0, exports.store)(storePath, ns, opts); +export const list = async (key, value, storePath, ns = 'ns-unknown', opts = {}) => { + const keyv = store(storePath, ns, opts); return await keyv.set(key, value); }; -exports.list = list; -//# sourceMappingURL=keyv.js.map \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5di5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9saWIva2V5di50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQTtBQUM1QixPQUFPLElBQUksTUFBTSxNQUFNLENBQUE7QUFDdkIsT0FBTyxVQUFVLE1BQU0sY0FBYyxDQUFBO0FBRXJDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUUzQyxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxTQUFpQixFQUFFLEtBQWEsWUFBWSxFQUFFLE9BQVksRUFBRSxFQUFFLEVBQUU7SUFDbEYsTUFBTSxVQUFVLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ25FLE9BQU8sSUFBSSxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLENBQUE7QUFDN0UsQ0FBQyxDQUFBO0FBQ0QsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEtBQUssRUFBRSxHQUFXLEVBQUUsU0FBaUIsRUFBRSxLQUFhLFlBQVksRUFBRSxPQUFZLEVBQUUsRUFBRSxFQUFFO0lBQ25HLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ3ZDLE9BQU8sTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQzlCLENBQUMsQ0FBQTtBQUNELE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQUUsR0FBVyxFQUFFLEtBQVUsRUFBRSxTQUFpQixFQUFFLEtBQWEsWUFBWSxFQUFFLE9BQVksRUFBRSxFQUFFLEVBQUU7SUFDL0csTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDdkMsT0FBTyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFBO0FBQ3JDLENBQUMsQ0FBQTtBQUNELE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxLQUFLLEVBQUUsR0FBVyxFQUFFLEtBQVUsRUFBRSxTQUFpQixFQUFFLEtBQWEsWUFBWSxFQUFFLE9BQVksRUFBRSxFQUFFLEVBQUU7SUFDaEgsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDdkMsT0FBTyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFBO0FBQ3JDLENBQUMsQ0FBQSJ9 \ No newline at end of file diff --git a/packages/registry/lib/types.js b/packages/registry/lib/types.js index 3da8b318..93c3d7e2 100644 --- a/packages/registry/lib/types.js +++ b/packages/registry/lib/types.js @@ -1,3 +1,2 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=types.js.map \ No newline at end of file +export {}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbGliL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ== \ No newline at end of file diff --git a/packages/registry/main.js b/packages/registry/main.js deleted file mode 100644 index a5a53b3c..00000000 --- a/packages/registry/main.js +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env node -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const _cli_1 = require("./_cli"); -(0, _cli_1.defaults)(); -const cli = require("yargs"); -const info_1 = require("./commands/info"); -(0, info_1.register)(cli); -const argv = cli.argv; -if (argv.help) { - cli.showHelp(); - process.exit(); -} -else if (argv.v || argv.version) { - process.exit(); -} -//# sourceMappingURL=main.js.map \ No newline at end of file diff --git a/packages/registry/main.js.map b/packages/registry/main.js.map deleted file mode 100644 index aab21cdc..00000000 --- a/packages/registry/main.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"main.js","sourceRoot":"","sources":["src/main.ts"],"names":[],"mappings":";;;AACA,iCAAkC;AAAC,IAAA,eAAQ,GAAE,CAAA;AAC7C,6BAA4B;AAE5B,0CAA2D;AAAC,IAAA,eAAY,EAAC,GAAG,CAAC,CAAA;AAE7E,MAAM,IAAI,GAAQ,GAAG,CAAC,IAAI,CAAC;AAE3B,IAAI,IAAI,CAAC,IAAI,EAAE;IACX,GAAG,CAAC,QAAQ,EAAE,CAAC;IACf,OAAO,CAAC,IAAI,EAAE,CAAC;CAClB;KAAM,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;IAC/B,OAAO,CAAC,IAAI,EAAE,CAAC;CAClB"} \ No newline at end of file diff --git a/packages/registry/package-lock.json b/packages/registry/package-lock.json index eb98f624..ce392c04 100644 --- a/packages/registry/package-lock.json +++ b/packages/registry/package-lock.json @@ -9,183 +9,152 @@ "version": "0.1.0", "license": "BSD-3-Clause", "dependencies": { - "@keyv/sqlite": "^4.0.1", - "@plastichub/core": "^0.1.9", - "@plastichub/fs": "^0.13.32", - "@plastichub/osr-cli-commons": "^0.5.1", - "@plastichub/osr-commons": "^0.3.4", - "@types/node": "^14.17.5", - "@types/yargs": "^17.0.2", + "@keyv/sqlite": "^4.0.6", + "@polymech/commons": "file:../commons", + "@polymech/core": "file:../core", + "@polymech/fs": "file:../fs", + "@polymech/log": "file:../log", + "@types/node": "^24.10.1", "env-var": "^7.0.1", - "keyv": "^5.1.0", - "keyv-file": "^0.2.0", + "keyv": "^5.5.4", + "keyv-file": "^5.3.3", "p-map": "^4.0.0", - "typescript": "^4.3.5", - "yargs": "^14.2.3" + "tslog": "^4.10.2", + "typescript": "^4.9.5", + "yargs": "^18.0.0" }, "bin": { - "osr-registry": "main.js" + "polymech-registry": "main.js" }, "engines": { "node": ">= 14.0.0" } }, + "../commons": { + "name": "@polymech/commons", + "version": "0.2.6", + "license": "BSD", + "dependencies": { + "@polymech/core": "file:../core", + "@polymech/fs": "file:../fs", + "@repo/typescript-config": "file:../typescript-config", + "@schemastore/package": "^0.0.10", + "env-var": "^7.5.0", + "glob": "^10.4.5", + "js-yaml": "^4.1.0", + "jsonpath-plus": "^10.3.0", + "normalize-url": "^8.0.1", + "p-map": "^7.0.3", + "p-throttle": "^4.1.1", + "regedit": "^5.1.4", + "tslog": "^3.3.3", + "tsup": "^2.0.3", + "yargs": "^17.7.2", + "zod": "^3.24.3", + "zod-to-json-schema": "^3.24.5", + "zod-to-ts": "^1.2.0" + }, + "bin": { + "pm-cli": "dist/main.js" + }, + "devDependencies": { + "@types/node": "^22.12.0", + "typescript": "^5.7.3" + } + }, + "../core": { + "name": "@polymech/core", + "version": "0.2.6", + "license": "BSD", + "dependencies": { + "tslog": "^3.3.3", + "type-fest": "^4.37.0", + "zod": "^3.24.1" + }, + "devDependencies": { + "@repo/typescript-config": "../typescript-config", + "@types/node": "^22.12.0", + "typescript": "^5.7.3" + } + }, + "../fs": { + "name": "@polymech/fs", + "version": "0.13.41", + "license": "BSD-3-Clause", + "dependencies": { + "@polymech/core": "file:../core", + "@repo/typescript-config": "file:../typescript-config", + "denodeify": "^1.2.1", + "glob": "^10.4.1", + "mime": "^2.0.3", + "minimatch": "^10.0.1", + "mkdirp": "^3.0.1", + "q": "^1.4.1", + "rimraf": "^6.0.1", + "write-file-atomic": "^6.0.0", + "yargs": "^17.7.2" + }, + "devDependencies": { + "@types/denodeify": "^1.2.31", + "@types/mime": "^2.0.0", + "@types/node": "^22.10.2", + "fs-extra": "^4.0.2", + "globals": "^15.14.0", + "ts-node": "^10.9.1", + "typescript": "^5.7.2" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "../log": { + "name": "@polymech/log", + "version": "0.2.6", + "license": "BSD", + "dependencies": { + "@polymech/core": "file:../core", + "@repo/typescript-config": "file:../typescript-config", + "tslog": "^3.3.3", + "tsup": "^8.3.5", + "zod": "^3.24.1" + }, + "devDependencies": { + "@eslint/js": "^9.18.0", + "@types/node": "^22.10.9", + "eslint": "^8.57.1", + "eslint-plugin-import": "^2.31.0", + "eslint-plugin-regexp": "^2.7.0", + "ts-node": "^10.9.1", + "typescript": "^4.9.5", + "typescript-eslint": "^8.20.0" + } + }, "node_modules/@gar/promisify": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", - "license": "MIT" - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "license": "ISC", - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "license": "MIT", - "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", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "license": "MIT" - }, - "node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "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==", - "license": "MIT", - "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", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } + "optional": true }, "node_modules/@keyv/serialize": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@keyv/serialize/-/serialize-1.0.1.tgz", - "integrity": "sha512-kKXeynfORDGPUEEl2PvTExM2zs+IldC6ZD8jPcfvI351MDNtfMlw9V9s4XZXuJNDK2qR5gbEKxRyoYx3quHUVQ==", - "license": "MIT", - "dependencies": { - "buffer": "^6.0.3" - } + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@keyv/serialize/-/serialize-1.1.1.tgz", + "integrity": "sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==", + "license": "MIT" }, "node_modules/@keyv/sqlite": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@keyv/sqlite/-/sqlite-4.0.1.tgz", - "integrity": "sha512-Ngs9jhElXN7efS9WvvCC/p6rXMbihna8eNLVBc421Zf+VcFd+pR4DOcS6yA9V22EKtAy4DEj7LtvEEIm0bb80A==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@keyv/sqlite/-/sqlite-4.0.6.tgz", + "integrity": "sha512-xfUYps2HtxuQFsZlXv3qTs9p9mJMOSlNmCnd9R4UYxFlQJ1qLnKT+P0vjhQX9HBwnhKuhsinkmwTbooYFeFr4A==", "license": "MIT", "dependencies": { "sqlite3": "^5.1.7" }, "engines": { "node": ">= 18" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" + "peerDependencies": { + "keyv": "^5.5.3" } }, "node_modules/@npmcli/fs": { @@ -214,810 +183,21 @@ "node": ">=10" } }, - "node_modules/@npmcli/move-file/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "license": "MIT", - "optional": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } + "node_modules/@polymech/commons": { + "resolved": "../commons", + "link": true }, - "node_modules/@npmcli/move-file/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "license": "ISC", - "optional": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } + "node_modules/@polymech/core": { + "resolved": "../core", + "link": true }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=14" - } + "node_modules/@polymech/fs": { + "resolved": "../fs", + "link": true }, - "node_modules/@plastichub/core": { - "version": "0.1.9", - "resolved": "https://registry.npmjs.org/@plastichub/core/-/core-0.1.9.tgz", - "integrity": "sha512-yFRnXBzzq65w95r/Y7RvFxHi8dvrrNv9alH5g+ZihOxaKEsZH2TI05Vf4KaQ9oYSNJXEiB7PWJSE0/ormWPvQw==", - "dependencies": { - "base-64": "^0.1.0", - "chalk": "^2.4.1", - "cli-spinners": "^1.3.1", - "defaults": "^1.0.3", - "jsonpath": "^1.1.1", - "qs": "^6.4.0", - "tslog": "^3.3.3", - "typescript": "^4.3.5" - } - }, - "node_modules/@plastichub/fs": { - "version": "0.13.32", - "resolved": "https://registry.npmjs.org/@plastichub/fs/-/fs-0.13.32.tgz", - "integrity": "sha512-O6IR+mG7ZWQNlsPtVrY280BLZG6QgQDJbaAWHEiz/v2NXbPXl5+0rfki4poPnJUvZDYI09vum+kP1n2BPUxaMw==", - "dependencies": { - "@plastichub/core": "^0.2.0", - "@types/minimatch": "^3.0.3", - "@types/node": "^14.11.10", - "denodeify": "^1.2.1", - "errno": "^0.1.4", - "mime": "^2.0.3", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "progress-stream": "^1.2.0", - "q": "^1.4.1", - "rimraf": "^2.6.2", - "throttle": "^1.0.3", - "trash": "^4.0.1", - "typescript": "^4.0.3", - "write-file-atomic": "^1.3.1" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/@plastichub/fs/node_modules/@plastichub/core": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@plastichub/core/-/core-0.2.0.tgz", - "integrity": "sha512-mTfe8aaWb5BmdT22VoPTIbK39cWxdI32yRI+jMTH7W5BoZN3AnQ8xv6CK31ju57hSyhlmVjdnVsDvRooFug92w==", - "dependencies": { - "tslog": "^3.3.3" - } - }, - "node_modules/@plastichub/osr-cli-commons": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/@plastichub/osr-cli-commons/-/osr-cli-commons-0.5.1.tgz", - "integrity": "sha512-qEhCgnLsQ5xHivRL1/lfWGb7sBZSKYnjhvN9bdh8bA/qvIHbUa4azoFbC+wKMX6DxMZNlnzRUqH3fQvTQ8kkoQ==", - "license": "BSD-3-Clause", - "dependencies": { - "@plastichub/core": "^0.2.6", - "@plastichub/fs": "^0.13.32", - "@plastichub/osr-commons": "^0.3.3", - "@types/cacache": "^15.0.1", - "@types/node": "^20.14.9", - "@types/which": "^3.0.4", - "@types/yargs": "^17.0.2", - "bluebird": "^3.7.2", - "cacache": "^16.1.2", - "chalk": "^2.4.1", - "convert-units": "^2.3.4", - "cryptr": "^6.0.3", - "env-var": "^7.1.1", - "fast-glob": "^3.2.11", - "glob": "^10.4.1", - "glob-base": "github:justin-caribou/glob-base", - "is-glob": "^4.0.3", - "parse-glob": "^3.0.4", - "rage-edit": "^1.2.0", - "typescript": "^4.3.5", - "which": "^4.0.0", - "yargs": "^17.5.1" - }, - "bin": { - "osr-cli": "main.js" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@plastichub/osr-cli-commons/node_modules/@npmcli/fs": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", - "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", - "license": "ISC", - "dependencies": { - "@gar/promisify": "^1.1.3", - "semver": "^7.3.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@plastichub/osr-cli-commons/node_modules/@npmcli/move-file": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", - "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", - "deprecated": "This functionality has been moved to @npmcli/fs", - "license": "MIT", - "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@plastichub/osr-cli-commons/node_modules/@plastichub/core": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/@plastichub/core/-/core-0.2.6.tgz", - "integrity": "sha512-DF2IUZu6cw8+iVnFv2BFvd+s/7DYfrfXh7o3Uhg0IjbZ/QOIXY21URarnMQoTl9NEwUKN8ZZIHJmOIulT8helg==", - "license": "BSD", - "dependencies": { - "deepmerge": "^4.3.1", - "tslog": "^3.3.3" - } - }, - "node_modules/@plastichub/osr-cli-commons/node_modules/@types/node": { - "version": "20.16.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.16.12.tgz", - "integrity": "sha512-LfPFB0zOeCeCNQV3i+67rcoVvoN5n0NVuR2vLG0O5ySQMgchuZlC4lgz546ZOJyDtj5KIgOxy+lacOimfqZAIA==", - "license": "MIT", - "dependencies": { - "undici-types": "~6.19.2" - } - }, - "node_modules/@plastichub/osr-cli-commons/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==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@plastichub/osr-cli-commons/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@plastichub/osr-cli-commons/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@plastichub/osr-cli-commons/node_modules/cacache": { - "version": "16.1.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", - "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", - "license": "ISC", - "dependencies": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "glob": "^8.0.1", - "infer-owner": "^1.0.4", - "lru-cache": "^7.7.1", - "minipass": "^3.1.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": "^9.0.0", - "tar": "^6.1.11", - "unique-filename": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@plastichub/osr-cli-commons/node_modules/cacache/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@plastichub/osr-cli-commons/node_modules/cacache/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@plastichub/osr-cli-commons/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@plastichub/osr-cli-commons/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@plastichub/osr-cli-commons/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT" - }, - "node_modules/@plastichub/osr-cli-commons/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/@plastichub/osr-cli-commons/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@plastichub/osr-cli-commons/node_modules/glob/node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/@plastichub/osr-cli-commons/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@plastichub/osr-cli-commons/node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", - "license": "ISC", - "engines": { - "node": ">=16" - } - }, - "node_modules/@plastichub/osr-cli-commons/node_modules/lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/@plastichub/osr-cli-commons/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@plastichub/osr-cli-commons/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "license": "MIT", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@plastichub/osr-cli-commons/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@plastichub/osr-cli-commons/node_modules/rimraf/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@plastichub/osr-cli-commons/node_modules/rimraf/node_modules/glob": { - "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", - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@plastichub/osr-cli-commons/node_modules/rimraf/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@plastichub/osr-cli-commons/node_modules/ssri": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", - "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", - "license": "ISC", - "dependencies": { - "minipass": "^3.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@plastichub/osr-cli-commons/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@plastichub/osr-cli-commons/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==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@plastichub/osr-cli-commons/node_modules/unique-filename": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", - "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", - "license": "ISC", - "dependencies": { - "unique-slug": "^3.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@plastichub/osr-cli-commons/node_modules/unique-slug": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", - "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@plastichub/osr-cli-commons/node_modules/which": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", - "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", - "license": "ISC", - "dependencies": { - "isexe": "^3.1.1" - }, - "bin": { - "node-which": "bin/which.js" - }, - "engines": { - "node": "^16.13.0 || >=18.0.0" - } - }, - "node_modules/@plastichub/osr-cli-commons/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/@plastichub/osr-cli-commons/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/@plastichub/osr-cli-commons/node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "license": "MIT", - "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.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@plastichub/osr-cli-commons/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/@plastichub/osr-commons": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/@plastichub/osr-commons/-/osr-commons-0.3.4.tgz", - "integrity": "sha512-u1//H4T0Z88wEJtMcvSm8FETsZpO6RFS+C/Qvi6HQUR21cyieg3zs3TxFc9JAwkP+kvPImw8f3y5gisuuJOUDA==", - "license": "BSD-3-Clause", - "dependencies": { - "@plastichub/core": "^0.2.1", - "@plastichub/fs": "^0.13.32", - "convert-units": "^2.3.4", - "cryptr": "^6.0.3", - "env-var": "^7.1.1", - "filenamify": "^4.3.0", - "querystring": "^0.2.1", - "sanitize-filename": "^1.6.3", - "shell-escape": "^0.2.0", - "tslog": "^3.3.3", - "typescript": "^4.3.5", - "yargs": "^17.5.1" - }, - "bin": { - "osr-commons": "main.js" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@plastichub/osr-commons/node_modules/@plastichub/core": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/@plastichub/core/-/core-0.2.6.tgz", - "integrity": "sha512-DF2IUZu6cw8+iVnFv2BFvd+s/7DYfrfXh7o3Uhg0IjbZ/QOIXY21URarnMQoTl9NEwUKN8ZZIHJmOIulT8helg==", - "license": "BSD", - "dependencies": { - "deepmerge": "^4.3.1", - "tslog": "^3.3.3" - } - }, - "node_modules/@plastichub/osr-commons/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==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@plastichub/osr-commons/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@plastichub/osr-commons/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@plastichub/osr-commons/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@plastichub/osr-commons/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT" - }, - "node_modules/@plastichub/osr-commons/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/@plastichub/osr-commons/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@plastichub/osr-commons/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@plastichub/osr-commons/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==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@plastichub/osr-commons/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/@plastichub/osr-commons/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/@plastichub/osr-commons/node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "license": "MIT", - "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.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@plastichub/osr-commons/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/@sindresorhus/df": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/df/-/df-2.1.0.tgz", - "integrity": "sha512-yozEsK3X8sEjh9fiolh3JntMUuGKe2n2t8gtE3yZ1PqAFFeaSxTrSiEVORy/YkPzUsxQ85RzLcGqmqSOgiFhtg==", - "dependencies": { - "execa": "^0.2.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@sindresorhus/df/node_modules/execa": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.2.2.tgz", - "integrity": "sha512-zmBGzLd3nhA/NB9P7VLoceAO6vyYPftvl809Vjwe5U2fYI9tYWbeKqP3wZlAw9WS+znnkogf/bhSU+Gcn2NbkQ==", - "dependencies": { - "cross-spawn-async": "^2.1.1", - "npm-run-path": "^1.0.0", - "object-assign": "^4.0.1", - "path-key": "^1.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/@sindresorhus/df/node_modules/npm-run-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-1.0.0.tgz", - "integrity": "sha512-PrGAi1SLlqNvKN5uGBjIgnrTb8fl0Jz0a3JJmeMcGnIBh7UE9Gc4zsAMlwDajOMg2b1OgP6UPvoLUboTmMZPFA==", - "dependencies": { - "path-key": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@sindresorhus/df/node_modules/path-key": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-1.0.0.tgz", - "integrity": "sha512-T3hWy7tyXlk3QvPFnT+o2tmXRzU4GkitkUWLp/WZ0S/FXd7XMx176tRurgTvHTNMJOQzTcesHNpBqetH86mQ9g==", - "engines": { - "node": ">=0.10.0" - } + "node_modules/@polymech/log": { + "resolved": "../log", + "link": true }, "node_modules/@tootallnate/once": { "version": "1.1.2", @@ -1029,44 +209,15 @@ "node": ">= 6" } }, - "node_modules/@types/cacache": { - "version": "15.0.1", - "resolved": "https://registry.npmjs.org/@types/cacache/-/cacache-15.0.1.tgz", - "integrity": "sha512-JhL2GFJuHMx4RMg4z0XfXB4ZkKdyiOaOLpjoYMXcyKfrkF3IBXNZBj6/Peo9zX/7PPHyfI63NWVD589cI2YTzg==", + "node_modules/@types/node": { + "version": "24.10.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz", + "integrity": "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==", "license": "MIT", "dependencies": { - "@types/node": "*" + "undici-types": "~7.16.0" } }, - "node_modules/@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" - }, - "node_modules/@types/node": { - "version": "14.18.42", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.42.tgz", - "integrity": "sha512-xefu+RBie4xWlK8hwAzGh3npDz/4VhF6icY/shU+zv/1fNn+ZVG7T7CRwe9LId9sAYRPxI+59QBPuKL3WpyGRg==" - }, - "node_modules/@types/which": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/which/-/which-3.0.4.tgz", - "integrity": "sha512-liyfuo/106JdlgSchJzXEQCVArk0CvevqPote8F8HgWgJ3dRCcTHgJIsLDuee0kxk/mhbInzIZk3QWSZJ8R+2w==", - "license": "MIT" - }, - "node_modules/@types/yargs": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" - }, "node_modules/abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", @@ -1074,17 +225,6 @@ "license": "ISC", "optional": true }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" - } - }, "node_modules/agent-base": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", @@ -1098,35 +238,10 @@ "node": ">= 6.0.0" } }, - "node_modules/agent-base/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "license": "MIT", - "optional": true, - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/agent-base/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT", - "optional": true - }, "node_modules/agentkeepalive": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", - "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.6.0.tgz", + "integrity": "sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==", "license": "MIT", "optional": true, "dependencies": { @@ -1150,28 +265,19 @@ } }, "node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "optional": true, "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.1.0.tgz", + "integrity": "sha512-tLIEcj5GuR2RSTnxNKdkK0dJ/GrC7P38sUkiDmDuHfsHmbagTFAxDVIBltoklXEVIQ/f14IL8IMJ5pn9Hez1Ew==", "license": "ISC", "optional": true }, @@ -1190,59 +296,12 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/are-we-there-yet/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "license": "MIT", - "optional": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/are-we-there-yet/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "license": "MIT", - "optional": true, - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", - "dependencies": { - "array-uniq": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "node_modules/base-64": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz", - "integrity": "sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA==" + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT", + "optional": true }, "node_modules/base64-js": { "version": "1.5.1", @@ -1261,7 +320,8 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/bindings": { "version": "1.5.0", @@ -1283,7 +343,18 @@ "readable-stream": "^3.4.0" } }, - "node_modules/bl/node_modules/buffer": { + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "license": "MIT", + "optional": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/buffer": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", @@ -1307,84 +378,6 @@ "ieee754": "^1.1.13" } }, - "node_modules/bl/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/bl/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "license": "MIT" - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, "node_modules/cacache": { "version": "15.3.0", "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", @@ -1415,69 +408,6 @@ "node": ">= 10" } }, - "node_modules/cacache/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "license": "MIT", - "optional": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cacache/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "license": "ISC", - "optional": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/chownr": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", @@ -1496,44 +426,69 @@ "node": ">=6" } }, - "node_modules/cli-spinners": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz", - "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==", - "engines": { - "node": ">=4" - } - }, "node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz", + "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==", + "license": "ISC", "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, "engines": { - "node": ">=0.8" + "node": ">=20" } }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "node_modules/cliui/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", + "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", + "license": "MIT" + }, + "node_modules/cliui/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "license": "MIT", "dependencies": { - "color-name": "1.1.3" + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + "node_modules/cliui/node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } }, "node_modules/color-support": { "version": "1.1.3", @@ -1548,7 +503,9 @@ "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT", + "optional": true }, "node_modules/console-control-strings": { "version": "1.1.0", @@ -1557,87 +514,22 @@ "license": "ISC", "optional": true }, - "node_modules/convert-units": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/convert-units/-/convert-units-2.3.4.tgz", - "integrity": "sha512-ERHfdA0UhHJp1IpwE6PnFJx8LqG7B1ZjJ20UvVCmopEnVCfER68Tbe3kvN63dLbYXDA2xFWRE6zd4Wsf0w7POg==", + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "optional": true, "dependencies": { - "lodash.foreach": "2.3.x", - "lodash.keys": "2.3.x" - } - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "ms": "^2.1.3" }, "engines": { - "node": ">=4.8" - } - }, - "node_modules/cross-spawn-async": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/cross-spawn-async/-/cross-spawn-async-2.2.5.tgz", - "integrity": "sha512-snteb3aVrxYYOX9e8BabYFK9WhCDhTlw1YQktfTthBogxri4/2r9U2nQc0ffY73ZAxezDc+U8gvHAeU1wy1ubQ==", - "deprecated": "cross-spawn no longer requires a build toolchain, use it instead", - "dependencies": { - "lru-cache": "^4.0.0", - "which": "^1.2.8" - } - }, - "node_modules/cross-spawn-async/node_modules/lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "node_modules/cross-spawn-async/node_modules/yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" - }, - "node_modules/cross-spawn/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/cryptr": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/cryptr/-/cryptr-6.3.0.tgz", - "integrity": "sha512-TA4byAuorT8qooU9H8YJhBwnqD151i1rcauHfJ3Divg6HmukHB2AYMp0hmjv2873J2alr4t15QqC7zAnWFrtfQ==", - "license": "MIT" - }, - "node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "engines": { - "node": ">=0.10.0" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/decompress-response": { @@ -1664,31 +556,6 @@ "node": ">=4.0.0" } }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "dependencies": { - "clone": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", @@ -1696,41 +563,21 @@ "license": "MIT", "optional": true }, - "node_modules/denodeify": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", - "integrity": "sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==" - }, "node_modules/detect-libc": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", - "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", "license": "Apache-2.0", "engines": { "node": ">=8" } }, - "node_modules/dir-glob": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", - "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", - "dependencies": { - "path-type": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "license": "MIT" - }, "node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT", + "optional": true }, "node_modules/encoding": { "version": "0.1.13", @@ -1743,9 +590,9 @@ } }, "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", "license": "MIT", "dependencies": { "once": "^1.4.0" @@ -1776,17 +623,6 @@ "license": "MIT", "optional": true }, - "node_modules/errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dependencies": { - "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" - } - }, "node_modules/escalade": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", @@ -1796,116 +632,6 @@ "node": ">=6" } }, - "node_modules/escape-string-applescript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-applescript/-/escape-string-applescript-2.0.0.tgz", - "integrity": "sha512-Z7OsRJUi5+OHT89RRJlkS8cKxIh9AyPmgtEevsSQFCx5WLIiS3hy/HRiiQZzYQMsn6MWyCDZ5elBFa/9dxT0BA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/escodegen": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=4.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "node_modules/escodegen/node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esprima": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz", - "integrity": "sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/execa": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", - "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", - "dependencies": { - "cross-spawn": "^6.0.0", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/expand-template": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", @@ -1915,196 +641,18 @@ "node": ">=6" } }, - "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" - }, - "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, "node_modules/file-uri-to-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", "license": "MIT" }, - "node_modules/filename-reserved-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", - "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/filenamify": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", - "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", - "license": "MIT", - "dependencies": { - "filename-reserved-regex": "^2.0.0", - "strip-outer": "^1.0.1", - "trim-repeated": "^1.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/foreground-child": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", - "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", - "license": "ISC", - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/foreground-child/node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/foreground-child/node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/foreground-child/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/foreground-child/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/foreground-child/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/foreground-child/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/fs-constants": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", "license": "MIT" }, - "node_modules/fs-extra": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" - } - }, "node_modules/fs-minipass": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", @@ -2120,12 +668,9 @@ "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "license": "ISC", + "optional": true }, "node_modules/gauge": { "version": "4.0.4", @@ -2148,61 +693,6 @@ "node": "^12.13.0 || ^14.15.0 || >=16.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==", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/gauge/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT", - "optional": true - }, - "node_modules/gauge/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/gauge/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "optional": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "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==", - "license": "MIT", - "optional": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -2211,25 +701,16 @@ "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/get-intrinsic": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", - "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" + "node_modules/get-east-asian-width": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz", + "integrity": "sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==", + "license": "MIT", + "engines": { + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", - "engines": { - "node": ">=4" + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/github-from-package": { @@ -2244,6 +725,7 @@ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "deprecated": "Glob versions prior to v9 are no longer supported", "license": "ISC", + "optional": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -2259,125 +741,12 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/glob-base": { - "version": "0.3.0", - "resolved": "git+ssh://git@github.com/justin-caribou/glob-base.git#d4fe4313e55988a902a3940127cb946a7defbb50", - "license": "MIT", - "dependencies": { - "glob-parent": "^6.0.2", - "is-glob": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/glob-base/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/glob-base/node_modules/glob-parent/node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/glob-base/node_modules/is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", - "license": "MIT", - "dependencies": { - "is-extglob": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/glob-base/node_modules/is-glob/node_modules/is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/globby": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", - "integrity": "sha512-yANWAN2DUcBtuus5Cpd+SKROzXHs2iVXFZt/Ykrfz6SAXqacLX25NZpltE+39ceMexYF4TtEadjuSTw8+3wX4g==", - "dependencies": { - "array-union": "^1.0.1", - "dir-glob": "^2.0.0", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC", + "optional": true }, "node_modules/has-unicode": { "version": "2.0.1", @@ -2387,9 +756,9 @@ "optional": true }, "node_modules/http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", "license": "BSD-2-Clause", "optional": true }, @@ -2408,31 +777,6 @@ "node": ">= 6" } }, - "node_modules/http-proxy-agent/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "license": "MIT", - "optional": true, - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/http-proxy-agent/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT", - "optional": true - }, "node_modules/https-proxy-agent": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", @@ -2447,31 +791,6 @@ "node": ">= 6" } }, - "node_modules/https-proxy-agent/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "license": "MIT", - "optional": true, - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/https-proxy-agent/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT", - "optional": true - }, "node_modules/humanize-ms": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", @@ -2512,17 +831,15 @@ "type": "consulting", "url": "https://feross.org/support" } - ] - }, - "node_modules/ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==" + ], + "license": "BSD-3-Clause" }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "license": "MIT", + "optional": true, "engines": { "node": ">=0.8.19" } @@ -2540,12 +857,16 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "license": "ISC" + "license": "ISC", + "optional": true }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "license": "ISC", + "optional": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -2554,7 +875,8 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" }, "node_modules/ini": { "version": "1.3.8", @@ -2563,55 +885,23 @@ "license": "ISC" }, "node_modules/ip-address": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", - "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.1.0.tgz", + "integrity": "sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==", "license": "MIT", "optional": true, - "dependencies": { - "jsbn": "1.1.0", - "sprintf-js": "^1.1.3" - }, "engines": { "node": ">= 12" } }, - "node_modules/is-dotfile": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha512-9YclgOGtN/f8zx0Pr4FQYMdibBiTaH3sn52vjYip4ZSf6C4/6RfTEZ+MR4GvKhCxdPh21Bg42/WL55f6KSnKpg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "engines": { - "node": ">=4" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, + "optional": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/is-lambda": { @@ -2621,315 +911,31 @@ "license": "MIT", "optional": true }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/jsbn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", - "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", - "license": "MIT", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC", "optional": true }, - "node_modules/jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsonpath": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz", - "integrity": "sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==", - "dependencies": { - "esprima": "1.2.2", - "static-eval": "2.0.2", - "underscore": "1.12.1" - } - }, "node_modules/keyv": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.1.0.tgz", - "integrity": "sha512-FUr1fbKVsj9IZkPkY9reJ80Lp2B3ldtFXH+xK0wvZYzOpwgHV1er3xP4JUhu2cgkV2X3BJQw+hzAbIGqa+hNIA==", + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.5.4.tgz", + "integrity": "sha512-eohl3hKTiVyD1ilYdw9T0OiB4hnjef89e3dMYKz+mVKDzj+5IteTseASUsOB+EU9Tf6VNTCjDePcP6wkDGmLKQ==", "license": "MIT", + "peer": true, "dependencies": { - "@keyv/serialize": "*" + "@keyv/serialize": "^1.1.1" } }, "node_modules/keyv-file": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/keyv-file/-/keyv-file-0.2.0.tgz", - "integrity": "sha512-zUQ11eZRmilEUpV1gJSj8mBAHjyXpleQo1iCS0khb+GFRhiPfwavWgn4eDUKNlOyMZzmExnISl8HE1hNbim0gw==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/keyv-file/-/keyv-file-5.3.3.tgz", + "integrity": "sha512-uCFUhiVYf+BcA6DP4smhnRLOR4yzUUA15yJSk4/rP5oAPnF3MpfajejwvSV8l+okm+EGiW4IHP3gn+xahpvZcQ==", + "license": "MIT", "dependencies": { - "debug": "^4.1.1", - "fs-extra": "^4.0.1", - "tslib": "^1.9.3" - } - }, - "node_modules/keyv-file/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/keyv-file/node_modules/fs-extra": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", - "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "node_modules/keyv-file/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/keyv-file/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/klaw": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "integrity": "sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==", - "optionalDependencies": { - "graceful-fs": "^4.1.9" - } - }, - "node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/lodash._basebind": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash._basebind/-/lodash._basebind-2.3.0.tgz", - "integrity": "sha512-SHqM7YCuJ+BeGTs7lqpWnmdHEeF4MWxS3dksJctHFNxR81FXPOzA4bS5Vs5CpcGTkBpM8FCl+YEbQEblRw8ABg==", - "dependencies": { - "lodash._basecreate": "~2.3.0", - "lodash._setbinddata": "~2.3.0", - "lodash.isobject": "~2.3.0" - } - }, - "node_modules/lodash._basecreate": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-2.3.0.tgz", - "integrity": "sha512-vwZaWldZwS2y9b99D8i9+WtgiZXbHKsBsMrpxJEqTsNW20NhJo5W8PBQkeQO9CmxuqEYn8UkMnfEM2MMT4cVrw==", - "dependencies": { - "lodash._renative": "~2.3.0", - "lodash.isobject": "~2.3.0", - "lodash.noop": "~2.3.0" - } - }, - "node_modules/lodash._basecreatecallback": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash._basecreatecallback/-/lodash._basecreatecallback-2.3.0.tgz", - "integrity": "sha512-Ev+pDzzfVfgbiucpXijconLGRBar7/+KNCf05kSnk4CmdDVhAy1RdbU9efCJ/o9GXI08JdUGwZ+5QJ3QX3kj0g==", - "dependencies": { - "lodash._setbinddata": "~2.3.0", - "lodash.bind": "~2.3.0", - "lodash.identity": "~2.3.0", - "lodash.support": "~2.3.0" - } - }, - "node_modules/lodash._basecreatewrapper": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash._basecreatewrapper/-/lodash._basecreatewrapper-2.3.0.tgz", - "integrity": "sha512-YLycQ7k8AB9Wc1EOvLNxuRWcqipDkMXq2GCgnLWQR6qtgTb3gY3LELzEpnFshrEO4LOLs+R2EpcY+uCOZaLQ8Q==", - "dependencies": { - "lodash._basecreate": "~2.3.0", - "lodash._setbinddata": "~2.3.0", - "lodash._slice": "~2.3.0", - "lodash.isobject": "~2.3.0" - } - }, - "node_modules/lodash._createwrapper": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash._createwrapper/-/lodash._createwrapper-2.3.0.tgz", - "integrity": "sha512-XjaI/rzg9W+WO4WJDQ+PRlHD5sAMJ1RhJLuT65cBxLCb1kIYs4U20jqvTDGAWyVT3c34GYiLd9AreHYuB/8yJA==", - "dependencies": { - "lodash._basebind": "~2.3.0", - "lodash._basecreatewrapper": "~2.3.0", - "lodash.isfunction": "~2.3.0" - } - }, - "node_modules/lodash._objecttypes": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.3.0.tgz", - "integrity": "sha512-jbA6QyHt9cw3BzvbWzIcnU3Z12jSneT6xBgz3Y782CJsN1tV5aTBKrFo2B4AkeHBNaxSrbPYZZpi1Lwj3xjdtg==" - }, - "node_modules/lodash._renative": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash._renative/-/lodash._renative-2.3.0.tgz", - "integrity": "sha512-v44MRirqYqZGK/h5UKoVqXWF2L+LUiLTU+Ogu5rHRVWJUA1uWIlHaMpG8f/OA8j++BzPMQij9+erXHtgFcbuwg==" - }, - "node_modules/lodash._setbinddata": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash._setbinddata/-/lodash._setbinddata-2.3.0.tgz", - "integrity": "sha512-xMFfbF7dL+sFtrdE49uHFmfpBAEwlFtfgMp86nQRlAF6aizYL+3MTbnYMKJSkP1W501PhsgiBED5kBbZd8kR2g==", - "dependencies": { - "lodash._renative": "~2.3.0", - "lodash.noop": "~2.3.0" - } - }, - "node_modules/lodash._shimkeys": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.3.0.tgz", - "integrity": "sha512-9Iuyi7TiWMGa/9+2rqEE+Zwye4b/U2w7Saw6UX1h6Xs88mEER+uz9FZcEBPKMVKsad9Pw5GNAcIBRnW2jNpneQ==", - "dependencies": { - "lodash._objecttypes": "~2.3.0" - } - }, - "node_modules/lodash._slice": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash._slice/-/lodash._slice-2.3.0.tgz", - "integrity": "sha512-7C61GhzRUv36gTafr+RIb+AomCAYsSATEoK4OP0VkNBcwvsM022Z22AVgqjjzikeNO1U29LzsJZDvLbiNPUYvA==" - }, - "node_modules/lodash.bind": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-2.3.0.tgz", - "integrity": "sha512-goakyOo+FMN8lttMPnZ0UNlr5RlzX4IrUXyTJPT2A0tGCMXySupond9wzvDqTvVmYTcQjIKGrj8naJDS2xWAlQ==", - "dependencies": { - "lodash._createwrapper": "~2.3.0", - "lodash._renative": "~2.3.0", - "lodash._slice": "~2.3.0" - } - }, - "node_modules/lodash.foreach": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-2.3.0.tgz", - "integrity": "sha512-yLnyptVRJd0//AbGp480grgQG9iaDIV5uOgSbpurRy1dYybPbjNTLQ3FyLEQ84buVLPG7jyaiyvpzgfOutRB3Q==", - "dependencies": { - "lodash._basecreatecallback": "~2.3.0", - "lodash.forown": "~2.3.0" - } - }, - "node_modules/lodash.forown": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash.forown/-/lodash.forown-2.3.0.tgz", - "integrity": "sha512-dUnCsuQTtq3Y7bxPNoEEqjJjPL2ftLtcz2PTeRKvhbpdM514AvnqCjewHGsm/W+dwspIwa14KoWEZeizJ7smxA==", - "dependencies": { - "lodash._basecreatecallback": "~2.3.0", - "lodash._objecttypes": "~2.3.0", - "lodash.keys": "~2.3.0" - } - }, - "node_modules/lodash.identity": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash.identity/-/lodash.identity-2.3.0.tgz", - "integrity": "sha512-NYJ2r2cwy3tkx/saqbIZEX6oQUzjWTnGRu7d/zmBjMCZos3eHBxCpbvWFWSetv8jFVrptsp6EbWjzNgBKhUoOA==" - }, - "node_modules/lodash.isfunction": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-2.3.0.tgz", - "integrity": "sha512-X5lteBYlCrVO7Qc00fxP8W90fzRp6Ax9XcHANmU3OsZHdSyIVZ9ZlX5QTTpRq8aGY+9I5Rmd0UTzTIIyWPugEQ==" - }, - "node_modules/lodash.isobject": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.3.0.tgz", - "integrity": "sha512-jo1pfV61C4TE8BfEzqaHj6EIKiSkFANJrB6yscwuCJMSRw5tbqjk4Gv7nJzk4Z6nFKobZjGZ8Qd41vmnwgeQqQ==", - "dependencies": { - "lodash._objecttypes": "~2.3.0" - } - }, - "node_modules/lodash.keys": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.3.0.tgz", - "integrity": "sha512-c0UW0ffqMxSCtoVbmVt2lERJLkEqgoOn2ejPsWXzr0ZrqRbl3uruGgwHzhtqXxi6K/ei3Ey7zimOqSwXgzazPg==", - "dependencies": { - "lodash._renative": "~2.3.0", - "lodash._shimkeys": "~2.3.0", - "lodash.isobject": "~2.3.0" - } - }, - "node_modules/lodash.noop": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.3.0.tgz", - "integrity": "sha512-NpSm8HRm1WkBBWHUveDukLF4Kfb5P5E3fjHc9Qre9A11nNubozLWD2wH3UBTZbu+KSuX8aSUvy9b+PUyEceJ8g==" - }, - "node_modules/lodash.support": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash.support/-/lodash.support-2.3.0.tgz", - "integrity": "sha512-etc7VWbB0U3Iya8ixj2xy4sDBN3jvPX7ODi8iXtn4KkkjNpdngrdc7Vlt5jub/Vgqx6/dWtp7Ml9awhCQPYKGQ==", - "dependencies": { - "lodash._renative": "~2.3.0" + "@keyv/serialize": "^1.1.1", + "tslib": "^1.14.1" } }, "node_modules/lru-cache": { @@ -2973,39 +979,6 @@ "node": ">= 10" } }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "license": "MIT", - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, "node_modules/mimic-response": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", @@ -3022,6 +995,8 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "optional": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -3033,6 +1008,7 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -3054,6 +1030,7 @@ "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", "license": "ISC", + "optional": true, "dependencies": { "minipass": "^3.0.0" }, @@ -3084,6 +1061,7 @@ "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", "license": "ISC", + "optional": true, "dependencies": { "minipass": "^3.0.0" }, @@ -3096,6 +1074,7 @@ "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", "license": "ISC", + "optional": true, "dependencies": { "minipass": "^3.0.0" }, @@ -3130,14 +1109,15 @@ } }, "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dependencies": { - "minimist": "^1.2.6" - }, + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "license": "MIT", "bin": { "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" } }, "node_modules/mkdirp-classic": { @@ -3146,65 +1126,33 @@ "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", "license": "MIT" }, - "node_modules/mount-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mount-point/-/mount-point-3.0.0.tgz", - "integrity": "sha512-jAhfD7ZCG+dbESZjcY1SdFVFqSJkh/yGbdsifHcPkvuLRO5ugK0Ssmd9jdATu29BTd4JiN+vkpMzVvsUgP3SZA==", - "dependencies": { - "@sindresorhus/df": "^1.0.1", - "pify": "^2.3.0", - "pinkie-promise": "^2.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mount-point/node_modules/@sindresorhus/df": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@sindresorhus/df/-/df-1.0.1.tgz", - "integrity": "sha512-1Hyp7NQnD/u4DSxR2DGW78TF9k7R0wZ8ev0BpMAIzA6yTQSHqNb5wTuvtcPYf4FWbVse2rW7RgDsyL8ua2vXHw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mount-point/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT", + "optional": true }, "node_modules/napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", - "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz", + "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==", "license": "MIT" }, "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", "license": "MIT", "optional": true, "engines": { "node": ">= 0.6" } }, - "node_modules/nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - }, "node_modules/node-abi": { - "version": "3.71.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.71.0.tgz", - "integrity": "sha512-SZ40vRiy/+wRTf21hxkkEjPJZpARzUMVcJoQse2EF8qkUWbbO2z7vd5oA/H6bVH6SZQ5STGcu0KRDS7biNRfxw==", + "version": "3.85.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.85.0.tgz", + "integrity": "sha512-zsFhmbkAzwhTft6nd3VxcG0cvJsT70rL+BIGHWVq5fi6MwGrHwzqKaxXE+Hl2GmnGItnDKPPkO5/LQqjVkIdFg==", "license": "MIT", "dependencies": { "semver": "^7.3.5" @@ -3244,39 +1192,6 @@ "node": ">= 10.12.0" } }, - "node_modules/node-gyp/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "license": "ISC", - "optional": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/node-gyp/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "license": "ISC", - "optional": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/nopt": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", @@ -3293,17 +1208,6 @@ "node": ">=6" } }, - "node_modules/npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", - "dependencies": { - "path-key": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/npmlog": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", @@ -3321,100 +1225,15 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "integrity": "sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==" - }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", "dependencies": { "wrappy": "1" } }, - "node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", - "engines": { - "node": ">=4" - } - }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-limit/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/p-map": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", @@ -3430,165 +1249,20 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", - "engines": { - "node": ">=4" - } - }, - "node_modules/package-json-from-dist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", - "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", - "license": "BlueOak-1.0.0" - }, - "node_modules/parse-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha512-FC5TeK0AwXzq3tUBFtH74naWkPQCEWs4K+xMxWZBlKDWu0bVHXGZa+KKqxKidd7xwhdZ19ZNuF2uO1M/r196HA==", - "license": "MIT", - "dependencies": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/parse-glob/node_modules/is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/parse-glob/node_modules/is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", - "license": "MIT", - "dependencies": { - "is-extglob": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "engines": { - "node": ">=4" - } - }, "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "license": "ISC" - }, - "node_modules/path-scurry/node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "engines": { - "node": ">=4" - } - }, - "node_modules/pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", - "dependencies": { - "pinkie": "^2.0.0" - }, + "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/prebuild-install": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", - "integrity": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", + "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", "license": "MIT", "dependencies": { "detect-libc": "^2.0.0", @@ -3596,7 +1270,7 @@ "github-from-package": "0.0.0", "minimist": "^1.2.3", "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", + "napi-build-utils": "^2.0.0", "node-abi": "^3.3.0", "pump": "^3.0.0", "rc": "^1.2.7", @@ -3611,36 +1285,12 @@ "node": ">=10" } }, - "node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/progress-stream": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/progress-stream/-/progress-stream-1.2.0.tgz", - "integrity": "sha512-MIBPjZz6oGNSw5rn2mSp+nP9FGoaVo6QsPyPVEaD4puilz5hZNa3kfnrlqRNYFsugslbU3An4mnkLLtZOaWvrA==", - "dependencies": { - "speedometer": "~0.1.2", - "through2": "~0.2.3" - } - }, "node_modules/promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", - "license": "ISC" + "license": "ISC", + "optional": true }, "node_modules/promise-retry": { "version": "2.0.1", @@ -3656,85 +1306,16 @@ "node": ">=10" } }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==" - }, - "node_modules/pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" - }, "node_modules/pump": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", - "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", + "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", "license": "MIT", "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, - "node_modules/q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" - } - }, - "node_modules/qs": { - "version": "6.11.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.1.tgz", - "integrity": "sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/querystring": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz", - "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", - "license": "MIT", - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/rage-edit": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/rage-edit/-/rage-edit-1.2.0.tgz", - "integrity": "sha512-0RspBRc2s6We4g7hRCvT5mu7YPEnfjvQK8Tt354a2uUNJCMC7MKLvo/1mLvHUCQ/zbP6siQyp5VRZN7UCpMFZg==", - "license": "MIT" - }, "node_modules/rc": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", @@ -3751,32 +1332,19 @@ } }, "node_modules/readable-stream": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.3.0.tgz", - "integrity": "sha512-MuEnA0lbSi7JS8XM+WNJlWZkHAAdm7gETHdFK//Q/mChGyj2akEFtdLZh32jSdkWGbRwCW9pn6g3LWDdDeZnBQ==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">= 6" } }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" - }, "node_modules/retry": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", @@ -3787,59 +1355,21 @@ "node": ">= 4" } }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, "node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", + "optional": true, "dependencies": { "glob": "^7.1.3" }, "bin": { "rimraf": "bin.js" - } - }, - "node_modules/run-applescript": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-3.2.0.tgz", - "integrity": "sha512-Ep0RsvAjnRcBX1p5vogbaBdAGu/8j/ewpvGqnQYunnLd9SM0vWcPJewPKNnWFggf0hF0pwIgwV5XK7qQ7UZ8Qg==", - "dependencies": { - "execa": "^0.10.0" }, - "engines": { - "node": ">=4" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/safe-buffer": { @@ -3869,19 +1399,10 @@ "license": "MIT", "optional": true }, - "node_modules/sanitize-filename": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", - "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", - "license": "WTFPL OR ISC", - "dependencies": { - "truncate-utf8-bytes": "^1.0.0" - } - }, "node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -3893,50 +1414,16 @@ "node_modules/set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" - }, - "node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shell-escape": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/shell-escape/-/shell-escape-0.2.0.tgz", - "integrity": "sha512-uRRBT2MfEOyxuECseCZd28jC1AJ8hmqqneWQ4VWUTgCAFvb3wKU1jLqj6egC4Exrr88ogg3dp+zroH4wJuaXzw==", - "license": "MIT" - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "license": "ISC", + "optional": true }, "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC", + "optional": true }, "node_modules/simple-concat": { "version": "1.0.1", @@ -3983,22 +1470,6 @@ "simple-concat": "^1.0.0" } }, - "node_modules/slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/slide": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", - "integrity": "sha512-NwrtjCg+lZoqhFU8fOwl4ay2ei8PaqCBOUV3/ektPY9trO1yQ1oXEfmHAhKArUVUr/hOHvy5f6AdP17dCM0zMw==", - "engines": { - "node": "*" - } - }, "node_modules/smart-buffer": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", @@ -4011,13 +1482,13 @@ } }, "node_modules/socks": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", - "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", + "version": "2.8.7", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz", + "integrity": "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==", "license": "MIT", "optional": true, "dependencies": { - "ip-address": "^9.0.5", + "ip-address": "^10.0.1", "smart-buffer": "^4.2.0" }, "engines": { @@ -4040,60 +1511,6 @@ "node": ">= 10" } }, - "node_modules/socks-proxy-agent/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "license": "MIT", - "optional": true, - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/socks-proxy-agent/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT", - "optional": true - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/speedometer": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/speedometer/-/speedometer-0.1.4.tgz", - "integrity": "sha512-phdEoDlA6EUIVtzwq1UiNMXDUogczp204aYF/yfOhjNePWFfIpBJ1k5wLMuXQhEOOMjuTJEcc4vdZa+vuP+n/Q==" - }, - "node_modules/sprintf-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", - "license": "BSD-3-Clause", - "optional": true - }, "node_modules/sqlite3": { "version": "5.1.7", "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.7.tgz", @@ -4131,46 +1548,21 @@ "node": ">= 8" } }, - "node_modules/static-eval": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz", - "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==", - "dependencies": { - "escodegen": "^1.8.1" - } - }, - "node_modules/stream-parser": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/stream-parser/-/stream-parser-0.3.1.tgz", - "integrity": "sha512-bJ/HgKq41nlKvlhccD5kaCr/P+Hu0wPNKPJOH7en+YrJu/9EgqUF+88w5Jb6KNcjOFMhfX4B2asfeAtIGuHObQ==", - "dependencies": { - "debug": "2" - } - }, "node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } }, "node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/string-width-cjs": { - "name": "string-width", "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "license": "MIT", + "optional": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -4180,59 +1572,12 @@ "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==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/string-width-cjs/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "license": "MIT", - "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==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "license": "MIT", + "optional": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -4240,23 +1585,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==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", @@ -4266,29 +1594,6 @@ "node": ">=0.10.0" } }, - "node_modules/strip-outer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", - "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^1.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/tar": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", @@ -4307,9 +1612,9 @@ } }, "node_modules/tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.4.tgz", + "integrity": "sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==", "license": "MIT", "dependencies": { "chownr": "^1.1.1", @@ -4340,29 +1645,6 @@ "node": ">=6" } }, - "node_modules/tar-stream/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/tar-stream/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, "node_modules/tar/node_modules/minipass": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", @@ -4372,124 +1654,22 @@ "node": ">=8" } }, - "node_modules/tar/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "license": "MIT", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/throttle": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/throttle/-/throttle-1.0.3.tgz", - "integrity": "sha512-VYINSQFQeFdmhCds0tTqvQmLmdAjzGX1D6GnRQa4zlq8OpTtWSMddNyRq8Z4Snw/d6QZrWt9cM/cH8xTiGUkYA==", - "dependencies": { - "readable-stream": ">= 0.3.0", - "stream-parser": ">= 0.0.2" - }, - "engines": { - "node": ">= v0.8.0" - } - }, - "node_modules/through2": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.2.3.tgz", - "integrity": "sha512-mLa8Bn2mZurjyomGKWRu3Bo2mvoQojFks9NvOK8H+k4kDJNkdEqG522KFZsEFBEl6rKkxTgFbE5+OPcgfvPEHA==", - "dependencies": { - "readable-stream": "~1.1.9", - "xtend": "~2.1.1" - } - }, - "node_modules/through2/node_modules/readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/trash": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/trash/-/trash-4.3.0.tgz", - "integrity": "sha512-f36TKwIaBiXm63xSrn8OTNghg5CYHBsFVJvcObMo76LRpgariuRi2CqXQHw1VzfeximD0igdGaonOG6N760BtQ==", - "dependencies": { - "escape-string-applescript": "^2.0.0", - "fs-extra": "^0.30.0", - "globby": "^7.1.1", - "p-map": "^1.2.0", - "p-try": "^1.0.0", - "pify": "^3.0.0", - "run-applescript": "^3.0.0", - "uuid": "^3.1.0", - "xdg-trashdir": "^2.1.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/trash/node_modules/p-map": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", - "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/trim-repeated": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", - "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^1.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/truncate-utf8-bytes": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", - "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==", - "license": "WTFPL", - "dependencies": { - "utf8-byte-length": "^1.0.1" - } - }, "node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/tslog": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/tslog/-/tslog-3.3.4.tgz", - "integrity": "sha512-N0HHuHE0e/o75ALfkioFObknHR5dVchUad4F0XyFf3gXJYB++DewEzwGI/uIOM216E5a43ovnRNEeQIq9qgm4Q==", - "dependencies": { - "source-map-support": "^0.5.21" - }, + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/tslog/-/tslog-4.10.2.tgz", + "integrity": "sha512-XuELoRpMR+sq8fuWwX7P0bcj+PRNiicOKDEb3fGNURhxWVyykCi9BNq7c4uVz7h7P0sj8qgBsr5SWS6yBClq3g==", + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=16" + }, + "funding": { + "url": "https://github.com/fullstack-build/tslog?sponsor=1" } }, "node_modules/tunnel-agent": { @@ -4504,21 +1684,11 @@ "node": "*" } }, - "node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/typescript": { "version": "4.9.5", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -4527,15 +1697,10 @@ "node": ">=4.2.0" } }, - "node_modules/underscore": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", - "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==" - }, "node_modules/undici-types": { - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", "license": "MIT" }, "node_modules/unique-filename": { @@ -4558,62 +1723,28 @@ "imurmurhash": "^0.1.4" } }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/user-home": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", - "integrity": "sha512-KMWqdlOcjCYdtIJpicDSFBQ8nFwS2i9sslAd6f4+CBGcU4gist2REnr2fxj2YocvJFxSF3ZOHLYLVZnUxv4BZQ==", - "dependencies": { - "os-homedir": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/utf8-byte-length": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", - "integrity": "sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==", - "license": "(WTFPL OR MIT)" - }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "license": "MIT" }, - "node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "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.", - "bin": { - "uuid": "bin/uuid" - } - }, "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "optional": true, "dependencies": { "isexe": "^2.0.0" }, "bin": { - "which": "bin/which" + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==" - }, "node_modules/wide-align": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", @@ -4624,192 +1755,99 @@ "string-width": "^1.0.2 || 2 || 3 || 4" } }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "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==", + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "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", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/wrap-ansi-cjs/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/color-name": { - "version": "1.1.4", - "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/emoji-regex": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", + "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", "license": "MIT" }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/wrap-ansi-cjs/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "node_modules/write-file-atomic": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", - "integrity": "sha512-SdrHoC/yVBPpV0Xq/mUZQIpW2sWXAShb/V4pomcJXh92RuaO+f3UTWItiR3Px+pLnV2PvC2/bfn5cwr5X6Vfxw==", - "dependencies": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" - } - }, - "node_modules/xdg-basedir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-2.0.0.tgz", - "integrity": "sha512-NF1pPn594TaRSUO/HARoB4jK8I+rWgcpVlpQCK6/6o5PHyLUt2CSiDrpUZbQ6rROck+W2EwF8mBJcTs+W98J9w==", - "dependencies": { - "os-homedir": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/xdg-trashdir": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/xdg-trashdir/-/xdg-trashdir-2.1.1.tgz", - "integrity": "sha512-KcVhPaOu2ZurYNHSRTf1+ZHORkTZGCQ+u0JHN17QixRISJq4pXOnjt/lQcehvtHL5QAKhSzKgyjrcNnPdkPBHA==", - "dependencies": { - "@sindresorhus/df": "^2.1.0", - "mount-point": "^3.0.0", - "pify": "^2.2.0", - "user-home": "^2.0.0", - "xdg-basedir": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/xdg-trashdir/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/xtend": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "integrity": "sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==", - "dependencies": { - "object-keys": "~0.4.0" - }, - "engines": { - "node": ">=0.4" - } + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" }, "node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", + "engines": { + "node": ">=10" + } }, "node_modules/yallist": { "version": "4.0.0", @@ -4818,30 +1856,79 @@ "license": "ISC" }, "node_modules/yargs": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz", - "integrity": "sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==", + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz", + "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==", + "license": "MIT", "dependencies": { - "cliui": "^5.0.0", - "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^15.0.1" + "cliui": "^9.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "string-width": "^7.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^22.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" } }, "node_modules/yargs-parser": { - "version": "15.0.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.3.tgz", - "integrity": "sha512-/MVEVjTXy/cGAjdtQf8dW3V9b97bPN7rNn8ETj6BmAQL7ibC7O1Q9SPJbGjgh3SlwoBNXMzj/ZGIj8mBgl12YA==", + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", + "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==", + "license": "ISC", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", + "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", + "license": "MIT" + }, + "node_modules/yargs/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "license": "MIT", "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } } } diff --git a/packages/registry/package.json b/packages/registry/package.json index a6d0a121..d6e0d793 100644 --- a/packages/registry/package.json +++ b/packages/registry/package.json @@ -1,27 +1,32 @@ { - "name": "@plastichub/osr-registry", + "name": "@polymech/registry", "description": "", "version": "0.1.0", "typings": "index.d.ts", + "type": "module", + "exports": { + ".": "./dist/index.js" + }, "publishConfig": { "access": "public" }, "bin": { - "osr-registry": "main.js" + "polymech-registry": "main.js" }, "dependencies": { - "@keyv/sqlite": "^4.0.1", - "@plastichub/core": "^0.1.9", - "@plastichub/fs": "^0.13.32", - "@plastichub/osr-commons": "link:..\\osr-commons", - "@types/node": "^14.17.5", - "@types/yargs": "^17.0.2", + "@keyv/sqlite": "^4.0.6", + "@polymech/commons": "file:../commons", + "@polymech/core": "file:../core", + "@polymech/fs": "file:../fs", + "@polymech/log": "file:../log", + "@types/node": "^24.10.1", "env-var": "^7.0.1", - "keyv": "^5.1.0", - "keyv-file": "^0.2.0", + "keyv": "^5.5.4", + "keyv-file": "^5.3.3", "p-map": "^4.0.0", - "typescript": "^4.3.5", - "yargs": "^14.2.3" + "tslog": "^4.10.2", + "typescript": "^4.9.5", + "yargs": "^18.0.0" }, "scripts": { "test": "tsc; mocha --full-trace mocha \"spec/**/*.spec.js\"", diff --git a/packages/registry/src/_cli.ts b/packages/registry/src/_cli.ts index b064de1d..261536d5 100644 --- a/packages/registry/src/_cli.ts +++ b/packages/registry/src/_cli.ts @@ -1,7 +1,4 @@ -import { sync as exists } from '@plastichub/fs/exists' -import { IOptions } from './types' -import { logger } from './' -import * as path from 'path' +import { IOptions } from './types.js' // tweaks and handlers export const defaults = () => { diff --git a/packages/registry/src/cli.ts b/packages/registry/src/cli.ts new file mode 100644 index 00000000..35dcda2f --- /dev/null +++ b/packages/registry/src/cli.ts @@ -0,0 +1,4 @@ +import yargs from 'yargs' +import { hideBin } from 'yargs/helpers' + +export const cli = yargs(hideBin(process.argv)) \ No newline at end of file diff --git a/packages/registry/src/commands/info.ts b/packages/registry/src/commands/info.ts index 7803d4b2..027a37df 100644 --- a/packages/registry/src/commands/info.ts +++ b/packages/registry/src/commands/info.ts @@ -1,9 +1,9 @@ -import { logger } from '../' -import { defaults } from '../_cli' +import { logger } from '../index.js' +import { defaults } from '../_cli.js' import * as CLI from 'yargs' import * as path from 'path' -import { CONFIG_DEFAULT } from '@plastichub/osr-commons' +import { CONFIG_DEFAULT } from '@polymech/commons' const defaultOptions = (yargs: CLI.Argv) => { return yargs.option('debug', { diff --git a/packages/registry/src/constants.ts b/packages/registry/src/constants.ts index 6f8b0f3d..1e9f0c97 100644 --- a/packages/registry/src/constants.ts +++ b/packages/registry/src/constants.ts @@ -1 +1 @@ -export const MODULE_NAME = `OSR-REGISTRY` +export const MODULE_NAME = `POLYMECH-REGISTRY` diff --git a/packages/registry/src/index.ts b/packages/registry/src/index.ts index 65ab1a90..347bdc2e 100644 --- a/packages/registry/src/index.ts +++ b/packages/registry/src/index.ts @@ -1,9 +1,7 @@ - -import { logger as _logger } from '@plastichub/core/debug' - -import { MODULE_NAME } from './constants' -export * from './lib/index' - -export const logger = _logger(MODULE_NAME) -export { sanitize } from './_cli' -export { MODULE_NAME } from './constants' \ No newline at end of file +import { MODULE_NAME } from './constants.js' +export * from './constants.js' +export * from './types.js' +import { Logger, ILogObj } from 'tslog' +import { createLogger } from '@polymech/log' +export * from './lib/index.js' +export const logger = createLogger(MODULE_NAME) as unknown as Logger diff --git a/packages/registry/src/lib/index.ts b/packages/registry/src/lib/index.ts index 2ce4e3bc..dd4ef185 100644 --- a/packages/registry/src/lib/index.ts +++ b/packages/registry/src/lib/index.ts @@ -1,7 +1,2 @@ -import * as path from 'path' -import * as fs from 'fs' - -import { logger } from '../' - -export * from './types' -export * from './keyv' +export * from './types.js' +export * from './keyv.js' \ No newline at end of file diff --git a/packages/registry/src/lib/keyv.ts b/packages/registry/src/lib/keyv.ts index ebdf805b..e8768e2c 100644 --- a/packages/registry/src/lib/keyv.ts +++ b/packages/registry/src/lib/keyv.ts @@ -2,7 +2,7 @@ import * as path from 'path' import Keyv from 'keyv' import KeyvSqlite from '@keyv/sqlite' -import { resolve } from '@plastichub/osr-commons' +import { resolve } from '@polymech/commons' export const store = (storePath: string, ns: string = 'ns-unknown', opts: any = {}) => { const keyvSqlite = new KeyvSqlite(path.resolve(resolve(storePath))) diff --git a/packages/registry/src/main.ts b/packages/registry/src/main.ts index 08fc4d34..0a1700df 100644 --- a/packages/registry/src/main.ts +++ b/packages/registry/src/main.ts @@ -1,8 +1,8 @@ #!/usr/bin/env node -import { defaults } from './_cli'; defaults() -import * as cli from 'yargs' +import { defaults } from './_cli.js'; defaults() +import { cli } from './cli.js' -import { register as registerInfo } from './commands/info'; registerInfo(cli) +import { register as registerInfo } from './commands/info.js'; registerInfo(cli) const argv: any = cli.argv; diff --git a/packages/registry/src/options.ts b/packages/registry/src/options.ts index 33da43ef..b52837e3 100644 --- a/packages/registry/src/options.ts +++ b/packages/registry/src/options.ts @@ -1,6 +1,6 @@ -export * from './lib' +export * from './lib/index.js' -import { IOptions } from './types' +import { IOptions } from './types.js' export const clone = (obj) => { diff --git a/packages/registry/tsconfig.json b/packages/registry/tsconfig.json index 0c7bbcc4..a319403d 100644 --- a/packages/registry/tsconfig.json +++ b/packages/registry/tsconfig.json @@ -1,30 +1,22 @@ { + "extends": "../typescript-config/base.json", "compilerOptions": { - "module": "commonjs", - "target": "ESNext", + "outDir": "./dist", + "rootDir": "src", + "baseUrl": ".", "allowJs": true, - "noImplicitAny": false, - "noImplicitThis": false, - "alwaysStrict": true, - "sourceMap": true, - "outDir": "./", - "experimentalDecorators": true, - "emitDecoratorMetadata": true, - "pretty": false, - "baseUrl": "./src", - "rootDir": "./src", - "allowSyntheticDefaultImports": true - }, - "compileOnSave": false, - "filesGlob": [ - "./src/**/*.ts" - ], - "atom": { - "rewriteTsconfig": true + "esModuleInterop": true, + "composite": false, + "importHelpers": false, + "inlineSourceMap": true, + "paths": { + "@/*": [ + "src/*" + ] + } }, "files": [ - "./src/index.ts", - "./src/lib/index.ts", - "./src/main.ts" + "src/index.ts", + "src/main.ts", ] } \ No newline at end of file diff --git a/packages/registry/types.js b/packages/registry/types.js deleted file mode 100644 index 3da8b318..00000000 --- a/packages/registry/types.js +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/packages/registry/types.js.map b/packages/registry/types.js.map deleted file mode 100644 index 14058397..00000000 --- a/packages/registry/types.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"types.js","sourceRoot":"","sources":["src/types.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/search/_cli.js b/packages/search/_cli.js deleted file mode 100644 index 2a0b1a4e..00000000 --- a/packages/search/_cli.js +++ /dev/null @@ -1,41 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.sanitize = exports.defaults = void 0; -const exists_1 = require("@plastichub/fs/exists"); -const _1 = require("./"); -const path = require("path"); -// tweaks and handlers -const defaults = () => { - // default command - const DefaultCommand = 'info'; - if (process.argv.length === 2) { - process.argv.push(DefaultCommand); - } - // currently no default handler, display only : - process.on('unhandledRejection', (reason) => { - console.error('Unhandled rejection, reason: ', reason); - }); -}; -exports.defaults = defaults; -const sanitize = (argv) => { - let ret = { - all: argv.all, - src: argv.src, - types: argv.types, - dst: argv.dst, - depth: argv.dept - }; - if (argv.cwd) { - ret.cwd = path.resolve(argv.cwd); - if (!(0, exists_1.sync)((ret.cwd))) { - _1.logger.error(`Invalid working directory ${argv.cwd}`); - } - } - else { - ret.cwd = process.cwd(); - } - ret = Object.assign(Object.assign({}, ret), { variables: {} }); - return ret; -}; -exports.sanitize = sanitize; -//# sourceMappingURL=_cli.js.map \ No newline at end of file diff --git a/packages/search/_cli.js.map b/packages/search/_cli.js.map deleted file mode 100644 index da888db8..00000000 --- a/packages/search/_cli.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"_cli.js","sourceRoot":"","sources":["src/_cli.ts"],"names":[],"mappings":";;;AAAA,kDAAsD;AAEtD,yBAA2B;AAC3B,6BAA4B;AAE5B,sBAAsB;AACf,MAAM,QAAQ,GAAG,GAAG,EAAE;IACzB,kBAAkB;IAClB,MAAM,cAAc,GAAG,MAAM,CAAC;IAC9B,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC;IAED,+CAA+C;IAC/C,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAc,EAAE,EAAE;QAChD,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAXW,QAAA,QAAQ,YAWnB;AAEK,MAAM,QAAQ,GAAG,CAAC,IAAS,EAAyB,EAAE;IAEzD,IAAI,GAAG,GAAQ;QACX,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,KAAK,EAAC,IAAI,CAAC,IAAI;KAClB,CAAA;IAED,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,IAAA,aAAM,EAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACrB,SAAM,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC5B,CAAC;IAED,GAAG,mCACI,GAAG,GACH,EAAE,SAAS,EAAE,EAAE,EAAE,CACvB,CAAA;IAED,OAAO,GAAG,CAAC;AACf,CAAC,CAAC;AAzBW,QAAA,QAAQ,YAyBnB"} \ No newline at end of file diff --git a/packages/search/commands/googlemaps.d.ts b/packages/search/commands/googlemaps.d.ts deleted file mode 100644 index 1ce40632..00000000 --- a/packages/search/commands/googlemaps.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import * as CLI from 'yargs'; -export declare const register: (cli: CLI.Argv) => CLI.Argv<{}>; diff --git a/packages/search/commands/googlemaps.js b/packages/search/commands/googlemaps.js deleted file mode 100644 index f6f4a4da..00000000 --- a/packages/search/commands/googlemaps.js +++ /dev/null @@ -1,114 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.register = void 0; -const path = require("path"); -const __1 = require("../"); -const _cli_1 = require("../_cli"); -const report_map_1 = require("../lib/report_map"); -const objects_1 = require("@plastichub/core/objects"); -const write_1 = require("@plastichub/fs/write"); -const read_1 = require("@plastichub/fs/read"); -const exists_1 = require("@plastichub/fs/exists"); -const pMap = require("p-map"); -const options_1 = require("./options"); -const geo_1 = require("../lib/geo"); -const googlemaps_1 = require("../lib/googlemaps"); -let options = (yargs) => (0, googlemaps_1.yargsOptions)(yargs); -const register = (cli) => { - return cli.command('googlemaps ', 'Search GoogleMaps', options, (argv) => __awaiter(void 0, void 0, void 0, function* () { - (0, _cli_1.defaults)(); - if (argv.help) { - return; - } - let opts = null; - try { - opts = (0, googlemaps_1.zodSchema)().parse(argv); - } - catch (e) { - __1.logger.error('Invalid options', e.message, e.issues); - return; - } - // opts = parse(argv) - return yield (0, googlemaps_1.googleMaps)(opts); - if (!opts) { - __1.logger.error('Invalid options', opts); - return; - } - try { - if (opts.searchFrom && opts.geocode_key) { - const coords = yield (0, geo_1.geocode_forward)(opts.searchFrom, opts.geocode_key); - if (coords) { - opts.searchCoord = (0, googlemaps_1.locationString)(coords, opts.zoom); - } - else { - __1.logger.error('Error geocoding', opts.searchFrom); - } - } - } - catch (error) { - __1.logger.error('Error geocoding', error, error.stack); - } - let ret = []; - const search = (query, category, opts) => __awaiter(void 0, void 0, void 0, function* () { - opts = (0, objects_1.clone)(opts); - opts.dst = (0, options_1.resolvePath)(argv.dst, query, category, opts); - if (opts.cache !== false && (0, exists_1.sync)(opts.dst + '.json')) { - __1.logger.debug('Skipping', opts.dst + '.json'); - return (0, read_1.sync)(opts.dst.replace('.xlsx', 'json')) || []; - } - try { - const sr = yield (0, googlemaps_1.searchGoogleMap)(query, opts.api_key, Object.assign({}, opts)); - if (sr && sr.length && opts.dst) { - __1.logger.debug('Writing', opts.dst); - (0, write_1.sync)(opts.dst + '.json', sr); - (0, report_map_1.writeReport)(sr, opts.dst, opts); - const parts = path.parse(opts.dst); - (0, write_1.sync)(path.join(parts.dir, parts.name + '_options.json'), (0, __1.cleanOptions)(opts)); - // writeReport(sr, opts.dst.replace('.xlsx', '.md'), opts) - } - ret = [...ret, ...sr]; - return ret; - } - catch (error) { - __1.logger.error('Error searching GoogleMaps : ' + error.message, error, error.stack); - } - }); - const results = yield pMap(Object.keys(opts.source), (k) => __awaiter(void 0, void 0, void 0, function* () { - return yield pMap(opts.source[k], (t) => __awaiter(void 0, void 0, void 0, function* () { - return search(t, k, opts); - }), { - concurrency: 1 - }); - }), { - concurrency: 1 - }); - if (opts.dst) { - opts.dst = (0, options_1.resolvePath)(argv.dst, 'all', 'all', opts); - if ((0, exists_1.sync)(opts.dst + '.json')) { - const last = ((0, read_1.sync)(opts.dst + '.json', 'json') || []); - ret = [...last, ...ret]; - } - (0, write_1.sync)(opts.dst + '.json', ret); - (0, report_map_1.writeReport)(ret, opts.dst, opts); - } - if (opts.index) { - let index = (0, read_1.sync)(opts.index, 'json') || {}; - ret.forEach((r) => { - index[r.title] = r; - }); - (0, write_1.sync)(opts.index, index); - } - return false; - })); -}; -exports.register = register; -//# sourceMappingURL=googlemaps.js.map \ No newline at end of file diff --git a/packages/search/commands/googlemaps.js.map b/packages/search/commands/googlemaps.js.map deleted file mode 100644 index 3e934ad5..00000000 --- a/packages/search/commands/googlemaps.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"googlemaps.js","sourceRoot":"","sources":["../src/commands/googlemaps.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/search/commands/index.d.ts b/packages/search/commands/index.d.ts deleted file mode 100644 index 58db9ea3..00000000 --- a/packages/search/commands/index.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import * as CLI from 'yargs'; -import { ZodObject } from 'zod'; -export declare const registerCommand: (cli: CLI.Argv, name: any, description: any, options: any, zodSchema: () => ZodObject, main: (opts: any, argv: any) => Promise) => CLI.Argv<{}>; -export declare const registerCommands: (cli: CLI.Argv) => void; diff --git a/packages/search/commands/index.js b/packages/search/commands/index.js deleted file mode 100644 index 679441f8..00000000 --- a/packages/search/commands/index.js +++ /dev/null @@ -1,39 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.registerCommands = exports.registerCommand = void 0; -//import { registerCommand } from '@plastichub/osr-cli-commons/commands' -const googlemaps_1 = require("../lib/googlemaps"); -const __1 = require("../"); -//import { yargsOptions as yargsOptionsEach, zodSchema as zodSchemaEach, each } from '../lib/each' -// import { yargsOptions as yargsOptionsRun, zodSchema as zodSchemaRun, run } from '../lib/run' -const registerCommand = (cli, name, description, options, zodSchema, main) => { - return cli.command(name, description, options, (argv) => __awaiter(void 0, void 0, void 0, function* () { - if (argv.help) { - return; - } - let opts = null; - try { - opts = zodSchema().parse(argv); - } - catch (e) { - __1.logger.error(`Error parsing options: ${name}`, e.message, e.issues); - return; - } - return yield main(opts, argv); - })); -}; -exports.registerCommand = registerCommand; -const registerCommands = (cli) => { - (0, exports.registerCommand)(cli, 'googlemaps-each', 'each', googlemaps_1.yargsOptionsEach, googlemaps_1.zodSchemaEach, googlemaps_1.each); -}; -exports.registerCommands = registerCommands; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/packages/search/commands/index.js.map b/packages/search/commands/index.js.map deleted file mode 100644 index 45586636..00000000 --- a/packages/search/commands/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/commands/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,wEAAwE;AACxE,kDAAyE;AAEzE,2BAA4B;AAC5B,kGAAkG;AAClG,+FAA+F;AAExF,MAAM,eAAe,GAAG,CAC3B,GAAa,EACb,IAAI,EACJ,WAAW,EACX,OAAO,EACP,SAA+B,EAC/B,IAA2C,EAAE,EAAE;IAC/C,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAO,IAAmB,EAAgB,EAAE;QACvF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAAC,OAAM;QAAC,CAAC;QACzB,IAAI,IAAI,GAAG,IAAI,CAAA;QACf,IAAI,CAAC;YACD,IAAI,GAAG,SAAS,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,UAAM,CAAC,KAAK,CAAC,0BAA0B,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;YACnE,OAAM;QACV,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACjC,CAAC,CAAA,CAAC,CAAA;AACN,CAAC,CAAA;AAlBY,QAAA,eAAe,mBAkB3B;AAEM,MAAM,gBAAgB,GAAG,CAAC,GAAa,EAAE,EAAE;IAC9C,IAAA,uBAAe,EAAC,GAAU,EAAE,iBAAiB,EAAE,MAAM,EAAE,6BAAgB,EAAE,0BAAa,EAAE,iBAAI,CAAC,CAAA;AACjG,CAAC,CAAA;AAFY,QAAA,gBAAgB,oBAE5B"} \ No newline at end of file diff --git a/packages/search/commands/info.d.ts b/packages/search/commands/info.d.ts deleted file mode 100644 index 1ce40632..00000000 --- a/packages/search/commands/info.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import * as CLI from 'yargs'; -export declare const register: (cli: CLI.Argv) => CLI.Argv<{}>; diff --git a/packages/search/commands/info.js b/packages/search/commands/info.js deleted file mode 100644 index e3e2f74d..00000000 --- a/packages/search/commands/info.js +++ /dev/null @@ -1,66 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.register = void 0; -const __1 = require("../"); -const _cli_1 = require("../_cli"); -const path = require("path"); -const osr_commons_1 = require("@plastichub/osr-commons"); -const defaultOptions = (yargs) => { - return yargs.option('debug', { - default: 'false', - describe: 'debug messages' - }).option('verb', { - description: 'search api: scaleserp', - default: 'scaleserp' - }).option('location', { - description: 'location to be searched from', - default: 'Berlin, Germany' - }).option('query', { - description: 'the query', - default: 'Precious Plastic Munich' - }).option('dst', { - description: 'dst output path, supports XLS|CSV|HTML', - default: './tests/data/serpwow.json' - }).option('env_key', { - default: 'OSR-CONFIG', - describe: 'Environment key to the config path' - }); -}; -let options = (yargs) => defaultOptions(yargs); -const register = (cli) => { - return cli.command('search ', 'Search', options, (argv) => __awaiter(void 0, void 0, void 0, function* () { - (0, _cli_1.defaults)(); - if (argv.help) { - return; - } - const args = argv; - const config = (0, osr_commons_1.CONFIG_DEFAULT)(args.env_key); - const opts = { - verb: argv.verb, - query: argv.query, - dst: path.resolve(args.dst) - }; - if (!opts.verb) { - __1.logger.error('No verb specified'); - return; - } - if (opts.verb === 'scaleserp') { - if (!opts.query) { - __1.logger.error('No query defined'); - return; - } - } - __1.logger.debug(`Reading OSR Config with key "${argv.env_key}"`, opts); - })); -}; -exports.register = register; -//# sourceMappingURL=info.js.map \ No newline at end of file diff --git a/packages/search/commands/info.js.map b/packages/search/commands/info.js.map deleted file mode 100644 index 20e4e38d..00000000 --- a/packages/search/commands/info.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"info.js","sourceRoot":"","sources":["../src/commands/info.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2BAA4B;AAC5B,kCAAkC;AAGlC,6BAA4B;AAG5B,yDAAwD;AAGxD,MAAM,cAAc,GAAG,CAAC,KAAe,EAAE,EAAE;IACvC,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;QACzB,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,gBAAgB;KAC7B,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE;QACd,WAAW,EAAE,uBAAuB;QACpC,OAAO,EAAE,WAAW;KACvB,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE;QAClB,WAAW,EAAE,8BAA8B;QAC3C,OAAO,EAAE,iBAAiB;KAC7B,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE;QACf,WAAW,EAAE,WAAW;QACxB,OAAO,EAAE,yBAAyB;KACrC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE;QACb,WAAW,EAAE,wCAAwC;QACrD,OAAO,EAAE,2BAA2B;KACvC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE;QACjB,OAAO,EAAE,YAAY;QACrB,QAAQ,EAAE,oCAAoC;KACjD,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,IAAI,OAAO,GAAG,CAAC,KAAe,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAGlD,MAAM,QAAQ,GAAG,CAAC,GAAa,EAAE,EAAE;IACtC,OAAO,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAO,IAAmB,EAAE,EAAE;QAEjF,IAAA,eAAQ,GAAE,CAAC;QACX,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAC1B,MAAM,IAAI,GAAQ,IAAI,CAAC;QAEvB,MAAM,MAAM,GAAG,IAAA,4BAAc,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE5C,MAAM,IAAI,GAAG;YACT,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;SAC9B,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACb,UAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAClC,OAAO;QACX,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAE5B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACd,UAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBACjC,OAAO;YACX,CAAC;QACL,CAAC;QAED,UAAM,CAAC,KAAK,CAAC,gCAAgC,IAAI,CAAC,OAAO,GAAG,EAAE,IAAI,CAAC,CAAC;IAExE,CAAC,CAAA,CAAC,CAAC;AACP,CAAC,CAAC;AA/BW,QAAA,QAAQ,YA+BnB"} \ No newline at end of file diff --git a/packages/search/commands/options.d.ts b/packages/search/commands/options.d.ts deleted file mode 100644 index ec684ce7..00000000 --- a/packages/search/commands/options.d.ts +++ /dev/null @@ -1,87 +0,0 @@ -import * as CLI from 'yargs'; -export declare const defaultOptions: (yargs: CLI.Argv) => CLI.Argv<{ - debug: boolean; -} & { - query: string; -} & { - google_domain: string; -} & { - language: string; -} & { - engine: string; -} & { - source: unknown; -} & { - searchCoord: unknown; -} & { - category: unknown; -} & { - searchFrom: unknown; -} & { - limit: number; -} & { - dst: string; -} & { - filterCountry: unknown; -} & { - filterCity: unknown; -} & { - filterType: unknown; -} & { - translate: unknown; -} & { - dump: unknown; -} & { - meta: boolean; -} & { - env_key: string; -} & { - api_key: unknown; -} & { - geocode_key: unknown; -} & { - findEMail: boolean; -} & { - cache: boolean; -} & { - headless: boolean; -} & { - index: string; -}>; -export declare const defaultReportOptions: (yargs: CLI.Argv) => CLI.Argv<{ - debug: boolean; -} & { - query: string; -} & { - google_domain: string; -} & { - language: string; -} & { - source: unknown; -} & { - searchCoord: unknown; -} & { - category: unknown; -} & { - searchFrom: unknown; -} & { - limit: number; -} & { - dst: string; -} & { - country: unknown; -} & { - city: unknown; -} & { - type: unknown; -} & { - env_key: string; -} & { - api_key: unknown; -} & { - cache: boolean; -} & { - index: string; -}>; -export declare const parse: (argv: any) => any; -export declare const resolvePath: (str: string, query: any, category: any, opts: any) => string; diff --git a/packages/search/commands/options.js b/packages/search/commands/options.js deleted file mode 100644 index dc370f86..00000000 --- a/packages/search/commands/options.js +++ /dev/null @@ -1,198 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.resolvePath = exports.parse = exports.defaultReportOptions = exports.defaultOptions = void 0; -const path = require("path"); -const osr_commons_1 = require("@plastichub/osr-commons"); -const osr_commons_2 = require("@plastichub/osr-commons"); -const __1 = require("../"); -const read_1 = require("@plastichub/fs/read"); -const exists_1 = require("@plastichub/fs/exists"); -const googlemaps_1 = require("../lib/googlemaps"); -const constants_1 = require("../lib/constants"); -const defaultOptions = (yargs) => { - yargs.parserConfiguration({ - "camel-case-expansion": false - }); - return yargs.option('debug', { - default: false, - describe: 'debug messages', - type: 'boolean' - }).option('query', { - description: 'query', - default: 'plastichub' - }).option('google_domain', { - description: 'google_domain', - default: constants_1.defaultGoogleDomain - }).option('language', { - description: 'Language of the search results, independent of the google search domain', - default: constants_1.defaultLanguage - }).option('engine', { - description: 'engine', - default: constants_1.defaultEngine - }).option('source', { - description: 'source of the search, JSON, eg: {"Category":["SearchTerm-1","SearchTerm2"]}' - }).option('searchCoord', { - description: 'search coord, comma separated: ' + (0, googlemaps_1.locationString)((0, googlemaps_1.home)()), - _default: (0, googlemaps_1.locationString)((0, googlemaps_1.home)()) - }).option('category', { - description: 'for internal use, category of the search,eg: to be used for --dst="outputpath-${CATEGORY}.json"', - }).option('searchFrom', { - description: 'search from this location instead of coordinates, requires an API key for geocode' - }).option('limit', { - describe: 'Limit results', - type: 'number', - default: 50 - }).option('dst', { - description: 'dst output path, supports XLS|CSV|HTML', - default: '${OSR_CUSTOMER_DRIVE}/campaign/maps/${FROM}/${CATEGORY}/${QUERY}-${MM}.xls' - }).option('filterCountry', { - description: ' by this country', - }).option('filterCity', { - description: ' by this city', - }).option('filterType', { - description: ' by this type, eg: Design agency, restaurant, etc', - }).option('translate', { - description: 'translate main page for this language (ISO code), using osr-i18n', - }).option('dump', { - description: 'dump every found url in this file:${DST_DIR}/${DOMAIN}-dump.json', - }).option('meta', { - default: true, - describe: 'Retrieve HTML meta data', - type: 'boolean' - }).option('env_key', { - default: 'OSR-CONFIG', - describe: 'Environment key to the config path' - }).option('api_key', { - describe: 'SerpAPI key' - }).option('geocode_key', { - describe: 'Geocode API key' - }).option('findEMail', { - describe: 'Find EMail, using OpenAI & langchain webloader. Requires --meta=true', - type: 'boolean', - default: false - }).option('cache', { - describe: 'Use cache', - type: 'boolean', - default: true - }).option('headless', { - describe: 'Dont show browser', - type: 'boolean', - default: true - }).option('index', { - default: '${OSR_ROOT}/osr-directory/meta/index.json', - type: 'string' - }); -}; -exports.defaultOptions = defaultOptions; -const defaultReportOptions = (yargs) => { - yargs.parserConfiguration({ - "camel-case-expansion": false - }); - return yargs.option('debug', { - default: false, - describe: 'debug messages', - type: 'boolean' - }).option('query', { - description: 'query', - default: 'plastichub' - }).option('google_domain', { - description: 'google_domain', - default: constants_1.defaultGoogleDomain - }).option('language', { - description: 'Language of the search results, independent of the google search domain', - default: constants_1.defaultLanguage - }).option('source', { - description: 'source of the search, JSON, eg: {"Category":["SearchTerm-1","SearchTerm2"]}' - }).option('searchCoord', { - description: 'search coord, comma separated: ' + (0, googlemaps_1.locationString)((0, googlemaps_1.home)()), - _default: (0, googlemaps_1.locationString)((0, googlemaps_1.home)()) - }).option('category', { - description: 'for internal use, category of the search,eg: to be used for --dst="outputpath-${CATEGORY}.json"', - }).option('searchFrom', { - description: 'search from this location instead of coordinates, requires an API key for geocode' - }).option('limit', { - describe: 'Limit results', - type: 'number', - default: 50 - }).option('dst', { - description: 'dst output path, supports XLS|CSV|HTML', - default: '${OSR_CUSTOMER_DRIVE}/campaign/maps/${FROM}/${CATEGORY}/${QUERY}-${MM}.xls' - }).option('country', { - description: 'country', - }).option('city', { - description: 'by this city', - }).option('type', { - description: 'by this type, eg: Design agency, restaurant, etc', - }).option('env_key', { - default: 'OSR-CONFIG', - describe: 'Environment key to the config path' - }).option('api_key', { - describe: 'SerpAPI key' - }).option('cache', { - describe: 'Use cache', - type: 'boolean', - default: true - }).option('index', { - default: '${OSR_ROOT}/osr-directory/meta/index.json', - type: 'string' - }); -}; -exports.defaultReportOptions = defaultReportOptions; -const parse = (argv) => { - const args = argv; - __1.logger.setSettings({ minLevel: args.logLevel || 'info' }); - const config = (0, osr_commons_1.CONFIG_DEFAULT)(args.env_key); - if (!config) { - __1.logger.warn('No config found!'); - return; - } - if (config && !config.serpapi.key) { - __1.logger.warn('No serpapi key found in config!'); - return; - } - const opts = Object.assign(Object.assign(Object.assign({ query: argv.query }, (0, googlemaps_1.defaultSearchParamsMapsES)(argv.query, argv.zoom)), argv), { api_key: argv.api_key || config.serpapi.key, geocode_key: argv.geocode_key || config.geocoder.key, openai: config.openai, headless: argv.headless ? true : false, bigdata: { key: config.bigdata.key }, verb: argv.verb || 'search' }); - opts.source && (opts.source = path.resolve((0, osr_commons_2.resolve)(args.source, false))); - if (opts.source) { - if ((0, exists_1.sync)(opts.source)) { - opts.source = (0, read_1.sync)(opts.source, 'json'); - } - else { - __1.logger.error(`Source file ${args.source} not found : ${opts.source}`); - return; - } - } - if (!opts.source && !opts.query) { - __1.logger.warn(`Invalid source and query`); - return; - } - if (opts.index) { - opts.index = path.resolve((0, osr_commons_2.resolve)(args.index, false)); - } - if (!opts.source) { - opts.source = {}; - opts.source[opts.category] = [opts.query]; - } - if (!opts.api_key) { - __1.logger.error('No Serpapi key found in config or options!'); - return; - } - if (!opts.query) { - __1.logger.error('No query specified'); - return; - } - return opts; -}; -exports.parse = parse; -const resolvePath = (str, query, category, opts) => { - return path.resolve((0, osr_commons_2.resolve)(str, false, { - QUERY: query, - FROM: opts.searchFrom.split(',').map((s) => s.trim()).join('/'), - ENGINE: opts.engine, - DOMAIN: opts.google_domain, - LANG: opts.language, - COUNTRY: opts.filterCountry, - CATEGORY: category || 'unknown' - })); -}; -exports.resolvePath = resolvePath; -//# sourceMappingURL=options.js.map \ No newline at end of file diff --git a/packages/search/commands/options.js.map b/packages/search/commands/options.js.map deleted file mode 100644 index 83254dde..00000000 --- a/packages/search/commands/options.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"options.js","sourceRoot":"","sources":["../src/commands/options.ts"],"names":[],"mappings":";;;AACA,6BAA4B;AAC5B,yDAAwD;AACxD,yDAAiD;AAEjD,2BAA4B;AAC5B,8CAAkD;AAClD,kDAAsD;AACtD,kDAAmF;AACnF,gDAAsF;AAE/E,MAAM,cAAc,GAAG,CAAC,KAAe,EAAE,EAAE;IAC9C,KAAK,CAAC,mBAAmB,CAAC;QACtB,sBAAsB,EAAE,KAAK;KAChC,CAAC,CAAA;IACF,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;QACzB,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,gBAAgB;QAC1B,IAAI,EAAE,SAAS;KAClB,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE;QACf,WAAW,EAAE,OAAO;QACpB,OAAO,EAAE,YAAY;KACxB,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE;QACvB,WAAW,EAAE,eAAe;QAC5B,OAAO,EAAE,+BAAmB;KAC/B,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE;QAClB,WAAW,EAAE,yEAAyE;QACtF,OAAO,EAAE,2BAAe;KAC3B,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE;QAChB,WAAW,EAAE,QAAQ;QACrB,OAAO,EAAE,yBAAa;KACzB,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE;QAChB,WAAW,EAAE,6EAA6E;KAC7F,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE;QACrB,WAAW,EAAE,iCAAiC,GAAG,IAAA,2BAAc,EAAC,IAAA,iBAAI,GAAE,CAAC;QACvE,QAAQ,EAAE,IAAA,2BAAc,EAAC,IAAA,iBAAI,GAAE,CAAC;KACnC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE;QAClB,WAAW,EAAE,iGAAiG;KACjH,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE;QACpB,WAAW,EAAE,mFAAmF;KACnG,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE;QACf,QAAQ,EAAE,eAAe;QACzB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;KACd,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE;QACb,WAAW,EAAE,wCAAwC;QACrD,OAAO,EAAE,4EAA4E;KACxF,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE;QACvB,WAAW,EAAE,kBAAkB;KAClC,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE;QACpB,WAAW,EAAE,eAAe;KAC/B,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE;QACpB,WAAW,EAAE,mDAAmD;KACnE,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE;QACnB,WAAW,EAAE,kEAAkE;KAClF,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE;QACd,WAAW,EAAE,kEAAkE;KAClF,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE;QACd,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,yBAAyB;QACnC,IAAI,EAAE,SAAS;KAClB,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE;QACjB,OAAO,EAAE,YAAY;QACrB,QAAQ,EAAE,oCAAoC;KACjD,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE;QACjB,QAAQ,EAAE,aAAa;KAC1B,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE;QACrB,QAAQ,EAAE,iBAAiB;KAC9B,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE;QACnB,QAAQ,EAAE,sEAAsE;QAChF,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;KACjB,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE;QACf,QAAQ,EAAE,WAAW;QACrB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,IAAI;KAChB,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE;QAClB,QAAQ,EAAE,mBAAmB;QAC7B,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,IAAI;KAChB,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE;QACf,OAAO,EAAE,2CAA2C;QACpD,IAAI,EAAE,QAAQ;KACjB,CAAC,CAAA;AACN,CAAC,CAAA;AAzEY,QAAA,cAAc,kBAyE1B;AAEM,MAAM,oBAAoB,GAAG,CAAC,KAAe,EAAE,EAAE;IACpD,KAAK,CAAC,mBAAmB,CAAC;QACtB,sBAAsB,EAAE,KAAK;KAChC,CAAC,CAAA;IACF,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;QACzB,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,gBAAgB;QAC1B,IAAI,EAAE,SAAS;KAClB,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE;QACf,WAAW,EAAE,OAAO;QACpB,OAAO,EAAE,YAAY;KACxB,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE;QACvB,WAAW,EAAE,eAAe;QAC5B,OAAO,EAAE,+BAAmB;KAC/B,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE;QAClB,WAAW,EAAE,yEAAyE;QACtF,OAAO,EAAE,2BAAe;KAC3B,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE;QAChB,WAAW,EAAE,6EAA6E;KAC7F,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE;QACrB,WAAW,EAAE,iCAAiC,GAAG,IAAA,2BAAc,EAAC,IAAA,iBAAI,GAAE,CAAC;QACvE,QAAQ,EAAE,IAAA,2BAAc,EAAC,IAAA,iBAAI,GAAE,CAAC;KACnC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE;QAClB,WAAW,EAAE,iGAAiG;KACjH,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE;QACpB,WAAW,EAAE,mFAAmF;KACnG,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE;QACf,QAAQ,EAAE,eAAe;QACzB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;KACd,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE;QACb,WAAW,EAAE,wCAAwC;QACrD,OAAO,EAAE,4EAA4E;KACxF,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE;QACjB,WAAW,EAAE,SAAS;KACzB,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE;QACd,WAAW,EAAE,cAAc;KAC9B,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE;QACd,WAAW,EAAE,kDAAkD;KAClE,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE;QACjB,OAAO,EAAE,YAAY;QACrB,QAAQ,EAAE,oCAAoC;KACjD,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE;QACjB,QAAQ,EAAE,aAAa;KAC1B,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE;QACf,QAAQ,EAAE,WAAW;QACrB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,IAAI;KAChB,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE;QACf,OAAO,EAAE,2CAA2C;QACpD,IAAI,EAAE,QAAQ;KACjB,CAAC,CAAA;AACN,CAAC,CAAA;AApDY,QAAA,oBAAoB,wBAoDhC;AACM,MAAM,KAAK,GAAG,CAAC,IAAS,EAAO,EAAE;IACpC,MAAM,IAAI,GAAQ,IAAI,CAAA;IACtB,UAAM,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,MAAM,EAAE,CAAC,CAAA;IACzD,MAAM,MAAM,GAAG,IAAA,4BAAc,EAAC,IAAI,CAAC,OAAO,CAAQ,CAAA;IAClD,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,UAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;QAC/B,OAAM;IACV,CAAC;IAED,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QAChC,UAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAA;QAC9C,OAAM;IACV,CAAC;IAED,MAAM,IAAI,GAAG,4CACT,KAAK,EAAE,IAAI,CAAC,KAAe,IACxB,IAAA,sCAAyB,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,GAChD,IAAI,KACP,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,EAC3C,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,EACpD,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EACtC,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EACpC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,QAAQ,GACvB,CAAA;IAER,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAA,qBAAO,EAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;IACxE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,IAAA,aAAM,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,IAAA,WAAI,EAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC3C,CAAC;aAAM,CAAC;YACJ,UAAM,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,MAAM,gBAAgB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;YACrE,OAAM;QACV,CAAC;IACL,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,UAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;QACvC,OAAM;IACV,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAA,qBAAO,EAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;IACzD,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;QAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC7C,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAChB,UAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAA;QAC1D,OAAM;IACV,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACd,UAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAClC,OAAO;IACX,CAAC;IACD,OAAO,IAAI,CAAA;AACf,CAAC,CAAA;AA1DY,QAAA,KAAK,SA0DjB;AAEM,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAS,EAAE,EAAE;IACnE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAA,qBAAO,EAAC,GAAG,EAAE,KAAK,EAClC;QACI,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAC/D,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,MAAM,EAAE,IAAI,CAAC,aAAa;QAC1B,IAAI,EAAE,IAAI,CAAC,QAAQ;QACnB,OAAO,EAAE,IAAI,CAAC,aAAa;QAC3B,QAAQ,EAAE,QAAQ,IAAI,SAAS;KAClC,CAAC,CAAC,CAAA;AACX,CAAC,CAAA;AAXY,QAAA,WAAW,eAWvB"} \ No newline at end of file diff --git a/packages/search/commands/report.d.ts b/packages/search/commands/report.d.ts deleted file mode 100644 index 59c536d4..00000000 --- a/packages/search/commands/report.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import * as CLI from 'yargs'; -/** - -Queries - -"--query=\"$[?(@.type == \"Carpenter\" && @.reviews > 1 && @.rating > 3 && @.email != null )]\"", - -"Comunitat Valenciana", -"Comunidad de Madrid", -"Comunitat Valenciana" - - */ -export declare const register: (cli: CLI.Argv) => CLI.Argv<{}>; diff --git a/packages/search/commands/report.js b/packages/search/commands/report.js deleted file mode 100644 index ee0f0a10..00000000 --- a/packages/search/commands/report.js +++ /dev/null @@ -1,104 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.register = void 0; -const path = require("path"); -const __1 = require("../"); -const _cli_1 = require("../_cli"); -const report_map_1 = require("../lib/report_map"); -const read_1 = require("@plastichub/fs/read"); -const jsonpath_plus_1 = require("jsonpath-plus"); -const options_1 = require("./options"); -const osr_commons_1 = require("@plastichub/osr-commons"); -let options = (yargs) => (0, options_1.defaultReportOptions)(yargs); -// Helper function to remove URL parameters from strings -function removeUrlParameters(url) { - return url.split(/[?#]/)[0]; -} -function cleanArray(arr) { - // Use a Set to eliminate duplicates - const uniqueItems = Array.from(new Set(arr.map(item => JSON.stringify(item)))) - .map(item => JSON.parse(item)); - // Filter out empty objects, empty arrays, and remove URL parameters in strings - return uniqueItems.filter(item => { - if (Array.isArray(item)) { - return item.length > 0; // Exclude empty arrays - } - else if (typeof item === 'object' && item !== null) { - return Object.keys(item).length > 0; // Exclude empty objects - } - else if (typeof item === 'string') { - // Remove URL parameters from strings - return removeUrlParameters(item); - } - return true; // Keep other types (e.g., numbers, etc.) - }).map(item => { - // Apply the URL cleanup on strings if they haven't been filtered out - if (typeof item === 'string') { - return removeUrlParameters(item); - } - return item; - }); -} -/** - -Queries - -"--query=\"$[?(@.type == \"Carpenter\" && @.reviews > 1 && @.rating > 3 && @.email != null )]\"", - -"Comunitat Valenciana", -"Comunidad de Madrid", -"Comunitat Valenciana" - - */ -const register = (cli) => { - return cli.command('report ', 'Search GoogleMaps Index Files', options, (argv) => __awaiter(void 0, void 0, void 0, function* () { - (0, _cli_1.defaults)(); - if (argv.help) { - return; - } - const opts = (0, options_1.parse)(argv); - if (!opts.index) { - __1.logger.error('No index file specified'); - return; - } - if (!opts.dst) { - __1.logger.error('No destination file specified'); - return; - } - if (!opts.query) { - __1.logger.error('No query specified'); - return; - } - let index = (0, read_1.sync)(opts.index, 'json'); - if (!index) { - __1.logger.error('Empty index file'); - return; - } - index = Object.keys(index).map((k) => index[k]); - try { - opts.dst = path.resolve((0, osr_commons_1.resolve)(opts.dst)); - let queryResult = (0, jsonpath_plus_1.JSONPath)({ - path: opts.query, - json: index, - }); - queryResult = cleanArray(queryResult); - __1.logger.debug(`Queried ${index.length} items, results : ${queryResult.length}`); - (0, report_map_1.writeReport)(queryResult, opts.dst, opts); - } - catch (error) { - __1.logger.error('Error querying index', error, error.stack); - } - return false; - })); -}; -exports.register = register; -//# sourceMappingURL=report.js.map \ No newline at end of file diff --git a/packages/search/commands/report.js.map b/packages/search/commands/report.js.map deleted file mode 100644 index 89747f82..00000000 --- a/packages/search/commands/report.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"report.js","sourceRoot":"","sources":["../src/commands/report.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/search/commands/sa_search.d.ts b/packages/search/commands/sa_search.d.ts deleted file mode 100644 index 443f33e5..00000000 --- a/packages/search/commands/sa_search.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import * as CLI from 'yargs'; -export declare const register: (cli: CLI.Argv) => CLI.Argv<{}>; diff --git a/packages/search/commands/sa_search.js b/packages/search/commands/sa_search.js deleted file mode 100644 index 360f3993..00000000 --- a/packages/search/commands/sa_search.js +++ /dev/null @@ -1,90 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.register = void 0; -const path = require("path"); -const core_1 = require("@plastichub/core"); -const osr_cli_commons_1 = require("@plastichub/osr-cli-commons"); -const __1 = require("../"); -const _cli_1 = require("../_cli"); -const report_map_1 = require("../lib/report_map"); -const search_1 = require("../lib/search"); -const defaultOptions = (yargs) => { - return yargs.option('debug', { - default: true, - describe: 'debug messages', - type: 'boolean' - }).option('query', { - description: 'query', - default: 'plastichub' - }).option('location', { - description: 'location', - default: search_1.defaultFromLocation - }).option('google_domain', { - description: 'google_domain', - default: search_1.defaultGoogleDomain - }).option('language', { - description: 'language', - default: search_1.defaultLanguage - }).option('engine', { - description: 'engine', - default: search_1.defaultEngine - }).option('searchCoord', { - description: 'search coord, comma separated: ' + (0, search_1.locationString)((0, search_1.home)()), - default: (0, search_1.locationString)((0, search_1.home)()) - }).option('dst', { - description: 'dst output path, supports XLS|CSV|HTML', - default: './tests/maps/${QUERY}-${FROM}-${ENGINE}-${DOMAIN}-${LANG}.xls' - }).option('env_key', { - default: 'OSR-CONFIG', - describe: 'Environment key to the config path' - }).option('api_key', { - default: 'SerpAPI key' - }); -}; -let options = (yargs) => defaultOptions(yargs); -const register = (cli) => { - return cli.command('search_googlemaps', 'Search GoogleMaps', options, (argv) => __awaiter(void 0, void 0, void 0, function* () { - (0, _cli_1.defaults)(); - if (argv.help) { - return; - } - const args = argv; - const config = (0, osr_cli_commons_1.CONFIG_DEFAULT)(args.env_key); - if (!config) { - __1.logger.error('No config found!'); - return; - } - if (!config.serpapi.key) { - __1.logger.warn('No serpapi key found in config!'); - return; - } - const opts = Object.assign(Object.assign(Object.assign({ query: argv.query, dst: path.resolve((0, core_1.substitute)(args.dst, osr_cli_commons_1.DEFAULT_ROOTS)) }, (0, search_1.defaultSearchParamsMapsES)(argv.query)), argv), { api_key: argv.api_key || config.serpapi.key }); - if (!opts.api_key) { - __1.logger.error('No Serpapi key found in config or options!'); - return; - } - if (!opts.query) { - __1.logger.error('No query specified'); - return; - } - opts.debug && __1.logger.debug('Options', opts); - const ret = yield (0, search_1.searchVendorsMap)(opts.query, opts.api_key, Object.assign({}, opts)); - if (opts.dst) { - //write(opts.dst, ret) - (0, report_map_1.writeReport)(ret.local_results, opts.dst, opts); - (0, report_map_1.writeReport)(ret.local_results, opts.dst.replace('.xls', '.md'), opts); - } - __1.logger.debug(`Reading OSR Config with key "${argv.env_key}"`, opts); - })); -}; -exports.register = register; -//# sourceMappingURL=sa_search.js.map \ No newline at end of file diff --git a/packages/search/commands/sa_search.js.map b/packages/search/commands/sa_search.js.map deleted file mode 100644 index 06cba0de..00000000 --- a/packages/search/commands/sa_search.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"sa_search.js","sourceRoot":"","sources":["../src/commands/sa_search.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/search/commands/test.d.ts b/packages/search/commands/test.d.ts deleted file mode 100644 index 1ce40632..00000000 --- a/packages/search/commands/test.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import * as CLI from 'yargs'; -export declare const register: (cli: CLI.Argv) => CLI.Argv<{}>; diff --git a/packages/search/commands/test.js b/packages/search/commands/test.js deleted file mode 100644 index 4b79ee76..00000000 --- a/packages/search/commands/test.js +++ /dev/null @@ -1,59 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.register = void 0; -const path = require("path"); -const core_1 = require("@plastichub/core"); -const osr_commons_1 = require("@plastichub/osr-commons"); -const __1 = require("../"); -const _cli_1 = require("../_cli"); -const defaultOptions = (yargs) => { - return yargs.option('debug', { - default: 'false', - describe: 'debug messages' - }).option('verb', { - description: 'test verb : file|folder' - }).option('src', { - description: 'raw source file', - default: './tests/src.json' - }).option('dst', { - description: 'dst output path, supports XLS|CSV|HTML', - default: './tests/dst.json' - }).option('env_key', { - default: 'OSR-CONFIG', - describe: 'Environment key to the config path' - }); -}; -let options = (yargs) => defaultOptions(yargs); -const register = (cli) => { - return cli.command('test ', 'Test commands', options, (argv) => __awaiter(void 0, void 0, void 0, function* () { - (0, _cli_1.defaults)(); - if (argv.help) { - return; - } - const args = argv; - const config = (0, osr_commons_1.CONFIG_DEFAULT)(args.env_key); - const opts = { - verb: argv.verb, - src: path.resolve((0, core_1.substitute)(args.src, osr_commons_1.DEFAULT_ROOTS)), - dst: path.resolve((0, core_1.substitute)(args.dst, osr_commons_1.DEFAULT_ROOTS)) - }; - if (!opts.verb) { - __1.logger.error('No verb specified'); - return; - } - if (opts.verb === 'file') { - } - __1.logger.debug(`Reading OSR Config with key "${argv.env_key}"`, opts); - })); -}; -exports.register = register; -//# sourceMappingURL=test.js.map \ No newline at end of file diff --git a/packages/search/commands/test.js.map b/packages/search/commands/test.js.map deleted file mode 100644 index 91cabfc7..00000000 --- a/packages/search/commands/test.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../src/commands/test.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,6BAA4B;AAK5B,2CAA6C;AAE7C,yDAAuE;AAEvE,2BAA4B;AAC5B,kCAAkC;AAElC,MAAM,cAAc,GAAG,CAAC,KAAe,EAAE,EAAE;IACvC,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;QACzB,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,gBAAgB;KAC7B,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE;QACd,WAAW,EAAE,yBAAyB;KACzC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE;QACb,WAAW,EAAE,iBAAiB;QAC9B,OAAO,EAAE,kBAAkB;KAC9B,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE;QACb,WAAW,EAAE,wCAAwC;QACrD,OAAO,EAAE,kBAAkB;KAC9B,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE;QACjB,OAAO,EAAE,YAAY;QACrB,QAAQ,EAAE,oCAAoC;KACjD,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,IAAI,OAAO,GAAG,CAAC,KAAe,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAGlD,MAAM,QAAQ,GAAG,CAAC,GAAa,EAAE,EAAE;IACtC,OAAO,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,eAAe,EAAE,OAAO,EAAE,CAAO,IAAmB,EAAE,EAAE;QAEtF,IAAA,eAAQ,GAAE,CAAC;QAEX,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAC1B,MAAM,IAAI,GAAQ,IAAI,CAAC;QAEvB,MAAM,MAAM,GAAG,IAAA,4BAAc,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE5C,MAAM,IAAI,GAAG;YACT,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,IAAA,iBAAU,EAAC,IAAI,CAAC,GAAG,EAAE,2BAAa,CAAC,CAAC;YACtD,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,IAAA,iBAAU,EAAC,IAAI,CAAC,GAAG,EAAE,2BAAa,CAAC,CAAC;SACzD,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACb,UAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAClC,OAAO;QACX,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC3B,CAAC;QACD,UAAM,CAAC,KAAK,CAAC,gCAAgC,IAAI,CAAC,OAAO,GAAG,EAAE,IAAI,CAAC,CAAC;IACxE,CAAC,CAAA,CAAC,CAAC;AACP,CAAC,CAAC;AAzBW,QAAA,QAAQ,YAyBnB"} \ No newline at end of file diff --git a/packages/search/commands/types.d.ts b/packages/search/commands/types.d.ts deleted file mode 100644 index 1ce40632..00000000 --- a/packages/search/commands/types.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import * as CLI from 'yargs'; -export declare const register: (cli: CLI.Argv) => CLI.Argv<{}>; diff --git a/packages/search/commands/types.js b/packages/search/commands/types.js deleted file mode 100644 index 34a9484a..00000000 --- a/packages/search/commands/types.js +++ /dev/null @@ -1,33 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.register = void 0; -const __1 = require("../"); -const lib_1 = require("../lib"); -const defaultOptions = (yargs) => { - return yargs.option('debug', { - default: 'false', - describe: 'debug messages' - }); -}; -let options = (yargs) => defaultOptions(yargs); -const register = (cli) => { - return cli.command('types', 'generate types', options, (argv) => __awaiter(void 0, void 0, void 0, function* () { - if (argv.help) { - return; - } - __1.logger.setSettings({ minLevel: argv.logLevel }); - __1.logger.info('generating types'); - (0, lib_1.types)(); - })); -}; -exports.register = register; -//# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/packages/search/commands/types.js.map b/packages/search/commands/types.js.map deleted file mode 100644 index 3fc12c3f..00000000 --- a/packages/search/commands/types.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/commands/types.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,2BAA4B;AAC5B,gCAA8B;AAE9B,MAAM,cAAc,GAAG,CAAC,KAAe,EAAE,EAAE;IACvC,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;QACzB,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,gBAAgB;KAC7B,CAAC,CAAA;AACN,CAAC,CAAC;AAEF,IAAI,OAAO,GAAG,CAAC,KAAe,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAElD,MAAM,QAAQ,GAAG,CAAC,GAAa,EAAE,EAAE;IACtC,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAO,IAAmB,EAAE,EAAE;QACjF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAAC,OAAM;QAAC,CAAC;QACzB,UAAM,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAe,EAAE,CAAC,CAAA;QACtD,UAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;QAC/B,IAAA,WAAK,GAAE,CAAA;IACX,CAAC,CAAA,CAAC,CAAA;AACN,CAAC,CAAA;AAPY,QAAA,QAAQ,YAOpB"} \ No newline at end of file diff --git a/packages/search/constants.d.ts b/packages/search/constants.d.ts deleted file mode 100644 index 5fd93819..00000000 --- a/packages/search/constants.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const MODULE_NAME = "OSR-SEARCH"; diff --git a/packages/search/constants.js b/packages/search/constants.js deleted file mode 100644 index 173dd1f7..00000000 --- a/packages/search/constants.js +++ /dev/null @@ -1,5 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.MODULE_NAME = void 0; -exports.MODULE_NAME = `OSR-SEARCH`; -//# sourceMappingURL=constants.js.map \ No newline at end of file diff --git a/packages/search/constants.js.map b/packages/search/constants.js.map deleted file mode 100644 index 3c8f79a1..00000000 --- a/packages/search/constants.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"constants.js","sourceRoot":"","sources":["src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,YAAY,CAAA"} \ No newline at end of file diff --git a/packages/search/_cli.d.ts b/packages/search/dist-in/_cli.d.ts similarity index 72% rename from packages/search/_cli.d.ts rename to packages/search/dist-in/_cli.d.ts index c0037832..49ca049f 100644 --- a/packages/search/_cli.d.ts +++ b/packages/search/dist-in/_cli.d.ts @@ -1,3 +1,3 @@ -import { IOptionsMap } from './types'; +import { IOptionsMap } from './types.js'; export declare const defaults: () => void; export declare const sanitize: (argv: any) => IOptionsMap | boolean; diff --git a/packages/search/dist-in/_cli.js b/packages/search/dist-in/_cli.js new file mode 100644 index 00000000..9255747a --- /dev/null +++ b/packages/search/dist-in/_cli.js @@ -0,0 +1,39 @@ +import { sync as exists } from '@polymech/fs/exists'; +import { logger } from './index.js'; +import * as path from 'path'; +// tweaks and handlers +export const defaults = () => { + // default command + const DefaultCommand = 'info'; + if (process.argv.length === 2) { + process.argv.push(DefaultCommand); + } + // currently no default handler, display only : + process.on('unhandledRejection', (reason) => { + console.error('Unhandled rejection, reason: ', reason); + }); +}; +export const sanitize = (argv) => { + let ret = { + all: argv.all, + src: argv.src, + types: argv.types, + dst: argv.dst, + depth: argv.dept + }; + if (argv.cwd) { + ret.cwd = path.resolve(argv.cwd); + if (!exists((ret.cwd))) { + logger.error(`Invalid working directory ${argv.cwd}`); + } + } + else { + ret.cwd = process.cwd(); + } + ret = { + ...ret, + ...{ variables: {} } + }; + return ret; +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX2NsaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9fY2xpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLElBQUksTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFFcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUVuQyxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQTtBQUU1QixzQkFBc0I7QUFDdEIsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLEdBQUcsRUFBRTtJQUN6QixrQkFBa0I7SUFDbEIsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDO0lBQzlCLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDNUIsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELCtDQUErQztJQUMvQyxPQUFPLENBQUMsRUFBRSxDQUFDLG9CQUFvQixFQUFFLENBQUMsTUFBYyxFQUFFLEVBQUU7UUFDaEQsT0FBTyxDQUFDLEtBQUssQ0FBQywrQkFBK0IsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMzRCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLElBQVMsRUFBeUIsRUFBRTtJQUV6RCxJQUFJLEdBQUcsR0FBUTtRQUNYLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztRQUNiLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztRQUNiLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztRQUNqQixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7UUFDYixLQUFLLEVBQUMsSUFBSSxDQUFDLElBQUk7S0FDbEIsQ0FBQTtJQUVELElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ1gsR0FBRyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNyQixNQUFNLENBQUMsS0FBSyxDQUFDLDZCQUE2QixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMxRCxDQUFDO0lBQ0wsQ0FBQztTQUFNLENBQUM7UUFDSixHQUFHLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsR0FBRyxHQUFHO1FBQ0YsR0FBRyxHQUFHO1FBQ04sR0FBRyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7S0FDdkIsQ0FBQTtJQUVELE9BQU8sR0FBRyxDQUFDO0FBQ2YsQ0FBQyxDQUFDIn0= \ No newline at end of file diff --git a/packages/search/dist-in/cli.d.ts b/packages/search/dist-in/cli.d.ts new file mode 100644 index 00000000..d2b943ad --- /dev/null +++ b/packages/search/dist-in/cli.d.ts @@ -0,0 +1 @@ +export declare const cli: any; diff --git a/packages/search/dist-in/cli.js b/packages/search/dist-in/cli.js new file mode 100644 index 00000000..94f6fa12 --- /dev/null +++ b/packages/search/dist-in/cli.js @@ -0,0 +1,4 @@ +import yargs from 'yargs'; +import { hideBin } from 'yargs/helpers'; +export const cli = yargs(hideBin(process.argv)); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUE7QUFDekIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUV2QyxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQSJ9 \ No newline at end of file diff --git a/packages/search/dist-in/commands/googlemaps.d.ts b/packages/search/dist-in/commands/googlemaps.d.ts new file mode 100644 index 00000000..ca73784e --- /dev/null +++ b/packages/search/dist-in/commands/googlemaps.d.ts @@ -0,0 +1,2 @@ +import * as CLI from 'yargs'; +export declare const register: (cli: CLI.Argv) => any; diff --git a/packages/search/dist-in/commands/googlemaps.js b/packages/search/dist-in/commands/googlemaps.js new file mode 100644 index 00000000..48502bdb --- /dev/null +++ b/packages/search/dist-in/commands/googlemaps.js @@ -0,0 +1,101 @@ +import * as path from 'path'; +import { clone } from '../options.js'; +import { cleanOptions, logger } from '../index.js'; +import { defaults } from '../_cli.js'; +import { writeReport } from '../lib/report_map.js'; +import { sync as write } from '@polymech/fs/write'; +import { sync as read } from '@polymech/fs/read'; +import { sync as exists } from '@polymech/fs/exists'; +import pMap from 'p-map'; +import { resolvePath } from './options.js'; +import { geocode_forward } from '../lib/geo.js'; +import { locationString, searchGoogleMap, yargsOptions, zodSchema, googleMaps } from '../lib/googlemaps.js'; +let options = (yargs) => yargsOptions(yargs); +export const register = (cli) => { + return cli.command('googlemaps ', 'Search GoogleMaps', options, async (argv) => { + defaults(); + if (argv.help) { + return; + } + let opts = null; + try { + opts = zodSchema().parse(argv); + } + catch (e) { + logger.error('Invalid options', e.message, e.issues); + return; + } + // opts = parse(argv) + return await googleMaps(opts); + if (!opts) { + logger.error('Invalid options', opts); + return; + } + try { + if (opts.searchFrom && opts.geocode_key) { + const coords = await geocode_forward(opts.searchFrom, opts.geocode_key); + if (coords) { + opts.searchCoord = locationString(coords, opts.zoom); + } + else { + logger.error('Error geocoding', opts.searchFrom); + } + } + } + catch (error) { + logger.error('Error geocoding', error, error.stack); + } + let ret = []; + const search = async (query, category, opts) => { + opts = clone(opts); + opts.dst = resolvePath(argv.dst, query, category, opts); + if (opts.cache !== false && exists(opts.dst + '.json')) { + logger.debug('Skipping', opts.dst + '.json'); + return read(opts.dst.replace('.xlsx', 'json')) || []; + } + try { + const sr = await searchGoogleMap(query, opts.api_key, { ...opts }); + if (sr && sr.length && opts.dst) { + logger.debug('Writing', opts.dst); + write(opts.dst + '.json', sr); + writeReport(sr, opts.dst, opts); + const parts = path.parse(opts.dst); + write(path.join(parts.dir, parts.name + '_options.json'), cleanOptions(opts)); + // writeReport(sr, opts.dst.replace('.xlsx', '.md'), opts) + } + ret = [...ret, ...sr]; + return ret; + } + catch (error) { + logger.error('Error searching GoogleMaps : ' + error.message, error, error.stack); + } + }; + const results = await pMap(Object.keys(opts.source), async (k) => { + return await pMap(opts.source[k], async (t) => { + return search(t, k, opts); + }, { + concurrency: 1 + }); + }, { + concurrency: 1 + }); + if (opts.dst) { + opts.dst = resolvePath(argv.dst, 'all', 'all', opts); + if (exists(opts.dst + '.json')) { + const last = (read(opts.dst + '.json', 'json') || []); + ret = [...last, ...ret]; + } + write(opts.dst + '.json', ret); + writeReport(ret, opts.dst, opts); + } + if (opts.index) { + let index = read(opts.index, 'json') || {}; + ret.forEach((r) => { + index[r.title] = r; + }); + write(opts.index, index); + } + return false; + }); +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlbWFwcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9nb29nbGVtYXBzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFBO0FBRTVCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDbEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDbEQsT0FBTyxFQUFFLElBQUksSUFBSSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsSUFBSSxJQUFJLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ2hELE9BQU8sRUFBRSxJQUFJLElBQUksTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFFcEQsT0FBTyxJQUFJLE1BQU0sT0FBTyxDQUFBO0FBQ3hCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBRzNHLElBQUksT0FBTyxHQUFHLENBQUMsS0FBZSxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUE7QUFFdEQsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBYSxFQUFFLEVBQUU7SUFDdEMsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLE9BQWMsRUFBRSxLQUFLLEVBQUUsSUFBUyxFQUFnQixFQUFF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 \ No newline at end of file diff --git a/packages/search/dist-in/commands/info.d.ts b/packages/search/dist-in/commands/info.d.ts new file mode 100644 index 00000000..ca73784e --- /dev/null +++ b/packages/search/dist-in/commands/info.d.ts @@ -0,0 +1,2 @@ +import * as CLI from 'yargs'; +export declare const register: (cli: CLI.Argv) => any; diff --git a/packages/search/dist-in/commands/info.js b/packages/search/dist-in/commands/info.js new file mode 100644 index 00000000..ab581558 --- /dev/null +++ b/packages/search/dist-in/commands/info.js @@ -0,0 +1,53 @@ +import { logger } from '../index.js'; +import { defaults } from '../_cli.js'; +import * as path from 'path'; +import { CONFIG_DEFAULT } from '@polymech/commons'; +const defaultOptions = (yargs) => { + return yargs.option('debug', { + default: 'false', + describe: 'debug messages' + }).option('verb', { + description: 'search api: scaleserp', + default: 'scaleserp' + }).option('location', { + description: 'location to be searched from', + default: 'Berlin, Germany' + }).option('query', { + description: 'the query', + default: 'Precious Plastic Munich' + }).option('dst', { + description: 'dst output path, supports XLS|CSV|HTML', + default: './tests/data/serpwow.json' + }).option('env_key', { + default: 'OSR-CONFIG', + describe: 'Environment key to the config path' + }); +}; +let options = (yargs) => defaultOptions(yargs); +export const register = (cli) => { + return cli.command('search ', 'Search', options, async (argv) => { + defaults(); + if (argv.help) { + return; + } + const args = argv; + const config = CONFIG_DEFAULT(args.env_key); + const opts = { + verb: argv.verb, + query: argv.query, + dst: path.resolve(args.dst) + }; + if (!opts.verb) { + logger.error('No verb specified'); + return; + } + if (opts.verb === 'scaleserp') { + if (!opts.query) { + logger.error('No query defined'); + return; + } + } + logger.debug(`Reading OSR Config with key "${argv.env_key}"`, opts); + }); +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9pbmZvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDcEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUdyQyxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQTtBQUc1QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFbEQsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRTtJQUN2QyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1FBQ3pCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFFBQVEsRUFBRSxnQkFBZ0I7S0FDN0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7UUFDZCxXQUFXLEVBQUUsdUJBQXVCO1FBQ3BDLE9BQU8sRUFBRSxXQUFXO0tBQ3ZCLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFO1FBQ2xCLFdBQVcsRUFBRSw4QkFBOEI7UUFDM0MsT0FBTyxFQUFFLGlCQUFpQjtLQUM3QixDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTtRQUNmLFdBQVcsRUFBRSxXQUFXO1FBQ3hCLE9BQU8sRUFBRSx5QkFBeUI7S0FDckMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDYixXQUFXLEVBQUUsd0NBQXdDO1FBQ3JELE9BQU8sRUFBRSwyQkFBMkI7S0FDdkMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7UUFDakIsT0FBTyxFQUFFLFlBQVk7UUFDckIsUUFBUSxFQUFFLG9DQUFvQztLQUNqRCxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUM7QUFFRixJQUFJLE9BQU8sR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBR3pELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQWEsRUFBRSxFQUFFO0lBQ3RDLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBbUIsRUFBRSxFQUFFO1FBRWpGLFFBQVEsRUFBRSxDQUFDO1FBQ1gsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFBQyxPQUFPO1FBQUMsQ0FBQztRQUMxQixNQUFNLElBQUksR0FBUSxJQUFJLENBQUM7UUFFdkIsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU1QyxNQUFNLElBQUksR0FBRztZQUNULElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1NBQzlCLENBQUM7UUFFRixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2IsTUFBTSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ2xDLE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBRTVCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2QsTUFBTSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO2dCQUNqQyxPQUFPO1lBQ1gsQ0FBQztRQUNMLENBQUM7UUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFFeEUsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMifQ== \ No newline at end of file diff --git a/packages/search/dist-in/commands/options.d.ts b/packages/search/dist-in/commands/options.d.ts new file mode 100644 index 00000000..47a3ede6 --- /dev/null +++ b/packages/search/dist-in/commands/options.d.ts @@ -0,0 +1,5 @@ +import * as CLI from 'yargs'; +export declare const defaultOptions: (yargs: CLI.Argv) => any; +export declare const defaultReportOptions: (yargs: CLI.Argv) => any; +export declare const parse: (argv: any) => any; +export declare const resolvePath: (str: string, query: any, category: any, opts: any) => string; diff --git a/packages/search/dist-in/commands/options.js b/packages/search/dist-in/commands/options.js new file mode 100644 index 00000000..ab5fa427 --- /dev/null +++ b/packages/search/dist-in/commands/options.js @@ -0,0 +1,201 @@ +import * as path from 'path'; +import { CONFIG_DEFAULT } from '@polymech/commons'; +import { resolve } from '@polymech/commons'; +import { logger } from '../index.js'; +import { sync as read } from '@polymech/fs/read'; +import { sync as exists } from '@polymech/fs/exists'; +import { home, locationString, defaultSearchParamsMapsES } from '../lib/googlemaps.js'; +import { defaultEngine, defaultGoogleDomain, defaultLanguage } from '../lib/constants.js'; +export const defaultOptions = (yargs) => { + yargs.parserConfiguration({ + "camel-case-expansion": false + }); + return yargs.option('debug', { + default: false, + describe: 'debug messages', + type: 'boolean' + }).option('query', { + description: 'query', + default: 'plastichub' + }).option('google_domain', { + description: 'google_domain', + default: defaultGoogleDomain + }).option('language', { + description: 'Language of the search results, independent of the google search domain', + default: defaultLanguage + }).option('engine', { + description: 'engine', + default: defaultEngine + }).option('source', { + description: 'source of the search, JSON, eg: {"Category":["SearchTerm-1","SearchTerm2"]}' + }).option('searchCoord', { + description: 'search coord, comma separated: ' + locationString(home()), + _default: locationString(home()) + }).option('category', { + description: 'for internal use, category of the search,eg: to be used for --dst="outputpath-${CATEGORY}.json"', + }).option('searchFrom', { + description: 'search from this location instead of coordinates, requires an API key for geocode' + }).option('limit', { + describe: 'Limit results', + type: 'number', + default: 50 + }).option('dst', { + description: 'dst output path, supports XLS|CSV|HTML', + default: '${OSR_CUSTOMER_DRIVE}/campaign/maps/${FROM}/${CATEGORY}/${QUERY}-${MM}.xls' + }).option('filterCountry', { + description: ' by this country', + }).option('filterCity', { + description: ' by this city', + }).option('filterType', { + description: ' by this type, eg: Design agency, restaurant, etc', + }).option('translate', { + description: 'translate main page for this language (ISO code), using osr-i18n', + }).option('dump', { + description: 'dump every found url in this file:${DST_DIR}/${DOMAIN}-dump.json', + }).option('meta', { + default: true, + describe: 'Retrieve HTML meta data', + type: 'boolean' + }).option('env_key', { + default: 'OSR-CONFIG', + describe: 'Environment key to the config path' + }).option('api_key', { + describe: 'SerpAPI key' + }).option('geocode_key', { + describe: 'Geocode API key' + }).option('findEMail', { + describe: 'Find EMail, using OpenAI & langchain webloader. Requires --meta=true', + type: 'boolean', + default: false + }).option('cache', { + describe: 'Use cache', + type: 'boolean', + default: true + }).option('headless', { + describe: 'Dont show browser', + type: 'boolean', + default: true + }).option('index', { + default: '${OSR_ROOT}/osr-directory/meta/index.json', + type: 'string' + }); +}; +export const defaultReportOptions = (yargs) => { + yargs.parserConfiguration({ + "camel-case-expansion": false + }); + return yargs.option('debug', { + default: false, + describe: 'debug messages', + type: 'boolean' + }).option('query', { + description: 'query', + default: 'plastichub' + }).option('google_domain', { + description: 'google_domain', + default: defaultGoogleDomain + }).option('language', { + description: 'Language of the search results, independent of the google search domain', + default: defaultLanguage + }).option('source', { + description: 'source of the search, JSON, eg: {"Category":["SearchTerm-1","SearchTerm2"]}' + }).option('searchCoord', { + description: 'search coord, comma separated: ' + locationString(home()), + _default: locationString(home()) + }).option('category', { + description: 'for internal use, category of the search,eg: to be used for --dst="outputpath-${CATEGORY}.json"', + }).option('searchFrom', { + description: 'search from this location instead of coordinates, requires an API key for geocode' + }).option('limit', { + describe: 'Limit results', + type: 'number', + default: 50 + }).option('dst', { + description: 'dst output path, supports XLS|CSV|HTML', + default: '${OSR_CUSTOMER_DRIVE}/campaign/maps/${FROM}/${CATEGORY}/${QUERY}-${MM}.xls' + }).option('country', { + description: 'country', + }).option('city', { + description: 'by this city', + }).option('type', { + description: 'by this type, eg: Design agency, restaurant, etc', + }).option('env_key', { + default: 'OSR-CONFIG', + describe: 'Environment key to the config path' + }).option('api_key', { + describe: 'SerpAPI key' + }).option('cache', { + describe: 'Use cache', + type: 'boolean', + default: true + }).option('index', { + default: '${OSR_ROOT}/osr-directory/meta/index.json', + type: 'string' + }); +}; +export const parse = (argv) => { + const args = argv; + logger.settings.minLevel = args.logLevel || 2; + const config = CONFIG_DEFAULT(args.env_key); + if (!config) { + logger.warn('No config found!'); + return; + } + if (config && !config.serpapi.key) { + logger.warn('No serpapi key found in config!'); + return; + } + const opts = { + query: argv.query, + ...defaultSearchParamsMapsES(argv.query, argv.zoom), + ...argv, + api_key: argv.api_key || config.serpapi.key, + geocode_key: argv.geocode_key || config.geocoder.key, + openai: config.openai, + headless: argv.headless ? true : false, + bigdata: { key: config.bigdata.key }, + verb: argv.verb || 'search', + }; + opts.source && (opts.source = path.resolve(resolve(args.source, false))); + if (opts.source) { + if (exists(opts.source)) { + opts.source = read(opts.source, 'json'); + } + else { + logger.error(`Source file ${args.source} not found : ${opts.source}`); + return; + } + } + if (!opts.source && !opts.query) { + logger.warn(`Invalid source and query`); + return; + } + if (opts.index) { + opts.index = path.resolve(resolve(args.index, false)); + } + if (!opts.source) { + opts.source = {}; + opts.source[opts.category] = [opts.query]; + } + if (!opts.api_key) { + logger.error('No Serpapi key found in config or options!'); + return; + } + if (!opts.query) { + logger.error('No query specified'); + return; + } + return opts; +}; +export const resolvePath = (str, query, category, opts) => { + return path.resolve(resolve(str, false, { + QUERY: query, + FROM: opts.searchFrom.split(',').map((s) => s.trim()).join('/'), + ENGINE: opts.engine, + DOMAIN: opts.google_domain, + LANG: opts.language, + COUNTRY: opts.filterCountry, + CATEGORY: category || 'unknown' + })); +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFBO0FBQzVCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUNwQyxPQUFPLEVBQUUsSUFBSSxJQUFJLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ2hELE9BQU8sRUFBRSxJQUFJLElBQUksTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDcEQsT0FBTyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUN0RixPQUFPLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBRXpGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFO0lBQzlDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQztRQUN0QixzQkFBc0IsRUFBRSxLQUFLO0tBQ2hDLENBQUMsQ0FBQTtJQUNGLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7UUFDekIsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsZ0JBQWdCO1FBQzFCLElBQUksRUFBRSxTQUFTO0tBQ2xCLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1FBQ2YsV0FBVyxFQUFFLE9BQU87UUFDcEIsT0FBTyxFQUFFLFlBQVk7S0FDeEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUU7UUFDdkIsV0FBVyxFQUFFLGVBQWU7UUFDNUIsT0FBTyxFQUFFLG1CQUFtQjtLQUMvQixD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 \ No newline at end of file diff --git a/packages/search/dist-in/commands/test.d.ts b/packages/search/dist-in/commands/test.d.ts new file mode 100644 index 00000000..ca73784e --- /dev/null +++ b/packages/search/dist-in/commands/test.d.ts @@ -0,0 +1,2 @@ +import * as CLI from 'yargs'; +export declare const register: (cli: CLI.Argv) => any; diff --git a/packages/search/dist-in/commands/test.js b/packages/search/dist-in/commands/test.js new file mode 100644 index 00000000..0364f901 --- /dev/null +++ b/packages/search/dist-in/commands/test.js @@ -0,0 +1,27 @@ +import { logger } from '../index.js'; +import { defaults } from '../_cli.js'; +const defaultOptions = (yargs) => { + return yargs.option('debug', { + default: 'false', + describe: 'debug messages' + }).option('verb', { + description: 'test verb : file|folder' + }).option('src', { + description: 'raw source file', + default: './tests/src.json' + }).option('dst', { + description: 'dst output path, supports XLS|CSV|HTML', + default: './tests/dst.json' + }).option('env_key', { + default: 'OSR-CONFIG', + describe: 'Environment key to the config path' + }); +}; +let options = (yargs) => defaultOptions(yargs); +export const register = (cli) => { + return cli.command('test ', 'Test commands', options, async (argv) => { + defaults(); + logger.debug(`Reading OSR Config with key "${argv.env_key}"`, argv); + }); +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy90ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDcEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUVyQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFO0lBQ3ZDLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7UUFDekIsT0FBTyxFQUFFLE9BQU87UUFDaEIsUUFBUSxFQUFFLGdCQUFnQjtLQUM3QixDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUNkLFdBQVcsRUFBRSx5QkFBeUI7S0FDekMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDYixXQUFXLEVBQUUsaUJBQWlCO1FBQzlCLE9BQU8sRUFBRSxrQkFBa0I7S0FDOUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDYixXQUFXLEVBQUUsd0NBQXdDO1FBQ3JELE9BQU8sRUFBRSxrQkFBa0I7S0FDOUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7UUFDakIsT0FBTyxFQUFFLFlBQVk7UUFDckIsUUFBUSxFQUFFLG9DQUFvQztLQUNqRCxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUM7QUFFRixJQUFJLE9BQU8sR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBR3pELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQWEsRUFBRSxFQUFFO0lBQ3RDLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBbUIsRUFBRSxFQUFFO1FBRXRGLFFBQVEsRUFBRSxDQUFDO1FBRVgsTUFBTSxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3hFLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDIn0= \ No newline at end of file diff --git a/packages/search/dist-in/commands/types.d.ts b/packages/search/dist-in/commands/types.d.ts new file mode 100644 index 00000000..ca73784e --- /dev/null +++ b/packages/search/dist-in/commands/types.d.ts @@ -0,0 +1,2 @@ +import * as CLI from 'yargs'; +export declare const register: (cli: CLI.Argv) => any; diff --git a/packages/search/dist-in/commands/types.js b/packages/search/dist-in/commands/types.js new file mode 100644 index 00000000..dd24dfce --- /dev/null +++ b/packages/search/dist-in/commands/types.js @@ -0,0 +1,20 @@ +import { logger } from '../index.js'; +import { types } from '../lib/index.js'; +const defaultOptions = (yargs) => { + return yargs.option('debug', { + default: 'false', + describe: 'debug messages' + }); +}; +let options = (yargs) => defaultOptions(yargs); +export const register = (cli) => { + return cli.command('types', 'generate types', options, async (argv) => { + if (argv.help) { + return; + } + logger.settings.minLevel = argv.logLevel || 2; + logger.info('generating types'); + types(); + }); +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUNwQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFdkMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRTtJQUN2QyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1FBQ3pCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFFBQVEsRUFBRSxnQkFBZ0I7S0FDN0IsQ0FBQyxDQUFBO0FBQ04sQ0FBQyxDQUFDO0FBRUYsSUFBSSxPQUFPLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUV6RCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFhLEVBQUUsRUFBRTtJQUN0QyxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBbUIsRUFBRSxFQUFFO1FBQ2pGLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQUMsT0FBTTtRQUFDLENBQUM7UUFDekIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQWUsSUFBSSxDQUFDLENBQUE7UUFDcEQsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO1FBQy9CLEtBQUssRUFBRSxDQUFBO0lBQ1gsQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDLENBQUEifQ== \ No newline at end of file diff --git a/packages/search/dist-in/constants.d.ts b/packages/search/dist-in/constants.d.ts new file mode 100644 index 00000000..83b5d77f --- /dev/null +++ b/packages/search/dist-in/constants.d.ts @@ -0,0 +1 @@ +export declare const MODULE_NAME = "POLYMECH-SEARCH"; diff --git a/packages/search/dist-in/constants.js b/packages/search/dist-in/constants.js new file mode 100644 index 00000000..777726b3 --- /dev/null +++ b/packages/search/dist-in/constants.js @@ -0,0 +1,2 @@ +export const MODULE_NAME = `POLYMECH-SEARCH`; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsaUJBQWlCLENBQUEifQ== \ No newline at end of file diff --git a/packages/search/dist-in/index.d.ts b/packages/search/dist-in/index.d.ts new file mode 100644 index 00000000..83c5bc60 --- /dev/null +++ b/packages/search/dist-in/index.d.ts @@ -0,0 +1,5 @@ +export * from './constants.js'; +export * from './types.js'; +import { Logger, ILogObj } from 'tslog'; +export * from './lib/index.js'; +export declare const logger: Logger; diff --git a/packages/search/dist-in/index.js b/packages/search/dist-in/index.js new file mode 100644 index 00000000..82fffa07 --- /dev/null +++ b/packages/search/dist-in/index.js @@ -0,0 +1,7 @@ +import { MODULE_NAME } from './constants.js'; +export * from './constants.js'; +export * from './types.js'; +import { createLogger } from '@polymech/log'; +export * from './lib/index.js'; +export const logger = createLogger(MODULE_NAME); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzVDLGNBQWMsZ0JBQWdCLENBQUE7QUFDOUIsY0FBYyxZQUFZLENBQUE7QUFFMUIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUM1QyxjQUFjLGdCQUFnQixDQUFBO0FBQzlCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsV0FBVyxDQUErQixDQUFBIn0= \ No newline at end of file diff --git a/packages/search/lib/constants.d.ts b/packages/search/dist-in/lib/constants.d.ts similarity index 100% rename from packages/search/lib/constants.d.ts rename to packages/search/dist-in/lib/constants.d.ts diff --git a/packages/search/lib/constants.js b/packages/search/dist-in/lib/constants.js similarity index 54% rename from packages/search/lib/constants.js rename to packages/search/dist-in/lib/constants.js index d134d02f..794eccb3 100644 --- a/packages/search/lib/constants.js +++ b/packages/search/dist-in/lib/constants.js @@ -1,11 +1,8 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.PAGE_SIZE = exports.defaultEngine = exports.defaultLanguage = exports.defaultGoogleDomain = exports.defaultFromLocation = exports.SpainCities = exports.SEARCH_AI_PROMPTS = void 0; -var SEARCH_AI_PROMPTS; +export var SEARCH_AI_PROMPTS; (function (SEARCH_AI_PROMPTS) { SEARCH_AI_PROMPTS["GET_EMAIL"] = "List all email addresses"; -})(SEARCH_AI_PROMPTS || (exports.SEARCH_AI_PROMPTS = SEARCH_AI_PROMPTS = {})); -var SpainCities; +})(SEARCH_AI_PROMPTS || (SEARCH_AI_PROMPTS = {})); +export var SpainCities; (function (SpainCities) { SpainCities["Madrid"] = "40.4168,-3.7038,12"; SpainCities["Barcelona"] = "41.3851,2.1734,12"; @@ -32,7 +29,7 @@ var SpainCities; SpainCities["Logrono"] = "42.4627,-2.4441,12"; SpainCities["Salamanca"] = "40.9701,-5.6635,12"; SpainCities["Pamplona"] = "42.8125,-1.6458,12"; -})(SpainCities || (exports.SpainCities = SpainCities = {})); +})(SpainCities || (SpainCities = {})); var BarcelonaTowns; (function (BarcelonaTowns) { BarcelonaTowns["Barcelona"] = "41.3850639,2.1734035"; @@ -54,9 +51,9 @@ var BarcelonaTowns; BarcelonaTowns["Gava"] = "41.3166667,2.0666667"; BarcelonaTowns["SantBoiDeLlobregat"] = "41.3669444,2.0569444"; })(BarcelonaTowns || (BarcelonaTowns = {})); -exports.defaultFromLocation = 'Catalonia, Spain'; -exports.defaultGoogleDomain = 'google.es'; -exports.defaultLanguage = 'en'; -exports.defaultEngine = 'google_maps'; -exports.PAGE_SIZE = 20; -//# sourceMappingURL=constants.js.map \ No newline at end of file +export const defaultFromLocation = 'Catalonia, Spain'; +export const defaultGoogleDomain = 'google.es'; +export const defaultLanguage = 'en'; +export const defaultEngine = 'google_maps'; +export const PAGE_SIZE = 20; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksaUJBRVg7QUFGRCxXQUFZLGlCQUFpQjtJQUN6QiwyREFBc0MsQ0FBQTtBQUMxQyxDQUFDLEVBRlcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQUU1QjtBQUVELE1BQU0sQ0FBTixJQUFZLFdBMEJYO0FBMUJELFdBQVksV0FBVztJQUNuQiw0Q0FBNkIsQ0FBQTtJQUM3Qiw4Q0FBK0IsQ0FBQTtJQUMvQiw4Q0FBK0IsQ0FBQTtJQUMvQiw2Q0FBOEIsQ0FBQTtJQUM5Qiw0Q0FBNkIsQ0FBQTtJQUM3Qiw0Q0FBNkIsQ0FBQTtJQUM3Qiw4Q0FBK0IsQ0FBQTtJQUMvQiw4Q0FBK0IsQ0FBQTtJQUMvQiwwQ0FBMkIsQ0FBQTtJQUMzQiw0Q0FBNkIsQ0FBQTtJQUM3Qiw2Q0FBOEIsQ0FBQTtJQUM5Qiw2Q0FBOEIsQ0FBQTtJQUM5QixnREFBaUMsQ0FBQTtJQUNqQywwQ0FBMkIsQ0FBQTtJQUMzQiwyQ0FBNEIsQ0FBQTtJQUM1QiwyQ0FBNEIsQ0FBQTtJQUM1Qiw4Q0FBK0IsQ0FBQTtJQUMvQiwyQ0FBNEIsQ0FBQTtJQUM1Qiw2Q0FBOEIsQ0FBQTtJQUM5Qiw0Q0FBNkIsQ0FBQTtJQUM3Qiw2Q0FBOEIsQ0FBQTtJQUM5QiwrQ0FBZ0MsQ0FBQTtJQUNoQyw2Q0FBOEIsQ0FBQTtJQUM5QiwrQ0FBZ0MsQ0FBQTtJQUNoQyw4Q0FBK0IsQ0FBQTtBQUNuQyxDQUFDLEVBMUJXLFdBQVcsS0FBWCxXQUFXLFFBMEJ0QjtBQUVELElBQUssY0FtQkY7QUFuQkgsV0FBSyxjQUFjO0lBQ2Ysb0RBQWtDLENBQUE7SUFDbEMsZ0RBQThCLENBQUE7SUFDOUIsa0VBQWtELENBQUE7SUFDbEQsbURBQWlDLENBQUE7SUFDakMsbURBQWlDLENBQUE7SUFDakMsZ0RBQThCLENBQUE7SUFDOUIsZ0VBQThDLENBQUE7SUFDOUMsOERBQTRDLENBQUE7SUFDNUMsNkRBQTJDLENBQUE7SUFDM0Msb0RBQWtDLENBQUE7SUFDbEMsOERBQTRDLENBQUE7SUFDNUMscURBQW1DLENBQUE7SUFDbkMsMERBQXdDLENBQUE7SUFDeEMscURBQW1DLENBQUE7SUFDbkMsNERBQTBDLENBQUE7SUFDMUMsMERBQXdDLENBQUE7SUFDeEMsK0NBQTZCLENBQUE7SUFDN0IsNkRBQTJDLENBQUE7QUFDN0MsQ0FBQyxFQW5CRSxjQUFjLEtBQWQsY0FBYyxRQW1CaEI7QUFFRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxrQkFBa0IsQ0FBQTtBQUNyRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxXQUFXLENBQUE7QUFDOUMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQTtBQUNuQyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsYUFBYSxDQUFBO0FBQzFDLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUEifQ== \ No newline at end of file diff --git a/packages/search/lib/email.d.ts b/packages/search/dist-in/lib/email.d.ts similarity index 92% rename from packages/search/lib/email.d.ts rename to packages/search/dist-in/lib/email.d.ts index 2cea227c..dc902aa1 100644 --- a/packages/search/lib/email.d.ts +++ b/packages/search/dist-in/lib/email.d.ts @@ -1,5 +1,5 @@ import { MappingDocumentTransformer, Document } from "@langchain/core/documents"; -import { LocalResult } from './map_types'; +import { LocalResult } from './map_types.js'; export declare class HtmlToTextTransformer extends MappingDocumentTransformer { static lc_name(): string; constructor(options?: {}); diff --git a/packages/search/dist-in/lib/email.js b/packages/search/dist-in/lib/email.js new file mode 100644 index 00000000..29ddd1f7 --- /dev/null +++ b/packages/search/dist-in/lib/email.js @@ -0,0 +1,114 @@ +import { logger } from '../index.js'; +import { CheerioWebBaseLoader } from "langchain/document_loaders/web/cheerio"; +import { RecursiveCharacterTextSplitter } from "langchain/text_splitter"; +import { htmlToText } from "html-to-text"; +import { MappingDocumentTransformer, Document } from "@langchain/core/documents"; +import { isValidUrl } from './html.js'; +const emailRegex = /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g; +const mailtoRegex = /^mailto:([^\s@]+@[^\s@]+\.[^\s@]+)$/i; +import { PuppeteerWebBaseLoader as loader } from './pupeteer.js'; +export class HtmlToTextTransformer extends MappingDocumentTransformer { + static lc_name() { + return "HtmlToTextTransformer"; + } + constructor(options = {}) { + super(options); + Object.defineProperty(this, "options", { + enumerable: true, + configurable: true, + writable: true, + value: options + }); + } + async _transformDocument(document) { + const extractedContent = htmlToText(document.pageContent, this['options']); + return new Document({ + pageContent: extractedContent, + metadata: { ...document.metadata }, + }); + } +} +export const cheerioLoader = async (url) => { + const loader = new CheerioWebBaseLoader(url); + const docs = await loader.load(); + const splitter = RecursiveCharacterTextSplitter.fromLanguage("html"); + const transformer = new HtmlToTextTransformer(); + const sequence = splitter.pipe(transformer); + const ret = await sequence.invoke(docs); + return ret; +}; +export const puppeteerLoader = async (url, headless, location) => { + if (isValidUrl(url) === false || url.indexOf('mailto') !== -1) { + return []; + } + let loaderWithOptions; + try { // Function to detect a valid URL + loaderWithOptions = new loader(url, { + launchOptions: { + headless, + ignoreHTTPSErrors: true + }, + gotoOptions: { + timeout: 5000, + waitUntil: "networkidle0", + }, + async evaluate(page, browser) { + const result = await page.evaluate(() => document.body.innerHTML); + // await browser.close() + return result; + } + }); + const docs = await loaderWithOptions.load(); + const splitter = RecursiveCharacterTextSplitter.fromLanguage("html"); + const transformer = new HtmlToTextTransformer(); + const sequence = splitter.pipe(transformer); + const ret = await sequence.invoke(docs); + return ret; + } + catch (error) { + logger.warn('Error loading page: ' + url, error.message); + location.rejected = true; + // loader.browser && loader.browser.close() + return []; + } +}; +const extractEmailAddresses = (text) => { + const lines = text.split(/\r?\n/); + const emailAddresses = []; + for (const line of lines) { + const matches = line.match(emailRegex); + if (matches) { + emailAddresses.push(...matches); + } + } + return emailAddresses; +}; +export const findEMail = async (question, url, opts, location) => { + // for some weird reason only the user knows :) + if (url.match(emailRegex) || url.match(mailtoRegex) || url.indexOf('mailto') !== -1) { + logger.warn('Email found in URL', url); + return false; + } + let pageUrl = url; + if (location.meta && location.meta.links && location.meta.links.length) { + pageUrl = location.meta.links[0]; + } + let docs = await puppeteerLoader(pageUrl, opts.headless, location); + let emails = []; + docs.forEach((d) => { + if (d.pageContent && d.pageContent.indexOf('@') !== -1) { + const mails = extractEmailAddresses(d.pageContent); + if (mails) { + emails.push(...mails); + } + } + }); + emails = [...new Set(emails)]; + location.emails = emails; + if (emails.length) { + location.email = emails[0]; + } + location.email && logger.debug(`Found email for ${url} / ${location.title} : ${location.type} : ${location.email} : ${opts.searchFrom}`); + return emails; +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2VtYWlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDcEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDN0UsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDeEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFFaEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUV0QyxNQUFNLFVBQVUsR0FBRyxpREFBaUQsQ0FBQTtBQUNwRSxNQUFNLFdBQVcsR0FBRyxzQ0FBc0MsQ0FBQTtBQUUxRCxPQUFPLEVBQUUsc0JBQXNCLElBQUksTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRWhFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSwwQkFBMEI7SUFDakUsTUFBTSxDQUFDLE9BQU87UUFDVixPQUFPLHVCQUF1QixDQUFBO0lBQ2xDLENBQUM7SUFDRCxZQUFZLE9BQU8sR0FBRyxFQUFFO1FBQ3BCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUNuQyxVQUFVLEVBQUUsSUFBSTtZQUNoQixZQUFZLEVBQUUsSUFBSTtZQUNsQixRQUFRLEVBQUUsSUFBSTtZQUNkLEtBQUssRUFBRSxPQUFPO1NBQ2pCLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFDRCxLQUFLLENBQUMsa0JBQWtCLENBQUMsUUFBUTtRQUM3QixNQUFNLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FB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 \ No newline at end of file diff --git a/packages/search/lib/geo.d.ts b/packages/search/dist-in/lib/geo.d.ts similarity index 85% rename from packages/search/lib/geo.d.ts rename to packages/search/dist-in/lib/geo.d.ts index 2178a0db..9a00c530 100644 --- a/packages/search/lib/geo.d.ts +++ b/packages/search/dist-in/lib/geo.d.ts @@ -1,4 +1,4 @@ -import { LocalResult } from './map_types'; +import { LocalResult } from './map_types.js'; export declare const REVERSE_DEFAULT: { continent: string; countryName: string; diff --git a/packages/search/dist-in/lib/geo.js b/packages/search/dist-in/lib/geo.js new file mode 100644 index 00000000..046367f8 --- /dev/null +++ b/packages/search/dist-in/lib/geo.js @@ -0,0 +1,34 @@ +import axios from 'axios'; +import { logger } from '../index.js'; +export const REVERSE_DEFAULT = { continent: 'unknown', countryName: 'unknown', city: 'unknown' }; +export const geocode_forward = async (query, key) => { + const url = `https://geocode.maps.co/search?q=${query}&api_key=${key}`; + return new Promise((resolve, reject) => { + axios.get(url) + .then(response => { + if (response.data.length === 0) { + return false; + } + resolve(`${response.data[0].lat},${response.data[0].lon}`); + }) + .catch(error => { + reject(error); + }); + }); +}; +export const reverse = async (loc, opts) => { + try { + if (!opts.bigdata) { + opts.bigdata = { key: '' }; + } + const q = `https://api.bigdatacloud.net/data/reverse-geocode?latitude=${loc.gps_coordinates.latitude}&longitude=${loc.gps_coordinates.longitude}&localityLanguage=en&key=${opts.bigdata.key}`; + return axios.get(q).then((d) => { + loc['geo'] = d.data || REVERSE_DEFAULT; + }); + } + catch (e) { + loc['geo'] = REVERSE_DEFAULT; + logger.error('Error reverse geocoding', e.message); + } +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9nZW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFBO0FBQ3pCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFcEMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQTtBQUVoRyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsS0FBSyxFQUFFLEtBQVksRUFBRSxHQUFVLEVBQUUsRUFBRTtJQUM5RCxNQUFNLEdBQUcsR0FBRyxvQ0FBb0MsS0FBSyxZQUFZLEdBQUcsRUFBRSxDQUFBO0lBQ3RFLE9BQU8sSUFBSSxPQUFPLENBQVMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDM0MsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7YUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDYixJQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBQyxDQUFDO2dCQUMzQixPQUFPLEtBQUssQ0FBQTtZQUNoQixDQUFDO1lBQ0QsT0FBTyxDQUFDLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFBO1FBQzlELENBQUMsQ0FBQzthQUNELEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNYLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQTtJQUNWLENBQUMsQ0FBQyxDQUFBO0FBQ04sQ0FBQyxDQUFBO0FBQ0QsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLEtBQUssRUFBRSxHQUFnQixFQUFFLElBQUksRUFBRSxFQUFFO0lBQ3BELElBQUksQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQTtRQUM5QixDQUFDO1FBQ0QsTUFBTSxDQUFDLEdBQUcsOERBQThELEdBQUcsQ0FBQyxlQUFlLENBQUMsUUFBUSxjQUFjLEdBQUcsQ0FBQyxlQUFlLENBQUMsU0FBUyw0QkFBNEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQTtRQUM3TCxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDM0IsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksZUFBZSxDQUFBO1FBQzFDLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDUixHQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsZUFBZSxDQUFBO1FBQ3JDLE1BQU0sQ0FBQyxLQUFLLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3RELENBQUM7QUFDTCxDQUFDLENBQUEifQ== \ No newline at end of file diff --git a/packages/search/lib/googlemaps.d.ts b/packages/search/dist-in/lib/googlemaps.d.ts similarity index 91% rename from packages/search/lib/googlemaps.d.ts rename to packages/search/dist-in/lib/googlemaps.d.ts index ce355dbf..64147ca7 100644 --- a/packages/search/lib/googlemaps.d.ts +++ b/packages/search/dist-in/lib/googlemaps.d.ts @@ -1,8 +1,19 @@ import * as CLI from 'yargs'; +export type ParsedURL = { + scheme: string; + host?: string; + path?: string; + query?: Record; + fragment?: string; +}; +export declare const escapeFirstUrlSegment: (url: string) => string; +export declare const handleFs: (path: string) => Promise; +export declare const schemeHandlers: Record Promise>; +export declare const parseCustomUrl: (url: string) => Promise; import { z } from 'zod'; import type { GoogleParameters } from "serpapi"; -import { IScaleserpSearch } from './types'; -import { IOptionsGoogleMaps, IOptionsGoogleMapsEach } from './types-googlemaps'; +import { IScaleserpSearch } from './types.js'; +import { IOptionsGoogleMaps, IOptionsGoogleMapsEach } from './types-googlemaps.js'; export declare enum SearchQueriesES { INJECTION = "inyecci\u00F3n de plastico" } @@ -39,8 +50,6 @@ export declare const zodSchema: () => z.ZodObject<{ index: z.ZodDefault; store: z.ZodDefault; }, "strip", z.ZodTypeAny, { - type?: string; - meta?: boolean; api_key?: string; cache?: boolean; category?: string; @@ -58,17 +67,17 @@ export declare const zodSchema: () => z.ZodObject<{ language?: string; limit?: number; logLevel?: string; + meta?: boolean; searchCache?: boolean; query?: string; searchCoord?: string; searchFrom?: string; source?: string; + type?: string; zoom?: number; index?: string; store?: string; }, { - type?: string; - meta?: boolean; api_key?: string; cache?: boolean; category?: string; @@ -86,11 +95,13 @@ export declare const zodSchema: () => z.ZodObject<{ language?: string; limit?: number; logLevel?: string; + meta?: boolean; searchCache?: boolean; query?: string; searchCoord?: string; searchFrom?: string; source?: string; + type?: string; zoom?: number; index?: string; store?: string; @@ -126,7 +137,7 @@ export declare const zodSchemaEachExtras: () => z.ZodObject<{ profile?: string; migrate?: boolean; }>; -export declare const zodSchemaEach: () => z.ZodObject z.ZodObject<{ api_key: z.ZodOptional; cache: z.ZodDefault; category: z.ZodDefault>; @@ -143,7 +154,6 @@ export declare const zodSchemaEach: () => z.ZodObject; language: z.ZodDefault; limit: z.ZodDefault; - logLevel: z.ZodDefault; meta: z.ZodDefault; searchCache: z.ZodDefault; query: z.ZodDefault; @@ -154,7 +164,7 @@ export declare const zodSchemaEach: () => z.ZodObject>; index: z.ZodDefault; store: z.ZodDefault; -}, { +} & { logLevel: z.ZodDefault; log: z.ZodOptional; country: z.ZodString; @@ -164,9 +174,7 @@ export declare const zodSchemaEach: () => z.ZodObject; profile: z.ZodDefault; migrate: z.ZodDefault; -}>, "strip", z.ZodTypeAny, { - type?: string; - meta?: boolean; +}, "strip", z.ZodTypeAny, { api_key?: string; cache?: boolean; category?: string; @@ -184,11 +192,13 @@ export declare const zodSchemaEach: () => z.ZodObject z.ZodObject z.ZodObject z.ZodObject; export declare const yargsOptions: (yargs: CLI.Argv) => CLI.Argv; export declare const yargsOptionsEach: (yargs: CLI.Argv) => CLI.Argv; -export declare const searchVendor: (name: string, dst: string, opts: IScaleserpSearch) => Promise; +export declare const searchVendor: (name: string, dst: string, opts: IScaleserpSearch) => Promise; export declare const defaultParamsGoogleES: (query: any, mixin: any) => any; export declare const defaultSearchParamsMapsES: (query: any, zoom: any, mixin?: {}) => { engine: string; diff --git a/packages/search/dist-in/lib/googlemaps.js b/packages/search/dist-in/lib/googlemaps.js new file mode 100644 index 00000000..c7862dd3 --- /dev/null +++ b/packages/search/dist-in/lib/googlemaps.js @@ -0,0 +1,529 @@ +import * as path from 'path'; +import { URL } from 'url'; +import { CONFIG_DEFAULT, DEFAULT_ROOTS, filesEx, pathInfo } from '@polymech/commons'; +import { parse as parseProfile } from '@polymech/commons/profile'; +import { isFile, resolve, substitute } from '@polymech/commons'; +import { toYargs } from '@polymech/commons'; +export const escapeFirstUrlSegment = (url) => { + const schemeEndIndex = url.indexOf('://') + 3; + const restOfUrl = url.slice(schemeEndIndex); + const questionMarkIndex = restOfUrl.indexOf('?'); + if (questionMarkIndex !== -1) { + const firstSegment = restOfUrl.slice(0, questionMarkIndex); + const escapedFirstSegment = encodeURIComponent(firstSegment); + return url.slice(0, schemeEndIndex) + escapedFirstSegment + restOfUrl.slice(questionMarkIndex); + } + else { + const escapedFirstSegment = encodeURIComponent(restOfUrl); + return url.slice(0, schemeEndIndex) + escapedFirstSegment; + } +}; +export const handleFs = async (path) => { + return read(path); +}; +export const schemeHandlers = { + // 'osr-ai': handleOsrAi, + 'fs': handleFs, + 'default': handleFs +}; +export const parseCustomUrl = async (url) => { + if (!url.includes('://')) { + const _path = path.resolve(resolve(url)); + if (exists(_path) && isFile(_path)) { + return read(_path, 'json'); + } + } + const parsedUrl = new URL(escapeFirstUrlSegment(url)); + let scheme = parsedUrl.protocol.replace(':', '') || 'default'; + const handler = schemeHandlers[scheme]; + let result = null; + if (handler) { + if (scheme === 'osr-ai') { + result = await handler(parsedUrl.hostname, parsedUrl.searchParams); + } + else { + result = await handler(parsedUrl.pathname); + } + } + return result || url; +}; +import { clone } from '../options.js'; +import { z } from 'zod'; +import { sync as write } from '@polymech/fs/write'; +import { sync as read } from '@polymech/fs/read'; +import { sync as exists } from '@polymech/fs/exists'; +import { isArray, isObject, isString } from '@polymech/core/primitives'; +import pMap from 'p-map'; +import { get_cached_object, set_cached_object } from '@polymech/cache/lib'; +import { OSR_CACHE } from '@polymech/commons'; +import { logger } from '../index.js'; +import { cleanOptions, SearchProviders } from './index.js'; +import { findEMail } from './email.js'; +import { defaultEngine, defaultFromLocation, defaultGoogleDomain, defaultLanguage, PAGE_SIZE, SEARCH_AI_PROMPTS } from './constants.js'; +import { meta } from './html.js'; +import { reverse, REVERSE_DEFAULT } from './geo.js'; +import { writeReport } from '../lib/report_map.js'; +import { geocode_forward } from './geo.js'; +import { store as getStore } from '@polymech/registry'; +const MODULE_NAME = 'osr-search'; +const queryExtras = ''; +const blUrls = ['bazar.preciousplastic.com']; +export var SearchQueriesES; +(function (SearchQueriesES) { + SearchQueriesES["INJECTION"] = "inyecci\u00F3n de plastico"; +})(SearchQueriesES || (SearchQueriesES = {})); +export const home = () => "41.6911354,2.1652746"; +export const locationString = (coords, zoom = 13) => `@${coords},${zoom}z`; +export const store = async (storePath, ns = 'osr-search') => getStore(storePath, ns); +export const getStored = async (title, storePath, ns = 'osr-search') => getStore(storePath, ns).get(title); +export const zodSchema = () => z.object({ + api_key: z.string().optional().describe('API Key'), + cache: z.boolean().default(true), + category: z.string().optional().default('category'), + dst: z.string().default('${OSR_CUSTOMER_DRIVE}/campaign/maps/${FROM}/${CATEGORY}/${QUERY}-10.xls'), + dump: z.string().optional(), + engine: z.string().default('google_maps'), + env_key: z.string().default('OSR-CONFIG'), + filterCity: z.string().optional(), + filterCountry: z.string().optional(), + filterType: z.string().optional(), + findEMail: z.boolean().default(false), + geocode_key: z.string().optional(), + google_domain: z.string().default('google.com'), + headless: z.boolean().default(true).describe('Headless mode'), + language: z.string().default('en'), + limit: z.number().default(5), + logLevel: z.string().default('info'), + meta: z.boolean().default(true), + searchCache: z.boolean().default(true).describe('Use search cache'), + query: z.string().default('plastichub'), + searchCoord: z.string().optional(), + searchFrom: z.string().optional(), + source: z.string().optional(), + type: z.string().optional().default('search'), + zoom: z.number().optional().default(13), + index: z.string().default('${OSR_ROOT}/osr-directory/meta/index.json').describe('Index file'), + store: z.string().default('${OSR_ROOT}/osr-directory/meta/index.db').describe('Index store'), +}, { description: 'IOptionsGoogleMaps' }); +export const zodSchemaEachExtras = () => z.object({ + logLevel: z.string().default('info'), + log: z.string().optional(), + country: z.string().describe('The country to search in, variable ${COUNTRY}'), + area: z.string().describe('The city to search in, variable ${AREA}'), + list: z.string().describe('List of items to process, FILE|GLOB|AI-Query, provided as ${TOWN}'), + cwd: z.string().optional().default('./').describe('the current working directory to use, otherwise . is being assumed'), + env: z.string().default(''), + profile: z.string().default('${OSR_ROOT}/osr-templates/osrl/.osrl.json'), + migrate: z.boolean().default(false), +}); +export const zodSchemaEach = () => zodSchema().merge(zodSchemaEachExtras()).describe('IOptionsGoogleMapsEach'); +export const yargsOptions = (yargs) => toYargs(yargs, zodSchema()); +export const yargsOptionsEach = (yargs) => toYargs(yargs, zodSchemaEach()); +export const searchVendor = async (name, dst, opts) => { + let q = name; + let ret = await SearchProviders.scaleserp({ + api_key: opts.api_key, + q: q + queryExtras + }); + let urls = ret.organic_results.filter((u) => { + return !blUrls.includes(new URL(u.link).hostname); + }); + urls = urls.map((u) => u.link); + dst && write(dst, urls); + return urls; +}; +export const defaultParamsGoogleES = (query, mixin) => { + return { + location: defaultFromLocation, + hl: defaultLanguage, + gl: defaultLanguage, + google_domain: defaultGoogleDomain, + q: query, + ...mixin + }; +}; +export const defaultSearchParamsMapsES = (query, zoom, mixin = {}) => { + return { + "engine": defaultEngine, + "type": "search", + "q": query, + "ll": locationString(home(), zoom), + "google_domain": defaultGoogleDomain, + "hl": defaultLanguage, + ...mixin + }; +}; +export const searchVendorSA = async (query, location, key, opts) => { + const googleParams = { + api_key: key, + location: location, + hl: "en", + gl: "us", + google_domain: "google.com", + ...opts, + q: query + queryExtras, + }; + return await SearchProviders.serpApi("google", googleParams); +}; +export const searchGoogleMap = async (query, key, opts) => { + const googleParams = { + ...opts, + api_key: key, + q: query + queryExtras, + ll: opts.searchCoord + }; + let results = []; + let pageIdx = 0; + let index = opts.index ? read(opts.index, 'json') || {} : {}; + const params = googleParams; + let cached; + const cache_key = { + engine: params.engine, + type: params.type, + q: params.q, + google_domain: params.google_domain, + hl: params.hl, + zoom: params.zoom, + searchFrom: params.searchFrom, + limit: params.limit + }; + if (opts.searchCache && OSR_CACHE()) { + const roundCoords = (coords, decimals = 3) => { + const [latitude, longitude, zoom] = coords.split(',').map((part, index) => { + if (index < 2) { + return parseFloat(parseFloat(part).toFixed(decimals)); + } + return part; + }); + return `@${latitude},${longitude},${zoom}`; + }; + cached = await get_cached_object(cache_key, MODULE_NAME); + } + let page = cached || await SearchProviders.serpApi(googleParams.engine, { + ...googleParams + }); + while (page && page.local_results) { + page.local_results.forEach((r) => { + r.page = pageIdx; + }); + results.push(...page.local_results); + if (results.length >= opts.limit) + break; + pageIdx++; + page = await page.next?.(); + } + if (page.place_results && !isArray(page.place_results)) { + page.place_results = [page.place_results]; + } + while (page && page.place_results) { + page.place_results.forEach((r) => { + r.page = pageIdx; + }); + results.push(...page.place_results); + if (results.length >= opts.limit) + break; + pageIdx++; + page = await page.next?.(); + } + if (opts.searchCache && OSR_CACHE()) { + set_cached_object(cache_key, MODULE_NAME, results); + } + let idx = 0; + //const cachedLoc = async (title: string) => getStored(title, opts.store, MODULE_NAME) + await pMap(results, async (entry) => { + idx++; + entry.position = entry.page * PAGE_SIZE + idx; + try { + if (index[entry.title] && index[entry.title].geo) { + entry.geo = index[entry.title].geo; + return; + } + return reverse(entry, opts); + } + catch (e) { + logger.error(`Error reverse geocoding ${entry.title}`); + entry.geo = REVERSE_DEFAULT; + } + }, { concurrency: 3 }); + //logger.debug(`search ${query} with ${params.ll} / ${params.searchFrom} @ ${opts.zoom} : ${results.length} items`) + if (opts.filterCity) { + results = results.filter((r) => r.geo.city.toLowerCase() === opts.filterCity.toLowerCase()); + } + if (opts.filterCountry) { + results = results.filter((r) => r.geo.countryName.toLowerCase() === opts.filterCountry.toLowerCase()); + } + if (opts.filterContinent) { + results = results.filter((r) => r.geo.continent.toLowerCase() === opts.filterContinent.toLowerCase()); + } + if (opts.filterType) { + results = results.filter((r) => r.filterType === opts.filterType); + } + results = results.filter((r) => r.gps_coordinates); + const beforeCached = results.length; + results = results.filter((r) => { + return index[r.title] == null || !index[r.title].geo || !index[r.title].meta; + }); + logger.info(`search ${query} with ${params.ll} / ${params.searchFrom} : ${results.length} items | ${beforeCached} before cache`); + results = results.slice(0, opts.limit); + if (opts.meta) { + await pMap(results, (entry) => { + if (entry.meta || !entry.website || entry.rejected) { + return; + } + try { + if (index[entry.title] && index[entry.title].meta) { + entry.meta = index[entry.title].meta; + return; + } + return meta(entry, opts); + } + catch (e) { + // entry.meta = {} + } + }, { concurrency: 1 }); + } + if (opts.findEMail && opts.meta) { + const emails = await pMap(results, async (entry) => { + if (index[entry.title] && index[entry.title].email) { + entry.email = index[entry.title].email; + return; + } + if (entry.meta && entry.website && !entry.email) { + try { + //logger.debug(`searching email for ${entry.website}`) + return findEMail(SEARCH_AI_PROMPTS.GET_EMAIL, entry.website, opts, entry); + } + catch (e) { + logger.error(`Error retrieving EMail data ${entry.title}`); + } + } + }, { concurrency: 1 }); + } + return results; +}; +export const parse = (argv) => { + const args = argv; + logger.settings.minLevel = args.logLevel || 2; + const config = CONFIG_DEFAULT(args.env_key); + if (!config) { + logger.warn('No config found!'); + return; + } + if (config && !config.serpapi.key) { + logger.warn('No serpapi key found in config!'); + return; + } + const opts = { + query: argv.query, + ...defaultSearchParamsMapsES(argv.query, argv.zoom), + ...argv, + api_key: argv.api_key || config.serpapi.key, + geocode_key: argv.geocode_key || config.geocoder.key, + openai: config.openai, + headless: argv.headless ? true : false, + bigdata: { key: config.bigdata.key } + }; + opts.source && isString(opts.source) && (opts.source = path.resolve(resolve(args.source, false))); + if (isString(opts.source)) { + if (exists(opts.source)) { + opts.source = read(opts.source, 'json'); + } + else { + logger.error(`Source file ${args.source} not found : ${opts.source}`); + return; + } + } + if (!opts.source && !opts.query) { + logger.warn(`Invalid source and query`); + return; + } + if (opts.index) { + opts.index = path.resolve(resolve(args.index, false)); + } + if (opts.store) { + opts.store = path.resolve(resolve(args.store, false)); + } + if (!opts.source) { + opts.source = {}; + opts.source[opts.category] = [opts.query]; + } + if (!opts.api_key) { + logger.error('No Serpapi key found in config or options!'); + return; + } + if (!opts.query) { + logger.error('No query specified'); + return; + } + return opts; +}; +export const resolvePath = (str, query, category, opts) => { + return path.resolve(resolve(str, false, { + QUERY: query, + FROM: opts.searchFrom.split(',').map((s) => s.trim()).join('/'), + ENGINE: opts.engine, + DOMAIN: opts.google_domain, + LANG: opts.language, + COUNTRY: opts.country, + AREA: opts.area, + CATEGORY: category || 'unknown', + ...opts.variables || {} + })); +}; +export const googleMaps = async (opts) => { + opts = parse(opts); + if (!opts) { + logger.error('Invalid options', opts); + return; + } + try { + const searchFrom = substitute(false, opts.searchFrom, opts.variables); + if (searchFrom && opts.geocode_key && !opts.searchCoord) { + const coords = await geocode_forward(searchFrom, opts.geocode_key); + if (coords) { + opts.searchCoord = locationString(coords, opts.zoom); + } + else { + logger.error('Error geocoding', searchFrom); + } + } + } + catch (error) { + logger.error('Error geocoding', error, error.stack); + } + let ret = []; + const search = async (query, category, opts) => { + opts = clone(opts); + opts.dst = resolvePath(path.join(opts.cwd || '', opts.dst || ''), query, category, opts); + if (opts.cache !== false && exists(opts.dst + '.json')) { + const cachedPath = opts.dst + '.json'; + const cached = read(cachedPath, 'json') || []; + logger.debug(`Searching ${opts.query} with ${opts.searchFrom} :: returning cached ${cached.length}`); + ret = [...ret, ...cached]; + return cached; + } + try { + logger.debug(`Searching ${opts.query} with ${opts.searchFrom} :: 3`); + const sr = await searchGoogleMap(query, opts.api_key, { ...opts }); + if (sr && sr.length && opts.dst) { + logger.debug('Writing', opts.dst); + write(opts.dst + '.json', sr); + writeReport(sr, opts.dst, opts); + const parts = path.parse(opts.dst); + write(path.join(parts.dir, parts.name + '_options.json'), cleanOptions(opts)); + // writeReport(sr, opts.dst.replace('.xlsx', '.md'), opts) + } + ret = [...ret, ...sr]; + logger.debug(`Searching ${opts.query} with ${opts.searchFrom} :: 4`); + // closeAppByName('Chromium') + return ret; + } + catch (error) { + logger.error('Error searching GoogleMaps : ' + error.message, error, error.stack); + } + }; + const all = await pMap(Object.keys(opts.source), (k) => { + return pMap(opts.source[k], (t) => { + return search(t, k, opts); + }, { + concurrency: 1 + }); + }, { + concurrency: 1 + }); + if (opts.dst) { + opts.dst = resolvePath(opts.dst, 'all', 'all', opts); + if (exists(opts.dst + '.json')) { + const last = (read(opts.dst + '.json', 'json') || []); + ret = [...last, ...ret]; + } + write(opts.dst + '.json', ret); + writeReport(ret, opts.dst, opts); + } + if (opts.index) { + let index = read(opts.index, 'json') || {}; + ret.forEach((r) => { + if (!index[r.title]) { + index[r.title] = r; + } + }); + write(opts.index, index); + } + return all; +}; +export const migrate = async (opts) => { + if (!opts.store) { + logger.error('No store provided'); + return; + } + if (!opts.index) { + logger.error('No index provided'); + return; + } + let index = read(opts.index, 'json') || {}; + if (!isArray(index) && isObject(index)) { + index = Object.keys(index).map((k) => index[k]); + } + const ns = 'osr-search'; + let _store = store(opts.store, ns); + const ret = await pMap(index, async (r) => { + // return _store.set(r.title, r) + }); + return ret; +}; +export const each = async (opts) => { + logger.settings.minLevel = opts.logLevel || 2; + let items = []; + let listPath = path.resolve(resolve(opts.list)); + const profile = parseProfile(opts.profile, { + variables: { + AREA: opts.area, + COUNTRY: opts.country, + ...DEFAULT_ROOTS + }, includes: [], env: {} + }, { env: opts.env }); + opts = parse(opts); + if (!opts) { + logger.error('Invalid options', opts); + return; + } + if (opts.migrate) { + return migrate(opts); + } + const list = await parseCustomUrl(substitute(false, opts.list, profile.variables)); + if (isArray(list)) { + items = list; + } + else if (exists(listPath) && isFile(listPath) && path.parse(listPath).ext === '.json') { + items = read(listPath, 'json') || []; + } + else if (pathInfo(opts.list).IS_GLOB) { + items = filesEx(path.resolve(resolve(opts.cwd)) || './', opts.list) || []; + } + if (!items || items.length === 0) { + logger.error('osr-cli::each: invalid list or empty list'); + return; + } + items = items.filter((item) => !!item); + logger.debug(`${items.length} items`); + write(path.join(path.resolve(resolve(opts.cwd), 'list.json')), items); + const all = await pMap(items, (KEY) => { + const variables = { + KEY, + TOWN: KEY, + ...profile.variables + }; + const googleOpts = { + ...opts, + query: substitute(false, opts.query, variables), + dst: substitute(false, opts.dst, variables), + searchFrom: substitute(false, opts.searchFrom, variables), + variables + }; + const ret = googleMaps(googleOpts); + return ret; + }, { concurrency: 1 }); + opts.log && write(path.resolve(resolve(opts.log)), all); + return all; +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlbWFwcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvZ29vZ2xlbWFwcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQTtBQUM1QixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sS0FBSyxDQUFBO0FBR3pCLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBWSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUU5RixPQUFPLEVBQUMsS0FBSyxJQUFJLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBRWhFLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRS9ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQVMzQyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLEdBQVcsRUFBVSxFQUFFO0lBQ3pELE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlDLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDNUMsTUFBTSxpQkFBaUIsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRWpELElBQUksaUJBQWlCLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMzQixNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQzNELE1BQU0sbUJBQW1CLEdBQUcsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDN0QsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxjQUFjLENBQUMsR0FBRyxtQkFBbUIsR0FBRyxTQUFTLENBQUMsS0FB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 \ No newline at end of file diff --git a/packages/search/lib/html.d.ts b/packages/search/dist-in/lib/html.d.ts similarity index 96% rename from packages/search/lib/html.d.ts rename to packages/search/dist-in/lib/html.d.ts index b43e3b0f..45b5c0a8 100644 --- a/packages/search/lib/html.d.ts +++ b/packages/search/dist-in/lib/html.d.ts @@ -1,7 +1,7 @@ import { AxiosRequestConfig } from "axios"; import { Browser } from 'puppeteer'; import * as puppeteer from 'puppeteer'; -import { LocalResult } from './map_types'; +import { LocalResult } from './map_types.js'; export declare const STATS_SUFFIX = "_stats.json"; export declare const SESSION_EVENTS_SUFFIX = "_session.json"; export declare const TRACE_SUFFIX = "_trace.json"; diff --git a/packages/search/dist-in/lib/html.js b/packages/search/dist-in/lib/html.js new file mode 100644 index 00000000..504b98ff --- /dev/null +++ b/packages/search/dist-in/lib/html.js @@ -0,0 +1,323 @@ +import https from 'https'; +import axios from "axios"; +import { parse as HTML } from "node-html-parser"; +import * as cheerio from "cheerio"; +import * as path from 'path'; +import { URL } from 'url'; +import * as puppeteer from 'puppeteer'; +import { logger } from '../index.js'; +import { parse as retrieveMeta } from './html.js'; +export const STATS_SUFFIX = '_stats.json'; +export const SESSION_EVENTS_SUFFIX = '_session.json'; +export const TRACE_SUFFIX = '_trace.json'; +export var scope; +const included_categories = ['devtools.timeline']; +const _url_short = (url) => new URL(url).hostname; +let instance; +const debugRequests = true; +const debugResponses = false; +process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'; +export const extractEmail = (input) => { + // Regular expression to match a typical email format + const emailRegex = /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/; + // Use the regex to search for an email in the input string + const match = input.match(emailRegex); + // Return the matched email, or null if none is found + return match ? match[0] : null; +}; +export const meta = async (loc, options) => { + if (!loc.website) { + logger.warn(`No website to retrieve meta data : ${loc.title}`); + return; + } + if (loc.meta) { + return; + } + try { + const _meta = await retrieveMeta(loc.website, null, options) || {}; + loc.meta = _meta; + loc.instagram = _meta.instagram; + loc.facebook = _meta.facebook; + loc.youtube = _meta.youtube; + loc.linkedin = _meta.linkedin; + loc.twitter = _meta.twitter; + loc.email = (_meta.allLinks || []).map((l) => extractEmail(l)).filter((e) => e !== null)[0]; + } + catch (error) { + logger.error('Error retrieving meta data : ' + loc.website, error.message); + if (error.status) + loc.rejected = error.status === 404 || error.status === 403 || error.status === 999 || error.status === 503; + } +}; +export const isValidUrl = (url) => { + try { + new URL(url); + return true; + } + catch (error) { + return false; + } +}; +const readMetaTags = (el, name) => { + var prop = el.getAttribute('name') || el.getAttribute('property'); + return prop == name ? el.getAttribute('content') : null; +}; +export const parse = async (url, config, options) => { + if (!/(^http(s?):\/\/[^\s$.?#].[^\s]*)/i.test(url)) + return {}; + const { data } = await axios(url, { + ...config, + httpsAgent: new https.Agent({ + rejectUnauthorized: false + }), + headers: { + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36' + }, + timeout: 10000 + }); + const $ = HTML(data); + const og = {}; + const meta = {}; + const images = []; + const links = []; + let allLinks = []; + const title = $.querySelector('title'); + if (title) + meta.title = title.text; + const canonical = $.querySelector('link[rel=canonical]'); + if (canonical) { + meta.url = canonical.getAttribute('href'); + } + const metas = $.querySelectorAll('meta'); + for (let i = 0; i < metas.length; i++) { + const el = metas[i]; + // const prop = el.getAttribute('property') || el.getAttribute('name'); + ['title', 'description', 'image'].forEach(s => { + const val = readMetaTags(el, s); + if (val) + meta[s] = val; + }); + ['og:title', 'og:description', 'og:image', 'og:url', 'og:site_name', 'og:type'].forEach(s => { + const val = readMetaTags(el, s); + if (val) + og[s.split(':')[1]] = val; + }); + } + $.querySelectorAll('img').forEach(el => { + let src = el.getAttribute('src'); + if (src) { + src = new URL(src, url).href; + images.push({ src }); + } + }); + const _$ = cheerio.load(data); + // Array to store JSON-LD data + const jsonLdArray = []; + // Select all