diff --git a/.eslintignore b/.eslintignore
index ae25d19ab..109fd6d21 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -4,3 +4,4 @@ tests/*
vendor/*
bin/*
hookdocs/*
+docs/*
diff --git a/.eslintrc.json b/.eslintrc.json
index 85f09bd41..85107470a 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -21,7 +21,11 @@
"Headers": "readonly",
"requestAnimationFrame": "readonly",
"React": "readonly",
- "Block": "readonly"
+ "Block": "readonly",
+ "classifAISettings": "readonly"
+ },
+ "rules": {
+ "react/jsx-no-undef": "off"
},
"extends": ["plugin:@wordpress/eslint-plugin/recommended"],
"ignorePatterns": ["*.json", "webpack.config.js"]
diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml
index bbb2ff8e8..a99a9a29d 100644
--- a/.github/workflows/dependency-review.yml
+++ b/.github/workflows/dependency-review.yml
@@ -17,7 +17,7 @@ jobs:
- name: 'Checkout Repository'
uses: actions/checkout@v4
- name: Dependency Review
- uses: actions/dependency-review-action@v4
+ uses: actions/dependency-review-action@v4.3.3
with:
license-check: true
vulnerability-check: false
diff --git a/.nvmrc b/.nvmrc
index ee09fac75..9a2a0e219 100644
--- a/.nvmrc
+++ b/.nvmrc
@@ -1 +1 @@
-v20.11.1
+v20
diff --git a/hookdocs/useful-snippets.md b/hookdocs/useful-snippets.md
index 826c7696a..65931c59b 100644
--- a/hookdocs/useful-snippets.md
+++ b/hookdocs/useful-snippets.md
@@ -45,19 +45,6 @@ class MyProvider extends Provider {
$this->feature_instance = $feature_instance;
}
- /**
- * This method will be called by the feature to render the fields
- * required by the provider, such as API key, endpoint URL, etc.
- *
- * This should also register settings that are required for the feature
- * to work.
- */
- public function render_provider_fields() {
- $settings = $this->feature_instance->get_settings( static::ID );
-
- $this->add_api_key_field();
- }
-
/**
* Returns the default settings for this provider.
*
@@ -185,6 +172,87 @@ add_filter(
);
```
+5. **Add required provider fields to the settings**
+ClassifAI uses a React-based settings panel. To add the necessary provider fields, include the following code in a JavaScript file, and save it within your plugin's directory.
+
+_**Note:** The provided code snippet uses modern JavaScript (ESNext and JSX), which requires a build step to compile it into a browser-compatible format. We recommend using the [@wordpress/scripts](https://www.npmjs.com/package/@wordpress/scripts) package to manage the build process. For a step-by-step guide on how to install and use this package, check out this tutorial: [Get started with wp-scripts](https://developer.wordpress.org/block-editor/getting-started/devenv/get-started-with-wp-scripts/)._
+
+```js
+/**
+ * WordPress dependencies
+ */
+import { registerPlugin } from '@wordpress/plugins';
+import { useSelect, useDispatch } from '@wordpress/data';
+import { Fill, TextControl } from '@wordpress/components';
+import { __ } from '@wordpress/i18n';
+
+const MyProviderSettings = () => {
+ const providerName = 'my_provider';
+ const featureSettings = useSelect( ( select ) =>
+ select( 'classifai-settings' ).getFeatureSettings()
+ );
+ const { setFeatureSettings } = useDispatch( 'classifai-settings' );
+ const providerSettings = featureSettings[ providerName ] || {};
+ const setProviderSettings = ( data ) =>
+ setFeatureSettings( {
+ [ providerName ]: {
+ ...providerSettings,
+ ...data,
+ },
+ } );
+
+ return (
+
+
+
{ __( 'API Key', 'classifai' ) }
+
+
+ setProviderSettings( { api_key: value } )
+ }
+ />
+
+ { __( 'Enter the provider API key.', 'classifai' ) }
+
+
+
+
+ );
+};
+
+registerPlugin( 'classifai-provider-my-provider', {
+ scope: 'my-provider', // Provider settings scope. replace "_" with "-" in your provider ID.
+ render: MyProviderSettings,
+} );
+```
+
+6. **Enqueue Javascript assets**
+To display the provider fields added in the previous step within the settings panel, we need to enqueue the corresponding JavaScript file. For guidance on enqueuing files in the admin area, refer to the "[Enqueue Script](https://developer.wordpress.org/plugins/javascript/enqueuing/#enqueue-script)" guide, but here’s a typical implementation.
+```php
+/**
+ * Enqueue the admin scripts.
+ *
+ * @param string $hook_suffix The current admin page.
+ */
+function my_provider_enqueue_admin_assets( $hook_suffix ) {
+ // Enqueue assets only on the ClassifAI settings page.
+ if ( 'tools_page_classifai' !== $hook_suffix ) {
+ return;
+ }
+
+ $asset_file = include( plugin_dir_path( __FILE__ ) . 'build/index.asset.php');
+
+ wp_enqueue_script(
+ 'my-provider-scripts',
+ plugins_url( 'build/index.js', __FILE__ ),
+ $asset_file['dependencies'],
+ $asset_file['version']
+ );
+}
+add_action( 'admin_enqueue_scripts', 'my_provider_enqueue_admin_assets' );
+```
+
## Add a new Feature
Starting in ClassifAI 3.0.0, it is easier to add your own Features. Most of the implementation details are left to you but there are a few key steps that need to be followed:
@@ -296,27 +364,6 @@ class MyFeature extends Feature {
return esc_html__( 'Enable this feature', 'text-domain' );
}
- /**
- * Add any needed custom fields.
- */
- public function add_custom_settings_fields() {
- $settings = $this->get_settings();
-
- add_settings_field(
- 'custom_setting',
- esc_html__( 'Custom setting', 'classifai' ),
- [ $this, 'render_input' ],
- $this->get_option_name(),
- $this->get_option_name() . '_section',
- [
- 'label_for' => 'custom_setting',
- 'placeholder' => esc_html__( 'Custom setting', 'text-domain' ),
- 'default_value' => $settings['custom_setting'],
- 'description' => esc_html__( 'Add a custom setting.', 'text-domain' ),
- ]
- );
- }
-
/**
* Returns the default settings for the feature.
*
@@ -372,3 +419,87 @@ add_filter(
}
);
```
+
+4. **Add additional featured fields to the settings**
+ClassifAI uses a React-based settings panel. To add the necessary additional feature fields, include the following code in a JavaScript file, and save it within your plugin's directory.
+
+_**Note:** The provided code snippet uses modern JavaScript (ESNext and JSX), which requires a build step to compile it into a browser-compatible format. We recommend using the [@wordpress/scripts](https://www.npmjs.com/package/@wordpress/scripts) package to manage the build process. For a step-by-step guide on how to install and use this package, check out this tutorial: [Get started with wp-scripts](https://developer.wordpress.org/block-editor/getting-started/devenv/get-started-with-wp-scripts/)._
+
+```js
+/**
+ * WordPress dependencies
+ */
+import { TextControl, Fill } from '@wordpress/components';
+import { registerPlugin } from '@wordpress/plugins';
+import { __ } from '@wordpress/i18n';
+import { useSelect, useDispatch } from '@wordpress/data';
+
+const MyFeatureSettings = () => {
+ const featureSettings = useSelect( ( select ) =>
+ select( 'classifai-settings' ).getFeatureSettings()
+ );
+ const { setFeatureSettings } = useDispatch( 'classifai-settings' );
+ return (
+ <>
+
+
+
{ __( 'Custom setting', 'classifai' ) }
+
+
+ setFeatureSettings( { custom_setting: value } )
+ }
+ />
+
+ { __( 'Choose what type of content to moderate.', 'classifai' ) }
+
+
+
+
+ >
+ );
+};
+
+registerPlugin( 'classifai-feature-custom', {
+ scope: 'feature-custom', // Feature settings scope. replace "_" with "-" in your feature ID.
+ render: MyFeatureSettings,
+} );
+```
+
+5. **Enqueue Javascript assets**
+To display the addition feature fields added in the previous step within the settings panel, we need to enqueue the corresponding JavaScript file. For guidance on enqueuing files in the admin area, refer to the "[Enqueue Script](https://developer.wordpress.org/plugins/javascript/enqueuing/#enqueue-script)" guide, but here’s a typical implementation.
+```php
+/**
+ * Enqueue the admin scripts.
+ *
+ * @param string $hook_suffix The current admin page.
+ */
+function my_feature_enqueue_admin_assets( $hook_suffix ) {
+ // Enqueue assets only on the ClassifAI settings page.
+ if ( 'tools_page_classifai' !== $hook_suffix ) {
+ return;
+ }
+
+ $asset_file = include( plugin_dir_path( __FILE__ ) . 'build/index.asset.php');
+
+ wp_enqueue_script(
+ 'my-feature-scripts',
+ plugins_url( 'build/index.js', __FILE__ ),
+ $asset_file['dependencies'],
+ $asset_file['version']
+ );
+}
+add_action( 'admin_enqueue_scripts', 'my_feature_enqueue_admin_assets' );
+```
+
+## Use Legacy settings
+ClassifAI 3.2.0 introduces React-based settings and deprecates the PHP-based settings pages. If you have customizations in the legacy settings and would like to continue using the legacy settings panel, you can enable this by using the `classifai_use_legacy_settings_panel` filter hook.
+
+However, please note that legacy settings will be completely removed in future releases. We recommend updating your customizations to use the React-based settings panel. If you encounter any issues, feel free to report them on our [GitHub repository](https://github.com/10up/classifai/).
+
+Add the following snippet to your theme's `functions.php` file or a custom plugin.
+
+```php
+add_filter( 'classifai_use_legacy_settings_panel', '__return_true' );
+```
diff --git a/includes/Classifai/Admin/Notifications.php b/includes/Classifai/Admin/Notifications.php
index 9bc13ab9a..501b7afc7 100644
--- a/includes/Classifai/Admin/Notifications.php
+++ b/includes/Classifai/Admin/Notifications.php
@@ -4,6 +4,7 @@
use Classifai\Features\DescriptiveTextGenerator;
use Classifai\Features\Classification;
+use function Classifai\should_use_legacy_settings_panel;
class Notifications {
@@ -44,6 +45,7 @@ public function maybe_render_notices() {
$this->thresholds_update_notice();
$this->v3_migration_completed_notice();
$this->render_embeddings_notice();
+ $this->render_notices();
}
/**
@@ -84,6 +86,11 @@ public function render_activation_notice() {
return;
}
+ $setup_url = admin_url( 'tools.php?page=classifai#/classifai_setup' );
+ if ( should_use_legacy_settings_panel() ) {
+ $setup_url = admin_url( 'admin.php?page=classifai_setup' );
+ }
+
// Prevent showing the default WordPress "Plugin Activated" notice.
unset( $_GET['activate'] ); // phpcs:ignore WordPress.Security.NonceVerification
?>
@@ -96,7 +103,7 @@ public function render_activation_notice() {
-
+
@@ -252,7 +259,7 @@ public function render_embeddings_notice() {
sprintf(
// translators: %1$s: Feature specific message; %2$s: URL to Feature settings.
__( 'ClassifAI has updated to the text-embedding-3-small
embeddings model. This requires regenerating any stored embeddings for functionality to work properly. Click here to do that , noting this will make multiple API requests to OpenAI.', 'classifai' ),
- wp_nonce_url( admin_url( 'tools.php?page=classifai&tab=language_processing&feature=feature_classification' ), 'regen_embeddings', 'embeddings_nonce' )
+ wp_nonce_url( admin_url( 'admin-post.php?action=classifai_regen_embeddings' ), 'regen_embeddings', 'embeddings_nonce' )
)
);
?>
@@ -331,4 +338,58 @@ public function ajax_maybe_dismiss_notice() {
update_user_meta( get_current_user_id(), "classifai_dismissed_{$notice_id}", true );
}
+
+ /**
+ * Render any saved notices to display.
+ */
+ public function render_notices() {
+ $notices = $this->get_notices();
+ if ( empty( $notices ) ) {
+ return;
+ }
+
+ foreach ( $notices as $notice ) {
+ if ( ! empty( $notice['message'] ) ) {
+ ?>
+
+ $type,
+ 'message' => $message,
+ ];
+ set_transient( 'classifai_notices', $notices );
+ }
}
diff --git a/includes/Classifai/Admin/Settings.php b/includes/Classifai/Admin/Settings.php
new file mode 100644
index 000000000..d33653aa7
--- /dev/null
+++ b/includes/Classifai/Admin/Settings.php
@@ -0,0 +1,407 @@
+! ' );
+ }
+
+ add_submenu_page(
+ 'tools.php',
+ $page_title,
+ $menu_title,
+ 'manage_options',
+ 'classifai',
+ [ $this, 'render_settings_page' ]
+ );
+ }
+
+ /**
+ * Renders the ClassifAI settings page.
+ */
+ public function render_settings_page() {
+ ?>
+
+
+
+
+ $this->get_features(),
+ 'services' => get_services_menu(),
+ 'settings' => $this->get_settings(),
+ 'dashboardUrl' => admin_url( '/' ),
+ 'nonce' => wp_create_nonce( 'classifai-previewer-action' ),
+ 'postStatuses' => get_post_statuses_for_language_settings(),
+ 'isEPinstalled' => is_elasticpress_installed(),
+ );
+
+ wp_add_inline_script(
+ 'classifai-settings',
+ sprintf(
+ 'var classifAISettings = %s;',
+ wp_json_encode( $data )
+ ),
+ 'before'
+ );
+
+ wp_enqueue_style(
+ 'classifai-settings',
+ CLASSIFAI_PLUGIN_URL . 'dist/settings.css',
+ array( 'wp-edit-blocks' ),
+ get_asset_info( 'settings', 'version' ),
+ 'all'
+ );
+ }
+
+ /**
+ * Get features for the settings page.
+ *
+ * @param bool $with_instance Whether to include the instance of the feature.
+ * @return array
+ */
+ public function get_features( bool $with_instance = false ): array {
+ $services = get_plugin()->services;
+ if ( empty( $services ) || empty( $services['service_manager'] ) || ! $services['service_manager'] instanceof ServicesManager ) {
+ return [];
+ }
+
+ /** @var ServicesManager $service_manager Instance of the services manager class. */
+ $service_manager = $services['service_manager'];
+ $services = [];
+
+ if ( empty( $service_manager->service_classes ) ) {
+ return [];
+ }
+
+ if ( $with_instance ) {
+ foreach ( $service_manager->service_classes as $service ) {
+ foreach ( $service->feature_classes as $feature ) {
+ $services[ $feature::ID ] = $feature;
+ }
+ }
+
+ return $services;
+ }
+
+ foreach ( $service_manager->service_classes as $service ) {
+ $services[ $service->get_menu_slug() ] = array();
+
+ foreach ( $service->feature_classes as $feature ) {
+ $services[ $service->get_menu_slug() ][ $feature::ID ] = array(
+ 'label' => $feature->get_label(),
+ 'providers' => $feature->get_providers(),
+ 'roles' => $feature->get_roles(),
+ 'enable_description' => $feature->get_enable_description(),
+ );
+ }
+ }
+
+ return $services;
+ }
+
+ /**
+ * Get the settings.
+ *
+ * @return array The settings.
+ */
+ public function get_settings(): array {
+ $features = $this->get_features( true );
+ $settings = [];
+
+ foreach ( $features as $feature ) {
+ $settings[ $feature::ID ] = $feature->get_settings();
+ }
+
+ return $settings;
+ }
+
+ /**
+ * Register the REST API routes for the settings.
+ */
+ public function register_routes() {
+ register_rest_route(
+ 'classifai/v1',
+ 'settings',
+ [
+ [
+ 'methods' => \WP_REST_Server::READABLE,
+ 'callback' => [ $this, 'get_settings_callback' ],
+ 'permission_callback' => [ $this, 'get_settings_permissions_check' ],
+ ],
+ [
+ 'methods' => \WP_REST_Server::EDITABLE,
+ 'callback' => [ $this, 'update_settings_callback' ],
+ 'permission_callback' => [ $this, 'update_settings_permissions_check' ],
+ ],
+ ]
+ );
+
+ register_rest_route(
+ 'classifai/v1',
+ 'registration',
+ [
+ [
+ 'methods' => \WP_REST_Server::READABLE,
+ 'callback' => [ $this, 'get_registration_settings_callback' ],
+ 'permission_callback' => [ $this, 'registration_settings_permissions_check' ],
+ ],
+ [
+ 'methods' => \WP_REST_Server::EDITABLE,
+ 'callback' => [ $this, 'update_registration_settings_callback' ],
+ 'permission_callback' => [ $this, 'registration_settings_permissions_check' ],
+ ],
+ ]
+ );
+
+ register_rest_route(
+ 'classifai/v1',
+ 'embeddings_in_progress',
+ [
+ [
+ 'methods' => \WP_REST_Server::READABLE,
+ 'callback' => [ $this, 'check_embedding_generation_status' ],
+ 'permission_callback' => [ $this, 'get_settings_permissions_check' ],
+ ],
+ ]
+ );
+ }
+
+ /**
+ * Callback for getting the settings.
+ *
+ * @return \WP_REST_Response
+ */
+ public function get_settings_callback(): \WP_REST_Response {
+ $settings = $this->get_settings();
+ return rest_ensure_response( $settings );
+ }
+
+ /**
+ * Check if a given request has access to get settings.
+ *
+ * @return bool
+ */
+ public function get_settings_permissions_check(): bool {
+ return current_user_can( 'manage_options' );
+ }
+
+ /**
+ * Update the settings.
+ *
+ * @param \WP_REST_Request $request Full data about the request.
+ * @return \WP_REST_Response|\WP_Error
+ */
+ public function update_settings_callback( \WP_REST_Request $request ) {
+ $params = $request->get_json_params();
+ $settings = $params['settings'] ?? [];
+ $is_setup = $params['is_setup'] ?? false;
+ $step = $params['step'] ?? '';
+ $features = $this->get_features( true );
+
+ // Load settings error functions.
+ if ( ! function_exists( 'add_settings_error' ) ) {
+ require_once ABSPATH . 'wp-admin/includes/template.php';
+ }
+
+ foreach ( $settings as $feature_key => $feature_settings ) {
+ $feature = $features[ $feature_key ];
+
+ if ( ! $feature ) {
+ return new \WP_Error( 'invalid_feature', __( 'Invalid feature.', 'classifai' ), [ 'status' => 400 ] );
+ }
+
+ // Skip sanitizing settings for setup step 1.
+ if ( true === $is_setup && 'enable_features' === $step ) {
+ $current_settings = $feature->get_settings();
+
+ // Update only status of the feature.
+ $current_settings['status'] = sanitize_text_field( $feature_settings['status'] ?? $current_settings['status'] );
+ $new_settings = $current_settings;
+ } else {
+ $new_settings = $feature->sanitize_settings( $settings[ $feature_key ] );
+ if ( is_wp_error( $new_settings ) ) {
+ continue;
+ }
+ }
+
+ // Update settings.
+ $feature->update_settings( $new_settings );
+
+ $setting_errors = get_settings_errors();
+ $errors = array();
+ if ( ! empty( $setting_errors ) ) {
+ foreach ( $setting_errors as $setting_error ) {
+ if ( empty( $setting_error['message'] ) ) {
+ continue;
+ }
+
+ $errors[] = array(
+ 'code' => $setting_error['code'],
+ 'message' => wp_strip_all_tags( $setting_error['message'] ),
+ );
+ }
+ }
+ }
+
+ $response = array(
+ 'success' => true,
+ 'settings' => $this->get_settings(),
+ );
+
+ if ( ! empty( $errors ) ) {
+ $response['success'] = false;
+ $response['errors'] = $errors;
+ }
+
+ return rest_ensure_response( $response );
+ }
+
+ /**
+ * Check if a given request has access to update settings.
+ *
+ * @return bool
+ */
+ public function update_settings_permissions_check(): bool {
+ return current_user_can( 'manage_options' );
+ }
+
+ /**
+ * Callback for getting the registration settings.
+ *
+ * @return \WP_REST_Response
+ */
+ public function get_registration_settings_callback(): \WP_REST_Response {
+ $service_manager = new ServicesManager();
+ $settings = $service_manager->get_settings();
+ return rest_ensure_response( $settings );
+ }
+
+ /**
+ * Update the registration settings.
+ *
+ * @param \WP_REST_Request $request Full data about the request.
+ * @return \WP_REST_Response|\WP_Error
+ */
+ public function update_registration_settings_callback( \WP_REST_Request $request ) {
+ // Load settings error functions.
+ if ( ! function_exists( 'add_settings_error' ) ) {
+ require_once ABSPATH . 'wp-admin/includes/template.php';
+ }
+
+ $service_manager = new ServicesManager();
+ $settings = $service_manager->get_settings();
+ $new_settings = $service_manager->sanitize_settings( $request->get_json_params() );
+
+ // Update the settings with the new values.
+ $new_settings = array_merge( $settings, $new_settings );
+ update_option( 'classifai_settings', $new_settings );
+
+ $setting_errors = get_settings_errors();
+ $errors = array();
+ if ( ! empty( $setting_errors ) ) {
+ foreach ( $setting_errors as $setting_error ) {
+ if ( empty( $setting_error['message'] ) ) {
+ continue;
+ }
+
+ $errors[] = array(
+ 'code' => $setting_error['code'],
+ 'message' => wp_strip_all_tags( $setting_error['message'] ),
+ );
+ }
+ }
+
+ $response = array(
+ 'success' => true,
+ 'settings' => $new_settings,
+ );
+
+ if ( ! empty( $errors ) ) {
+ $response['success'] = false;
+ $response['errors'] = $errors;
+ }
+
+ return rest_ensure_response( $response );
+ }
+
+ /**
+ * Check if a given request has access to get/update registration settings.
+ *
+ * @return bool
+ */
+ public function registration_settings_permissions_check(): bool {
+ return current_user_can( 'manage_options' );
+ }
+
+ /**
+ * Callback for getting the registration settings.
+ *
+ * @return \WP_REST_Response
+ */
+ public function check_embedding_generation_status(): \WP_REST_Response {
+ $classification = new Classification();
+ $response = array(
+ 'classifAIEmbedInProgress' => $classification->is_embeddings_generation_in_progress(),
+ );
+ return rest_ensure_response( $response );
+ }
+}
diff --git a/includes/Classifai/Features/Classification.php b/includes/Classifai/Features/Classification.php
index cf0638727..5e5047dc8 100644
--- a/includes/Classifai/Features/Classification.php
+++ b/includes/Classifai/Features/Classification.php
@@ -853,10 +853,10 @@ public function add_custom_settings_fields() {
public function get_feature_default_settings(): array {
return [
'post_statuses' => [
- 'publish' => 1,
+ 'publish' => 'publish',
],
'post_types' => [
- 'post' => 1,
+ 'post' => 'post',
],
'classification_mode' => 'manual_review',
'classification_method' => 'recommended_terms',
@@ -1190,4 +1190,18 @@ public function migrate_settings() {
return $new_settings;
}
+
+ /**
+ * Get status of embeddings generation process.
+ *
+ * @return bool
+ */
+ public function is_embeddings_generation_in_progress(): bool {
+ $is_in_progress = false;
+ $provider_instance = $this->get_feature_provider_instance();
+ if ( $provider_instance && method_exists( $provider_instance, 'is_embeddings_generation_in_progress' ) ) {
+ $is_in_progress = $provider_instance->is_embeddings_generation_in_progress();
+ }
+ return $is_in_progress;
+ }
}
diff --git a/includes/Classifai/Features/DescriptiveTextGenerator.php b/includes/Classifai/Features/DescriptiveTextGenerator.php
index 3ebf51cb7..0002a4694 100644
--- a/includes/Classifai/Features/DescriptiveTextGenerator.php
+++ b/includes/Classifai/Features/DescriptiveTextGenerator.php
@@ -373,7 +373,7 @@ public function add_custom_settings_fields() {
public function get_feature_default_settings(): array {
return [
'descriptive_text_fields' => [
- 'alt' => 0,
+ 'alt' => 'alt',
'caption' => 0,
'description' => 0,
],
diff --git a/includes/Classifai/Features/ExcerptGeneration.php b/includes/Classifai/Features/ExcerptGeneration.php
index 7ab110922..15ec70e6e 100644
--- a/includes/Classifai/Features/ExcerptGeneration.php
+++ b/includes/Classifai/Features/ExcerptGeneration.php
@@ -336,7 +336,9 @@ public function get_feature_default_settings(): array {
'original' => 1,
],
],
- 'post_types' => [],
+ 'post_types' => [
+ 'post' => 'post',
+ ],
'length' => absint( apply_filters( 'excerpt_length', 55 ) ),
'provider' => ChatGPT::ID,
];
diff --git a/includes/Classifai/Features/Feature.php b/includes/Classifai/Features/Feature.php
index f4e468035..e28e369e0 100644
--- a/includes/Classifai/Features/Feature.php
+++ b/includes/Classifai/Features/Feature.php
@@ -5,6 +5,7 @@
use WP_REST_Request;
use WP_Error;
use function Classifai\find_provider_class;
+use function Classifai\should_use_legacy_settings_panel;
use function Classifai\get_asset_info;
abstract class Feature {
@@ -62,8 +63,12 @@ abstract class Feature {
*/
public function setup() {
add_action( 'admin_init', [ $this, 'setup_roles' ] );
- add_action( 'admin_init', [ $this, 'register_setting' ] );
- add_action( 'admin_init', [ $this, 'setup_fields_sections' ] );
+ add_action( 'rest_api_init', [ $this, 'setup_roles' ] );
+ if ( should_use_legacy_settings_panel() ) {
+ add_action( 'admin_init', [ $this, 'register_setting' ] );
+ add_action( 'admin_init', [ $this, 'setup_fields_sections' ] );
+ }
+
add_action( 'admin_enqueue_scripts', [ $this, 'register_plugin_area_script' ] );
if ( $this->is_feature_enabled() ) {
@@ -83,6 +88,10 @@ public function feature_setup() {
* Assigns user roles to the $roles array.
*/
public function setup_roles() {
+ if ( ! function_exists( 'get_editable_roles' ) ) {
+ require_once ABSPATH . 'wp-admin/includes/user.php';
+ }
+
$default_settings = $this->get_default_settings();
$this->roles = get_editable_roles() ?? [];
$this->roles = array_combine( array_keys( $this->roles ), array_column( $this->roles, 'name' ) );
@@ -104,6 +113,15 @@ public function setup_roles() {
$this->roles = apply_filters( 'classifai_' . static::ID . '_roles', $this->roles, $default_settings );
}
+ /**
+ * Returns the roles for the feature.
+ *
+ * @return array Array of roles.
+ */
+ public function get_roles(): array {
+ return $this->roles;
+ }
+
/**
* Returns the label of the feature.
*
@@ -435,10 +453,9 @@ protected function merge_settings( array $settings = [], array $defaults = [] ):
/**
* Returns the providers supported by the feature.
*
- * @internal
* @return array
*/
- protected function get_providers(): array {
+ public function get_providers(): array {
/**
* Filter the feature providers.
*
@@ -462,6 +479,22 @@ public function reset_settings() {
update_option( $this->get_option_name(), $this->get_default_settings() );
}
+ /**
+ * Updates the settings for the feature.
+ *
+ * @param array $new_settings New settings to update.
+ */
+ public function update_settings( array $new_settings ) {
+ $settings = $this->get_settings();
+ if ( empty( $new_settings ) ) {
+ return;
+ }
+
+ // Update the settings with the new values.
+ $new_settings = array_merge( $settings, $new_settings );
+ update_option( $this->get_option_name(), $new_settings );
+ }
+
/**
* Add settings fields for Role/User based access.
*/
diff --git a/includes/Classifai/Features/Moderation.php b/includes/Classifai/Features/Moderation.php
index 6d4729aba..3ce97190f 100644
--- a/includes/Classifai/Features/Moderation.php
+++ b/includes/Classifai/Features/Moderation.php
@@ -347,7 +347,9 @@ public function add_custom_settings_fields() {
*/
public function get_feature_default_settings(): array {
return [
- 'content_types' => [],
+ 'content_types' => [
+ 'comments' => 'comments',
+ ],
'provider' => ModerationProvider::ID,
];
}
diff --git a/includes/Classifai/Features/TextToSpeech.php b/includes/Classifai/Features/TextToSpeech.php
index 1f177fe0a..fa7229384 100644
--- a/includes/Classifai/Features/TextToSpeech.php
+++ b/includes/Classifai/Features/TextToSpeech.php
@@ -770,7 +770,9 @@ protected function get_post_types_select_options(): array {
*/
public function get_feature_default_settings(): array {
return [
- 'post_types' => [],
+ 'post_types' => [
+ 'post' => 'post',
+ ],
'provider' => Speech::ID,
];
}
diff --git a/includes/Classifai/Helpers.php b/includes/Classifai/Helpers.php
index 60c31fdcf..df93c53c1 100644
--- a/includes/Classifai/Helpers.php
+++ b/includes/Classifai/Helpers.php
@@ -661,6 +661,27 @@ function get_classification_mode(): string {
return $value;
}
+/**
+ * Determine if the legacy settings panel should be used.
+ *
+ * @since x.x.x
+ *
+ * @return bool
+ */
+function should_use_legacy_settings_panel(): bool {
+ /**
+ * Filter to determine if the legacy settings panel should be used.'
+ *
+ * @since x.x.x
+ * @hook classifai_use_legacy_settings_panel
+ *
+ * @param {bool} $use_legacy_settings_panel Whether to use the legacy settings panel.
+ *
+ * @return {bool} Whether to use the legacy settings panel.
+ */
+ return apply_filters( 'classifai_use_legacy_settings_panel', false );
+}
+
/**
* Get all parts from the current URL.
*
diff --git a/includes/Classifai/Plugin.php b/includes/Classifai/Plugin.php
index fc44e3683..3d61af738 100644
--- a/includes/Classifai/Plugin.php
+++ b/includes/Classifai/Plugin.php
@@ -58,9 +58,15 @@ public function init() {
// Initialize the services; each service handles their features.
$this->init_services();
- // Initialize the ClassifAI Onboarding.
- $onboarding = new Admin\Onboarding();
- $onboarding->init();
+ if ( ! should_use_legacy_settings_panel() ) {
+ // Initialize the ClassifAI Settings.
+ $settings = new Admin\Settings();
+ $settings->init();
+ } else {
+ // Initialize the ClassifAI Onboarding. This is only used for the legacy settings panel.
+ $onboarding = new Admin\Onboarding();
+ $onboarding->init();
+ }
// Initialize the ClassifAI User Profile.
$user_profile = new Admin\UserProfile();
@@ -188,6 +194,7 @@ public function enqueue_admin_assets() {
'ajax_nonce' => wp_create_nonce( 'classifai' ),
'opt_out_enabled_features' => array_keys( $allowed_features ),
'profile_url' => esc_url( get_edit_profile_url( get_current_user_id() ) . '#classifai-profile-features-section' ),
+ 'plugin_url' => CLASSIFAI_PLUGIN_URL,
];
wp_localize_script(
@@ -219,11 +226,16 @@ public function filter_plugin_action_links( $links ): array {
return $links;
}
+ $setup_url = admin_url( 'tools.php?page=classifai#/classifai_setup' );
+ if ( should_use_legacy_settings_panel() ) {
+ $setup_url = admin_url( 'admin.php?page=classifai_setup' );
+ }
+
return array_merge(
array(
'setup' => sprintf(
' %s ',
- esc_url( admin_url( 'admin.php?page=classifai_setup' ) ),
+ esc_url( $setup_url ),
esc_html__( 'Set up', 'classifai' )
),
'settings' => sprintf(
diff --git a/includes/Classifai/Providers/Azure/ComputerVision.php b/includes/Classifai/Providers/Azure/ComputerVision.php
index 0b4022b82..961e05c4a 100644
--- a/includes/Classifai/Providers/Azure/ComputerVision.php
+++ b/includes/Classifai/Providers/Azure/ComputerVision.php
@@ -767,7 +767,7 @@ public function rest_endpoint_callback( $attachment_id, string $route_to_call =
}
if ( empty( $image_url ) ) {
- return new WP_Error( 'error', esc_html__( 'Valid image size not found. Make sure the image is less than 4MB.' ) );
+ return new WP_Error( 'error', esc_html__( 'Valid image size not found. Make sure the image is less than 4MB.', 'classifai' ) );
}
switch ( $route_to_call ) {
diff --git a/includes/Classifai/Providers/Azure/Embeddings.php b/includes/Classifai/Providers/Azure/Embeddings.php
index 7d4c205de..596fb3556 100644
--- a/includes/Classifai/Providers/Azure/Embeddings.php
+++ b/includes/Classifai/Providers/Azure/Embeddings.php
@@ -186,7 +186,7 @@ public function register() {
add_action( 'created_term', [ $this, 'generate_embeddings_for_term' ] ); /** @phpstan-ignore return.void (function is used in multiple contexts and needs to return data if called directly) */
add_action( 'edited_terms', [ $this, 'generate_embeddings_for_term' ] ); /** @phpstan-ignore return.void (function is used in multiple contexts and needs to return data if called directly) */
- add_action( 'wp_ajax_get_post_classifier_embeddings_preview_data', array( $this, 'get_post_classifier_embeddings_preview_data' ) ); /** @phpstan-ignore return.void (function is used in an ajax context and does need to return data) */
+ add_action( 'wp_ajax_get_post_classifier_embeddings_preview_data', array( $this, 'get_post_classifier_embeddings_preview_data' ) );
}
/**
@@ -340,10 +340,8 @@ public function get_threshold( string $taxonomy = '' ): float {
/**
* Get the data to preview terms.
- *
- * @return array
*/
- public function get_post_classifier_embeddings_preview_data(): array {
+ public function get_post_classifier_embeddings_preview_data() {
$nonce = isset( $_POST['nonce'] ) ? sanitize_text_field( wp_unslash( $_POST['nonce'] ) ) : false;
if ( ! $nonce || ! wp_verify_nonce( $nonce, 'classifai-previewer-action' ) ) {
@@ -358,9 +356,13 @@ public function get_post_classifier_embeddings_preview_data(): array {
// Add terms to this item based on embedding data.
if ( $embeddings && ! is_wp_error( $embeddings ) ) {
$embeddings_terms = $this->get_terms( $embeddings );
+
+ if ( is_wp_error( $embeddings_terms ) ) {
+ wp_send_json_error( $embeddings_terms->get_error_message() );
+ }
}
- return wp_send_json_success( $embeddings_terms );
+ wp_send_json_success( $embeddings_terms );
}
/**
@@ -571,7 +573,6 @@ function ( $a, $b ) {
}
// Prepare the results.
- $index = 0;
$results = [];
foreach ( $sorted_results as $tax => $terms ) {
@@ -579,23 +580,22 @@ function ( $a, $b ) {
$taxonomy = get_taxonomy( $tax );
$tax_name = $taxonomy->labels->singular_name;
- // Setup our taxonomy object.
- $results[] = new \stdClass();
-
- $results[ $index ]->{$tax_name} = [];
+ // Initialize the taxonomy bucket in results.
+ $results[ $tax ] = [
+ 'label' => $tax_name,
+ 'data' => [],
+ ];
foreach ( $terms as $term ) {
// Convert $similarity to percentage.
$similarity = round( ( 1 - $term['similarity'] ), 10 );
// Store the results.
- $results[ $index ]->{$tax_name}[] = [ // phpcs:ignore Squiz.PHP.DisallowMultipleAssignments.Found
+ $results[ $tax ]['data'][] = [
'label' => get_term( $term['term_id'] )->name,
'score' => $similarity,
];
}
-
- ++$index;
}
return $results;
@@ -1188,4 +1188,13 @@ public function get_debug_information(): array {
$this->feature_instance
);
}
+
+ /**
+ * Get embeddings generation status.
+ *
+ * @return bool
+ */
+ public function is_embeddings_generation_in_progress(): bool {
+ return self::$scheduler_instance->is_embeddings_generation_in_progress();
+ }
}
diff --git a/includes/Classifai/Providers/OpenAI/Embeddings.php b/includes/Classifai/Providers/OpenAI/Embeddings.php
index e068fc36b..4a48c095f 100644
--- a/includes/Classifai/Providers/OpenAI/Embeddings.php
+++ b/includes/Classifai/Providers/OpenAI/Embeddings.php
@@ -5,6 +5,7 @@
namespace Classifai\Providers\OpenAI;
+use Classifai\Admin\Notifications;
use Classifai\Providers\Provider;
use Classifai\Providers\OpenAI\APIRequest;
use Classifai\Providers\OpenAI\EmbeddingCalculations;
@@ -13,6 +14,7 @@
use Classifai\Features\Feature;
use Classifai\EmbeddingsScheduler;
use WP_Error;
+use function Classifai\should_use_legacy_settings_panel;
class Embeddings extends Provider {
@@ -241,32 +243,6 @@ public function render_provider_fields() {
]
);
- // If embeddings regeneration is being requested, run that.
- if (
- isset( $_GET['feature'] ) &&
- 'feature_classification' === sanitize_text_field( wp_unslash( $_GET['feature'] ) )
- ) {
- if ( isset( $_GET['embedding_regen_completed'] ) ) {
- add_action(
- 'admin_notices',
- function () {
- ?>
-
- regenerate_embeddings();
- }
- }
-
do_action( 'classifai_' . static::ID . '_render_provider_fields', $this );
}
@@ -310,7 +286,8 @@ public function register() {
add_action( 'created_term', [ $this, 'generate_embeddings_for_term' ] ); /** @phpstan-ignore return.void (function is used in multiple contexts and needs to return data if called directly) */
add_action( 'edited_terms', [ $this, 'generate_embeddings_for_term' ] ); /** @phpstan-ignore return.void (function is used in multiple contexts and needs to return data if called directly) */
- add_action( 'wp_ajax_get_post_classifier_embeddings_preview_data', array( $this, 'get_post_classifier_embeddings_preview_data' ) ); /** @phpstan-ignore return.void (function is called via ajax and does need to return data) */
+ add_action( 'wp_ajax_get_post_classifier_embeddings_preview_data', array( $this, 'get_post_classifier_embeddings_preview_data' ) );
+ add_action( 'admin_post_classifai_regen_embeddings', [ $this, 'classifai_regen_embeddings' ] );
}
/**
@@ -443,8 +420,19 @@ public function regenerate_embeddings() {
// Hide the admin notice.
update_option( 'classifai_hide_embeddings_notice', true, false );
+ // Set a notice to let the user know the embeddings have been regenerated.
+ $notifications = new Notifications();
+ $notifications->set_notice(
+ esc_html__( 'Embeddings have been regenerated.', 'classifai' ),
+ 'success',
+ );
+
// Redirect to the same page but remove the nonce so we don't run this again.
- wp_safe_redirect( admin_url( 'tools.php?page=classifai&tab=language_processing&feature=feature_classification&embedding_regen_completed' ) );
+ $redirect_url = admin_url( 'tools.php?page=classifai#/language_processing/feature_classification' );
+ if ( should_use_legacy_settings_panel() ) {
+ $redirect_url = admin_url( 'tools.php?page=classifai&tab=language_processing&feature=feature_classification' );
+ }
+ wp_safe_redirect( $redirect_url );
exit;
}
@@ -452,10 +440,8 @@ public function regenerate_embeddings() {
* Get the data to preview terms.
*
* @since 2.5.0
- *
- * @return array
*/
- public function get_post_classifier_embeddings_preview_data(): array {
+ public function get_post_classifier_embeddings_preview_data() {
$nonce = isset( $_POST['nonce'] ) ? sanitize_text_field( wp_unslash( $_POST['nonce'] ) ) : false;
if ( ! $nonce || ! wp_verify_nonce( $nonce, 'classifai-previewer-action' ) ) {
@@ -470,9 +456,27 @@ public function get_post_classifier_embeddings_preview_data(): array {
// Add terms to this item based on embedding data.
if ( $embeddings && ! is_wp_error( $embeddings ) ) {
$embeddings_terms = $this->get_terms( $embeddings );
+
+ if ( is_wp_error( $embeddings_terms ) ) {
+ wp_send_json_error( $embeddings_terms->get_error_message() );
+ }
}
- return wp_send_json_success( $embeddings_terms );
+ wp_send_json_success( $embeddings_terms );
+ }
+
+ /**
+ * Regenerate embeddings.
+ */
+ public function classifai_regen_embeddings() {
+ if (
+ ! isset( $_GET['embeddings_nonce'] ) ||
+ ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_GET['embeddings_nonce'] ) ), 'regen_embeddings' )
+ ) {
+ wp_die( esc_html__( 'You do not have permission to perform this operation.', 'classifai' ) );
+ }
+
+ $this->regenerate_embeddings();
}
/**
@@ -683,7 +687,6 @@ function ( $a, $b ) {
}
// Prepare the results.
- $index = 0;
$results = [];
foreach ( $sorted_results as $tax => $terms ) {
@@ -691,23 +694,22 @@ function ( $a, $b ) {
$taxonomy = get_taxonomy( $tax );
$tax_name = $taxonomy->labels->singular_name;
- // Setup our taxonomy object.
- $results[] = new \stdClass();
-
- $results[ $index ]->{$tax_name} = [];
+ // Initialize the taxonomy bucket in results.
+ $results[ $tax ] = [
+ 'label' => $tax_name,
+ 'data' => [],
+ ];
foreach ( $terms as $term ) {
// Convert $similarity to percentage.
$similarity = round( ( 1 - $term['similarity'] ), 10 );
// Store the results.
- $results[ $index ]->{$tax_name}[] = [ // phpcs:ignore Squiz.PHP.DisallowMultipleAssignments.Found
+ $results[ $tax ]['data'][] = [
'label' => get_term( $term['term_id'] )->name,
'score' => $similarity,
];
}
-
- ++$index;
}
return $results;
@@ -1295,4 +1297,13 @@ public function get_debug_information(): array {
$this->feature_instance
);
}
+
+ /**
+ * Get embeddings generation status.
+ *
+ * @return bool
+ */
+ public function is_embeddings_generation_in_progress(): bool {
+ return self::$scheduler_instance->is_embeddings_generation_in_progress();
+ }
}
diff --git a/includes/Classifai/Providers/Watson/NLU.php b/includes/Classifai/Providers/Watson/NLU.php
index 39939f9db..5e13b9e2f 100644
--- a/includes/Classifai/Providers/Watson/NLU.php
+++ b/includes/Classifai/Providers/Watson/NLU.php
@@ -209,7 +209,7 @@ public function get_default_provider_settings(): array {
$common_settings = [
'endpoint_url' => '',
'apikey' => '',
- 'username' => '',
+ 'username' => 'apikey',
'password' => '',
];
diff --git a/includes/Classifai/Services/ServicesManager.php b/includes/Classifai/Services/ServicesManager.php
index 564c7d0e2..cdf711089 100644
--- a/includes/Classifai/Services/ServicesManager.php
+++ b/includes/Classifai/Services/ServicesManager.php
@@ -5,6 +5,8 @@
namespace Classifai\Services;
+use function Classifai\should_use_legacy_settings_panel;
+
class ServicesManager {
/**
@@ -52,8 +54,10 @@ public function register() {
}
}
- // Do the settings pages.
- $this->do_settings();
+ if ( should_use_legacy_settings_panel() ) {
+ // Do the settings pages.
+ $this->do_settings();
+ }
// Register the functionality
$this->register_services();
diff --git a/package-lock.json b/package-lock.json
index 6f48bfe5d..a6f185be6 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,19 +9,21 @@
"version": "3.1.1",
"license": "GPL-2.0-or-later",
"dependencies": {
- "@wordpress/icons": "^10.8.0",
- "choices.js": "^10.2.0",
+ "@wordpress/icons": "^10.9.0",
+ "choices.js": "^11.0.2",
+ "classnames": "^2.5.1",
+ "react-router-dom": "^6.27.0",
"tippy.js": "^6.3.7"
},
"devDependencies": {
"@10up/cypress-wp-utils": "^0.4.0",
- "@wordpress/env": "^10.8.0",
+ "@wordpress/env": "^10.9.0",
"@wordpress/scripts": "27.9.0",
"cypress": "^13.15.0",
"cypress-file-upload": "^5.0.8",
"cypress-mochawesome-reporter": "^3.8.2",
"cypress-plugin-tab": "^1.0.5",
- "husky": "^8.0.3",
+ "husky": "^9.1.6",
"jsdoc": "^4.0.3",
"lint-staged": "^15.2.10",
"mochawesome-json-to-md": "^0.7.2",
@@ -36,15 +38,15 @@
"resolved": "https://registry.npmjs.org/@10up/cypress-wp-utils/-/cypress-wp-utils-0.4.0.tgz",
"integrity": "sha512-7cNELIX6ml5V9JEU83iEyQ6dkZ77ImdR5HKjUP4oyArQogPVcFPUnokU7GInH8DicqXbESrrkxZ0IfnNtNWh+A==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12.0"
}
},
"node_modules/@ampproject/remapping": {
"version": "2.2.1",
- "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz",
- "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"@jridgewell/gen-mapping": "^0.3.0",
"@jridgewell/trace-mapping": "^0.3.9"
@@ -58,6 +60,7 @@
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
"integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/highlight": "^7.24.7",
"picocolors": "^1.0.0"
@@ -68,18 +71,16 @@
},
"node_modules/@babel/compat-data": {
"version": "7.23.5",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz",
- "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/core": {
"version": "7.23.9",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.9.tgz",
- "integrity": "sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@ampproject/remapping": "^2.2.0",
"@babel/code-frame": "^7.23.5",
@@ -110,6 +111,7 @@
"resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.25.1.tgz",
"integrity": "sha512-Y956ghgTT4j7rKesabkh5WeqgSFZVFwaPR0IWFm7KFHFmmJ4afbG49SmfW4S+GyRPx0Dy5jxEWA5t0rpxfElWg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1",
"eslint-visitor-keys": "^2.1.0",
@@ -128,6 +130,7 @@
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz",
"integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/types": "^7.25.6",
"@jridgewell/gen-mapping": "^0.3.5",
@@ -140,9 +143,8 @@
},
"node_modules/@babel/helper-annotate-as-pure": {
"version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz",
- "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/types": "^7.22.5"
},
@@ -152,9 +154,8 @@
},
"node_modules/@babel/helper-builder-binary-assignment-operator-visitor": {
"version": "7.22.15",
- "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz",
- "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/types": "^7.22.15"
},
@@ -164,9 +165,8 @@
},
"node_modules/@babel/helper-compilation-targets": {
"version": "7.23.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz",
- "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/compat-data": "^7.23.5",
"@babel/helper-validator-option": "^7.23.5",
@@ -180,9 +180,8 @@
},
"node_modules/@babel/helper-create-class-features-plugin": {
"version": "7.23.10",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.10.tgz",
- "integrity": "sha512-2XpP2XhkXzgxecPNEEK8Vz8Asj9aRxt08oKOqtiZoqV2UGZ5T+EkyP9sXQ9nwMxBIG34a7jmasVqoMop7VdPUw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.22.5",
"@babel/helper-environment-visitor": "^7.22.20",
@@ -203,9 +202,8 @@
},
"node_modules/@babel/helper-create-regexp-features-plugin": {
"version": "7.22.15",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz",
- "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.22.5",
"regexpu-core": "^5.3.1",
@@ -220,9 +218,8 @@
},
"node_modules/@babel/helper-define-polyfill-provider": {
"version": "0.5.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz",
- "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-compilation-targets": "^7.22.6",
"@babel/helper-plugin-utils": "^7.22.5",
@@ -236,18 +233,16 @@
},
"node_modules/@babel/helper-environment-visitor": {
"version": "7.22.20",
- "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz",
- "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-function-name": {
"version": "7.23.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz",
- "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/template": "^7.22.15",
"@babel/types": "^7.23.0"
@@ -258,9 +253,8 @@
},
"node_modules/@babel/helper-hoist-variables": {
"version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz",
- "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/types": "^7.22.5"
},
@@ -270,9 +264,8 @@
},
"node_modules/@babel/helper-member-expression-to-functions": {
"version": "7.23.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz",
- "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/types": "^7.23.0"
},
@@ -285,6 +278,7 @@
"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz",
"integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/traverse": "^7.24.7",
"@babel/types": "^7.24.7"
@@ -295,9 +289,8 @@
},
"node_modules/@babel/helper-module-transforms": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz",
- "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-environment-visitor": "^7.22.20",
"@babel/helper-module-imports": "^7.22.15",
@@ -314,9 +307,8 @@
},
"node_modules/@babel/helper-optimise-call-expression": {
"version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz",
- "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/types": "^7.22.5"
},
@@ -329,15 +321,15 @@
"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz",
"integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-remap-async-to-generator": {
"version": "7.22.20",
- "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz",
- "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.22.5",
"@babel/helper-environment-visitor": "^7.22.20",
@@ -352,9 +344,8 @@
},
"node_modules/@babel/helper-replace-supers": {
"version": "7.22.20",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz",
- "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-environment-visitor": "^7.22.20",
"@babel/helper-member-expression-to-functions": "^7.22.15",
@@ -369,9 +360,8 @@
},
"node_modules/@babel/helper-simple-access": {
"version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz",
- "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/types": "^7.22.5"
},
@@ -381,9 +371,8 @@
},
"node_modules/@babel/helper-skip-transparent-expression-wrappers": {
"version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz",
- "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/types": "^7.22.5"
},
@@ -393,9 +382,8 @@
},
"node_modules/@babel/helper-split-export-declaration": {
"version": "7.22.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz",
- "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/types": "^7.22.5"
},
@@ -408,6 +396,7 @@
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz",
"integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.9.0"
}
@@ -417,24 +406,23 @@
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
"integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-option": {
"version": "7.23.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz",
- "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-wrap-function": {
"version": "7.22.20",
- "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz",
- "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-function-name": "^7.22.5",
"@babel/template": "^7.22.15",
@@ -446,9 +434,8 @@
},
"node_modules/@babel/helpers": {
"version": "7.23.9",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.9.tgz",
- "integrity": "sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/template": "^7.23.9",
"@babel/traverse": "^7.23.9",
@@ -463,6 +450,7 @@
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz",
"integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-validator-identifier": "^7.24.7",
"chalk": "^2.4.2",
@@ -478,6 +466,7 @@
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"color-convert": "^1.9.0"
},
@@ -490,6 +479,7 @@
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
@@ -504,6 +494,7 @@
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"color-name": "1.1.3"
}
@@ -512,13 +503,15 @@
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@babel/highlight/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==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.8.0"
}
@@ -528,6 +521,7 @@
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
@@ -537,6 +531,7 @@
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"has-flag": "^3.0.0"
},
@@ -549,6 +544,7 @@
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz",
"integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/types": "^7.25.6"
},
@@ -561,9 +557,8 @@
},
"node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz",
- "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
},
@@ -576,9 +571,8 @@
},
"node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz",
- "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5",
"@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
@@ -593,9 +587,8 @@
},
"node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": {
"version": "7.23.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz",
- "integrity": "sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-environment-visitor": "^7.22.20",
"@babel/helper-plugin-utils": "^7.22.5"
@@ -609,9 +602,8 @@
},
"node_modules/@babel/plugin-proposal-private-property-in-object": {
"version": "7.21.0-placeholder-for-preset-env.2",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz",
- "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.9.0"
},
@@ -621,9 +613,8 @@
},
"node_modules/@babel/plugin-syntax-async-generators": {
"version": "7.8.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
- "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
},
@@ -636,6 +627,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz",
"integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
},
@@ -645,9 +637,8 @@
},
"node_modules/@babel/plugin-syntax-class-properties": {
"version": "7.12.13",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
- "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.12.13"
},
@@ -657,9 +648,8 @@
},
"node_modules/@babel/plugin-syntax-class-static-block": {
"version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz",
- "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.14.5"
},
@@ -672,9 +662,8 @@
},
"node_modules/@babel/plugin-syntax-dynamic-import": {
"version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
- "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
},
@@ -684,9 +673,8 @@
},
"node_modules/@babel/plugin-syntax-export-namespace-from": {
"version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz",
- "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.3"
},
@@ -696,9 +684,8 @@
},
"node_modules/@babel/plugin-syntax-import-assertions": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz",
- "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
},
@@ -714,6 +701,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.6.tgz",
"integrity": "sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.24.8"
},
@@ -726,9 +714,8 @@
},
"node_modules/@babel/plugin-syntax-import-meta": {
"version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
- "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.10.4"
},
@@ -738,9 +725,8 @@
},
"node_modules/@babel/plugin-syntax-json-strings": {
"version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
- "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
},
@@ -750,9 +736,8 @@
},
"node_modules/@babel/plugin-syntax-jsx": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz",
- "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
},
@@ -765,9 +750,8 @@
},
"node_modules/@babel/plugin-syntax-logical-assignment-operators": {
"version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
- "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.10.4"
},
@@ -777,9 +761,8 @@
},
"node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
"version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
- "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
},
@@ -789,9 +772,8 @@
},
"node_modules/@babel/plugin-syntax-numeric-separator": {
"version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
- "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.10.4"
},
@@ -801,9 +783,8 @@
},
"node_modules/@babel/plugin-syntax-object-rest-spread": {
"version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
- "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
},
@@ -813,9 +794,8 @@
},
"node_modules/@babel/plugin-syntax-optional-catch-binding": {
"version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
- "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
},
@@ -825,9 +805,8 @@
},
"node_modules/@babel/plugin-syntax-optional-chaining": {
"version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
- "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
},
@@ -837,9 +816,8 @@
},
"node_modules/@babel/plugin-syntax-private-property-in-object": {
"version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz",
- "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.14.5"
},
@@ -852,9 +830,8 @@
},
"node_modules/@babel/plugin-syntax-top-level-await": {
"version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
- "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.14.5"
},
@@ -867,9 +844,8 @@
},
"node_modules/@babel/plugin-syntax-typescript": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz",
- "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
},
@@ -882,9 +858,8 @@
},
"node_modules/@babel/plugin-syntax-unicode-sets-regex": {
"version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz",
- "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-create-regexp-features-plugin": "^7.18.6",
"@babel/helper-plugin-utils": "^7.18.6"
@@ -898,9 +873,8 @@
},
"node_modules/@babel/plugin-transform-arrow-functions": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz",
- "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
},
@@ -913,9 +887,8 @@
},
"node_modules/@babel/plugin-transform-async-generator-functions": {
"version": "7.23.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz",
- "integrity": "sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-environment-visitor": "^7.22.20",
"@babel/helper-plugin-utils": "^7.22.5",
@@ -931,9 +904,8 @@
},
"node_modules/@babel/plugin-transform-async-to-generator": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz",
- "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-module-imports": "^7.22.15",
"@babel/helper-plugin-utils": "^7.22.5",
@@ -948,9 +920,8 @@
},
"node_modules/@babel/plugin-transform-block-scoped-functions": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz",
- "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
},
@@ -963,9 +934,8 @@
},
"node_modules/@babel/plugin-transform-block-scoping": {
"version": "7.23.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz",
- "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
},
@@ -978,9 +948,8 @@
},
"node_modules/@babel/plugin-transform-class-properties": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz",
- "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-create-class-features-plugin": "^7.22.15",
"@babel/helper-plugin-utils": "^7.22.5"
@@ -994,9 +963,8 @@
},
"node_modules/@babel/plugin-transform-class-static-block": {
"version": "7.23.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz",
- "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-create-class-features-plugin": "^7.22.15",
"@babel/helper-plugin-utils": "^7.22.5",
@@ -1011,9 +979,8 @@
},
"node_modules/@babel/plugin-transform-classes": {
"version": "7.23.8",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz",
- "integrity": "sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.22.5",
"@babel/helper-compilation-targets": "^7.23.6",
@@ -1033,9 +1000,8 @@
},
"node_modules/@babel/plugin-transform-computed-properties": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz",
- "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5",
"@babel/template": "^7.22.15"
@@ -1049,9 +1015,8 @@
},
"node_modules/@babel/plugin-transform-destructuring": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz",
- "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
},
@@ -1064,9 +1029,8 @@
},
"node_modules/@babel/plugin-transform-dotall-regex": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz",
- "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-create-regexp-features-plugin": "^7.22.15",
"@babel/helper-plugin-utils": "^7.22.5"
@@ -1080,9 +1044,8 @@
},
"node_modules/@babel/plugin-transform-duplicate-keys": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz",
- "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
},
@@ -1095,9 +1058,8 @@
},
"node_modules/@babel/plugin-transform-dynamic-import": {
"version": "7.23.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz",
- "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5",
"@babel/plugin-syntax-dynamic-import": "^7.8.3"
@@ -1111,9 +1073,8 @@
},
"node_modules/@babel/plugin-transform-exponentiation-operator": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz",
- "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15",
"@babel/helper-plugin-utils": "^7.22.5"
@@ -1127,9 +1088,8 @@
},
"node_modules/@babel/plugin-transform-export-namespace-from": {
"version": "7.23.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz",
- "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5",
"@babel/plugin-syntax-export-namespace-from": "^7.8.3"
@@ -1143,9 +1103,8 @@
},
"node_modules/@babel/plugin-transform-for-of": {
"version": "7.23.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz",
- "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5",
"@babel/helper-skip-transparent-expression-wrappers": "^7.22.5"
@@ -1159,9 +1118,8 @@
},
"node_modules/@babel/plugin-transform-function-name": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz",
- "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-compilation-targets": "^7.22.15",
"@babel/helper-function-name": "^7.23.0",
@@ -1176,9 +1134,8 @@
},
"node_modules/@babel/plugin-transform-json-strings": {
"version": "7.23.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz",
- "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5",
"@babel/plugin-syntax-json-strings": "^7.8.3"
@@ -1192,9 +1149,8 @@
},
"node_modules/@babel/plugin-transform-literals": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz",
- "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
},
@@ -1207,9 +1163,8 @@
},
"node_modules/@babel/plugin-transform-logical-assignment-operators": {
"version": "7.23.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz",
- "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5",
"@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
@@ -1223,9 +1178,8 @@
},
"node_modules/@babel/plugin-transform-member-expression-literals": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz",
- "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
},
@@ -1238,9 +1192,8 @@
},
"node_modules/@babel/plugin-transform-modules-amd": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz",
- "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-module-transforms": "^7.23.3",
"@babel/helper-plugin-utils": "^7.22.5"
@@ -1254,9 +1207,8 @@
},
"node_modules/@babel/plugin-transform-modules-commonjs": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz",
- "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-module-transforms": "^7.23.3",
"@babel/helper-plugin-utils": "^7.22.5",
@@ -1271,9 +1223,8 @@
},
"node_modules/@babel/plugin-transform-modules-systemjs": {
"version": "7.23.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz",
- "integrity": "sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-hoist-variables": "^7.22.5",
"@babel/helper-module-transforms": "^7.23.3",
@@ -1289,9 +1240,8 @@
},
"node_modules/@babel/plugin-transform-modules-umd": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz",
- "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-module-transforms": "^7.23.3",
"@babel/helper-plugin-utils": "^7.22.5"
@@ -1305,9 +1255,8 @@
},
"node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
"version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz",
- "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-create-regexp-features-plugin": "^7.22.5",
"@babel/helper-plugin-utils": "^7.22.5"
@@ -1321,9 +1270,8 @@
},
"node_modules/@babel/plugin-transform-new-target": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz",
- "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
},
@@ -1336,9 +1284,8 @@
},
"node_modules/@babel/plugin-transform-nullish-coalescing-operator": {
"version": "7.23.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz",
- "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5",
"@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
@@ -1352,9 +1299,8 @@
},
"node_modules/@babel/plugin-transform-numeric-separator": {
"version": "7.23.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz",
- "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5",
"@babel/plugin-syntax-numeric-separator": "^7.10.4"
@@ -1368,9 +1314,8 @@
},
"node_modules/@babel/plugin-transform-object-rest-spread": {
"version": "7.23.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz",
- "integrity": "sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/compat-data": "^7.23.3",
"@babel/helper-compilation-targets": "^7.22.15",
@@ -1387,9 +1332,8 @@
},
"node_modules/@babel/plugin-transform-object-super": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz",
- "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5",
"@babel/helper-replace-supers": "^7.22.20"
@@ -1403,9 +1347,8 @@
},
"node_modules/@babel/plugin-transform-optional-catch-binding": {
"version": "7.23.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz",
- "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5",
"@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
@@ -1419,9 +1362,8 @@
},
"node_modules/@babel/plugin-transform-optional-chaining": {
"version": "7.23.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz",
- "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5",
"@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
@@ -1436,9 +1378,8 @@
},
"node_modules/@babel/plugin-transform-parameters": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz",
- "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
},
@@ -1451,9 +1392,8 @@
},
"node_modules/@babel/plugin-transform-private-methods": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz",
- "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-create-class-features-plugin": "^7.22.15",
"@babel/helper-plugin-utils": "^7.22.5"
@@ -1467,9 +1407,8 @@
},
"node_modules/@babel/plugin-transform-private-property-in-object": {
"version": "7.23.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz",
- "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.22.5",
"@babel/helper-create-class-features-plugin": "^7.22.15",
@@ -1485,9 +1424,8 @@
},
"node_modules/@babel/plugin-transform-property-literals": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz",
- "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
},
@@ -1500,9 +1438,8 @@
},
"node_modules/@babel/plugin-transform-react-constant-elements": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.23.3.tgz",
- "integrity": "sha512-zP0QKq/p6O42OL94udMgSfKXyse4RyJ0JqbQ34zDAONWjyrEsghYEyTSK5FIpmXmCpB55SHokL1cRRKHv8L2Qw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
},
@@ -1515,9 +1452,8 @@
},
"node_modules/@babel/plugin-transform-react-display-name": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz",
- "integrity": "sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
},
@@ -1530,9 +1466,8 @@
},
"node_modules/@babel/plugin-transform-react-jsx": {
"version": "7.23.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz",
- "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.22.5",
"@babel/helper-module-imports": "^7.22.15",
@@ -1549,9 +1484,8 @@
},
"node_modules/@babel/plugin-transform-react-jsx-development": {
"version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz",
- "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/plugin-transform-react-jsx": "^7.22.5"
},
@@ -1564,9 +1498,8 @@
},
"node_modules/@babel/plugin-transform-react-pure-annotations": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz",
- "integrity": "sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.22.5",
"@babel/helper-plugin-utils": "^7.22.5"
@@ -1580,9 +1513,8 @@
},
"node_modules/@babel/plugin-transform-regenerator": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz",
- "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5",
"regenerator-transform": "^0.15.2"
@@ -1596,9 +1528,8 @@
},
"node_modules/@babel/plugin-transform-reserved-words": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz",
- "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
},
@@ -1614,6 +1545,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.4.tgz",
"integrity": "sha512-8hsyG+KUYGY0coX6KUCDancA0Vw225KJ2HJO0yCNr1vq5r+lJTleDaJf0K7iOhjw4SWhu03TMBzYTJ9krmzULQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-module-imports": "^7.24.7",
"@babel/helper-plugin-utils": "^7.24.8",
@@ -1634,6 +1566,7 @@
"resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz",
"integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-compilation-targets": "^7.22.6",
"@babel/helper-plugin-utils": "^7.22.5",
@@ -1650,6 +1583,7 @@
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz",
"integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-define-polyfill-provider": "^0.6.2",
"core-js-compat": "^3.38.0"
@@ -1663,6 +1597,7 @@
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz",
"integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-define-polyfill-provider": "^0.6.2"
},
@@ -1672,9 +1607,8 @@
},
"node_modules/@babel/plugin-transform-shorthand-properties": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz",
- "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
},
@@ -1687,9 +1621,8 @@
},
"node_modules/@babel/plugin-transform-spread": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz",
- "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5",
"@babel/helper-skip-transparent-expression-wrappers": "^7.22.5"
@@ -1703,9 +1636,8 @@
},
"node_modules/@babel/plugin-transform-sticky-regex": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz",
- "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
},
@@ -1718,9 +1650,8 @@
},
"node_modules/@babel/plugin-transform-template-literals": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz",
- "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
},
@@ -1733,9 +1664,8 @@
},
"node_modules/@babel/plugin-transform-typeof-symbol": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz",
- "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
},
@@ -1748,9 +1678,8 @@
},
"node_modules/@babel/plugin-transform-typescript": {
"version": "7.23.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz",
- "integrity": "sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.22.5",
"@babel/helper-create-class-features-plugin": "^7.23.6",
@@ -1766,9 +1695,8 @@
},
"node_modules/@babel/plugin-transform-unicode-escapes": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz",
- "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
},
@@ -1781,9 +1709,8 @@
},
"node_modules/@babel/plugin-transform-unicode-property-regex": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz",
- "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-create-regexp-features-plugin": "^7.22.15",
"@babel/helper-plugin-utils": "^7.22.5"
@@ -1797,9 +1724,8 @@
},
"node_modules/@babel/plugin-transform-unicode-regex": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz",
- "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-create-regexp-features-plugin": "^7.22.15",
"@babel/helper-plugin-utils": "^7.22.5"
@@ -1813,9 +1739,8 @@
},
"node_modules/@babel/plugin-transform-unicode-sets-regex": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz",
- "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-create-regexp-features-plugin": "^7.22.15",
"@babel/helper-plugin-utils": "^7.22.5"
@@ -1829,9 +1754,8 @@
},
"node_modules/@babel/preset-env": {
"version": "7.23.9",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.9.tgz",
- "integrity": "sha512-3kBGTNBBk9DQiPoXYS0g0BYlwTQYUTifqgKTjxUwEUkduRT2QOa0FPGBJ+NROQhGyYO5BuTJwGvBnqKDykac6A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/compat-data": "^7.23.5",
"@babel/helper-compilation-targets": "^7.23.6",
@@ -1923,9 +1847,8 @@
},
"node_modules/@babel/preset-modules": {
"version": "0.1.6-no-external-plugins",
- "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz",
- "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.0.0",
"@babel/types": "^7.4.4",
@@ -1937,9 +1860,8 @@
},
"node_modules/@babel/preset-react": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.23.3.tgz",
- "integrity": "sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5",
"@babel/helper-validator-option": "^7.22.15",
@@ -1957,9 +1879,8 @@
},
"node_modules/@babel/preset-typescript": {
"version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz",
- "integrity": "sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5",
"@babel/helper-validator-option": "^7.22.15",
@@ -1976,14 +1897,12 @@
},
"node_modules/@babel/regjsgen": {
"version": "0.8.0",
- "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz",
- "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@babel/runtime": {
"version": "7.23.9",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.9.tgz",
- "integrity": "sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==",
+ "license": "MIT",
"dependencies": {
"regenerator-runtime": "^0.14.0"
},
@@ -1996,6 +1915,7 @@
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz",
"integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/code-frame": "^7.24.7",
"@babel/parser": "^7.25.0",
@@ -2010,6 +1930,7 @@
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz",
"integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/code-frame": "^7.24.7",
"@babel/generator": "^7.25.6",
@@ -2028,6 +1949,7 @@
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz",
"integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-string-parser": "^7.24.8",
"@babel/helper-validator-identifier": "^7.24.7",
@@ -2041,13 +1963,13 @@
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
"integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@colors/colors": {
"version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
- "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==",
"dev": true,
+ "license": "MIT",
"optional": true,
"engines": {
"node": ">=0.1.90"
@@ -2058,6 +1980,7 @@
"resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz",
"integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==",
"dev": true,
+ "license": "CC0-1.0",
"engines": {
"node": "^14 || ^16 || >=18"
},
@@ -2074,6 +1997,7 @@
"resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.5.tgz",
"integrity": "sha512-v+XHd9XmWbufxF1/bTaVm2yhbxY+TB4YtWRqF2zaXBlDNMkls34KiATz0AVDLavL3iB6bQk9/7n3oY1EoLSWGA==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"aws-sign2": "~0.7.0",
"aws4": "^1.8.0",
@@ -2100,9 +2024,8 @@
},
"node_modules/@cypress/xvfb": {
"version": "1.2.4",
- "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz",
- "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"debug": "^3.1.0",
"lodash.once": "^4.1.1"
@@ -2110,18 +2033,16 @@
},
"node_modules/@cypress/xvfb/node_modules/debug": {
"version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ms": "^2.1.1"
}
},
"node_modules/@discoveryjs/json-ext": {
"version": "0.5.7",
- "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz",
- "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10.0.0"
}
@@ -2131,6 +2052,7 @@
"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.41.0.tgz",
"integrity": "sha512-aKUhyn1QI5Ksbqcr3fFJj16p99QdjUxXAEuFst1Z47DRyoiMwivIH9MV/ARcJOCXVjPfjITciej8ZD2O/6qUmw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"comment-parser": "1.4.1",
"esquery": "^1.5.0",
@@ -2145,6 +2067,7 @@
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
"integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"eslint-visitor-keys": "^3.3.0"
},
@@ -2160,6 +2083,7 @@
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
"integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
@@ -2172,6 +2096,7 @@
"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz",
"integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^12.0.0 || ^14.0.0 || >=16.0.0"
}
@@ -2181,6 +2106,7 @@
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
"integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ajv": "^6.12.4",
"debug": "^4.3.2",
@@ -2203,13 +2129,15 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true
+ "dev": true,
+ "license": "Python-2.0"
},
"node_modules/@eslint/eslintrc/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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -2220,6 +2148,7 @@
"resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
"integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"type-fest": "^0.20.2"
},
@@ -2235,6 +2164,7 @@
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"argparse": "^2.0.1"
},
@@ -2247,6 +2177,7 @@
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -2259,6 +2190,7 @@
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
"integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
"dev": true,
+ "license": "(MIT OR CC0-1.0)",
"engines": {
"node": ">=10"
},
@@ -2271,21 +2203,20 @@
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz",
"integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
"node_modules/@hapi/hoek": {
"version": "9.3.0",
- "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz",
- "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==",
- "dev": true
+ "dev": true,
+ "license": "BSD-3-Clause"
},
"node_modules/@hapi/topo": {
"version": "5.1.0",
- "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz",
- "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"@hapi/hoek": "^9.0.0"
}
@@ -2296,6 +2227,7 @@
"integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==",
"deprecated": "Use @eslint/config-array instead",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"@humanwhocodes/object-schema": "^2.0.3",
"debug": "^4.3.1",
@@ -2310,6 +2242,7 @@
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -2320,6 +2253,7 @@
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -2332,6 +2266,7 @@
"resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
"integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": ">=12.22"
},
@@ -2345,13 +2280,15 @@
"resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz",
"integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==",
"deprecated": "Use @eslint/object-schema instead",
- "dev": true
+ "dev": true,
+ "license": "BSD-3-Clause"
},
"node_modules/@istanbuljs/load-nyc-config": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
"integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"camelcase": "^5.3.1",
"find-up": "^4.1.0",
@@ -2368,6 +2305,7 @@
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
"integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
@@ -2377,6 +2315,7 @@
"resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
"integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"locate-path": "^5.0.0",
"path-exists": "^4.0.0"
@@ -2390,6 +2329,7 @@
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
"integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-locate": "^4.1.0"
},
@@ -2402,6 +2342,7 @@
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
"integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-try": "^2.0.0"
},
@@ -2417,6 +2358,7 @@
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
"integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-limit": "^2.2.0"
},
@@ -2429,6 +2371,7 @@
"resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
"integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -2438,6 +2381,7 @@
"resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz",
"integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/types": "^29.6.3",
"@types/node": "*",
@@ -2455,6 +2399,7 @@
"resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz",
"integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/console": "^29.7.0",
"@jest/reporters": "^29.7.0",
@@ -2499,9 +2444,8 @@
},
"node_modules/@jest/environment": {
"version": "29.7.0",
- "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz",
- "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/fake-timers": "^29.7.0",
"@jest/types": "^29.6.3",
@@ -2517,6 +2461,7 @@
"resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz",
"integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"expect": "^29.7.0",
"jest-snapshot": "^29.7.0"
@@ -2530,6 +2475,7 @@
"resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz",
"integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"jest-get-type": "^29.6.3"
},
@@ -2539,9 +2485,8 @@
},
"node_modules/@jest/fake-timers": {
"version": "29.7.0",
- "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz",
- "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/types": "^29.6.3",
"@sinonjs/fake-timers": "^10.0.2",
@@ -2559,6 +2504,7 @@
"resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz",
"integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/environment": "^29.7.0",
"@jest/expect": "^29.7.0",
@@ -2574,6 +2520,7 @@
"resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz",
"integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@bcoe/v8-coverage": "^0.2.3",
"@jest/console": "^29.7.0",
@@ -2617,6 +2564,7 @@
"resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz",
"integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"@babel/core": "^7.23.9",
"@babel/parser": "^7.23.9",
@@ -2633,6 +2581,7 @@
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
"dev": true,
+ "license": "ISC",
"bin": {
"semver": "bin/semver.js"
},
@@ -2642,9 +2591,8 @@
},
"node_modules/@jest/schemas": {
"version": "29.6.3",
- "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz",
- "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@sinclair/typebox": "^0.27.8"
},
@@ -2657,6 +2605,7 @@
"resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz",
"integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jridgewell/trace-mapping": "^0.3.18",
"callsites": "^3.0.0",
@@ -2671,6 +2620,7 @@
"resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz",
"integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/console": "^29.7.0",
"@jest/types": "^29.6.3",
@@ -2686,6 +2636,7 @@
"resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz",
"integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/test-result": "^29.7.0",
"graceful-fs": "^4.2.9",
@@ -2701,6 +2652,7 @@
"resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz",
"integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/core": "^7.11.6",
"@jest/types": "^29.6.3",
@@ -2724,9 +2676,8 @@
},
"node_modules/@jest/types": {
"version": "29.6.3",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
- "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/schemas": "^29.6.3",
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -2744,6 +2695,7 @@
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
"integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jridgewell/set-array": "^1.2.1",
"@jridgewell/sourcemap-codec": "^1.4.10",
@@ -2755,9 +2707,8 @@
},
"node_modules/@jridgewell/resolve-uri": {
"version": "3.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
- "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.0.0"
}
@@ -2767,15 +2718,15 @@
"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
"integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@jridgewell/source-map": {
"version": "0.3.5",
- "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz",
- "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jridgewell/gen-mapping": "^0.3.0",
"@jridgewell/trace-mapping": "^0.3.9"
@@ -2783,15 +2734,15 @@
},
"node_modules/@jridgewell/sourcemap-codec": {
"version": "1.4.15",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
- "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@jridgewell/trace-mapping": {
"version": "0.3.25",
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
"integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jridgewell/resolve-uri": "^3.1.0",
"@jridgewell/sourcemap-codec": "^1.4.14"
@@ -2799,9 +2750,8 @@
},
"node_modules/@jsdoc/salty": {
"version": "0.2.7",
- "resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.7.tgz",
- "integrity": "sha512-mh8LbS9d4Jq84KLw8pzho7XC2q2/IJGiJss3xwRoLD1A+EE16SjN4PfaG4jRCzKegTFLlN0Zd8SdUPE6XdoPFg==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"lodash": "^4.17.21"
},
@@ -2811,39 +2761,36 @@
},
"node_modules/@kwsites/file-exists": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz",
- "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"debug": "^4.1.1"
}
},
"node_modules/@kwsites/promise-deferred": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz",
- "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@leichtgewicht/ip-codec": {
"version": "2.0.4",
- "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz",
- "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@nicolo-ribaudo/eslint-scope-5-internals": {
"version": "5.1.1-v1",
"resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz",
"integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"eslint-scope": "5.1.1"
}
},
"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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@nodelib/fs.stat": "2.0.5",
"run-parallel": "^1.1.9"
@@ -2854,18 +2801,16 @@
},
"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==",
"dev": true,
+ "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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@nodelib/fs.scandir": "2.1.5",
"fastq": "^1.6.0"
@@ -2879,6 +2824,7 @@
"resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz",
"integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^12.20.0 || ^14.18.0 || >=16.0.0"
},
@@ -2891,6 +2837,7 @@
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.47.2.tgz",
"integrity": "sha512-jTXRsoSPONAs8Za9QEQdyjFn+0ZQFjCiIztAIF6bi1HqhBzG9Ma7g1WotyiGqFSBRZjIEqMdT8RUlbk1QVhzCQ==",
"dev": true,
+ "license": "Apache-2.0",
"peer": true,
"dependencies": {
"playwright": "1.47.2"
@@ -2904,9 +2851,8 @@
},
"node_modules/@pmmmwh/react-refresh-webpack-plugin": {
"version": "0.5.11",
- "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.11.tgz",
- "integrity": "sha512-7j/6vdTym0+qZ6u4XbSAxrWBGYSdCfTzySkj7WAFgDLmSyWlOrWvpyzxlFh5jtw9dn0oL/jtW+06XfFiisN3JQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-html-community": "^0.0.8",
"common-path-prefix": "^3.0.0",
@@ -2954,14 +2900,12 @@
},
"node_modules/@polka/url": {
"version": "1.0.0-next.24",
- "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.24.tgz",
- "integrity": "sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@popperjs/core": {
"version": "2.11.8",
- "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz",
- "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==",
+ "license": "MIT",
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/popperjs"
@@ -2972,6 +2916,7 @@
"resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.4.6.tgz",
"integrity": "sha512-x4BEjr2SjOPowNeiguzjozQbsc6h437ovD/wu+JpaenxVLm3jkgzHY2xOslMTp50HoTvQreMjiexiGQw1sqZlQ==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"debug": "4.3.4",
"extract-zip": "2.0.1",
@@ -3001,6 +2946,7 @@
"resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
"integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"debug": "^4.1.1",
"get-stream": "^5.1.0",
@@ -3021,6 +2967,7 @@
"resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz",
"integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"mkdirp-classic": "^0.5.2",
"pump": "^3.0.0",
@@ -3032,6 +2979,7 @@
"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz",
"integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"b4a": "^1.6.4",
"fast-fifo": "^1.2.0",
@@ -3043,6 +2991,7 @@
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz",
"integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"cliui": "^8.0.1",
"escalade": "^3.1.1",
@@ -3056,17 +3005,27 @@
"node": ">=12"
}
},
+ "node_modules/@remix-run/router": {
+ "version": "1.20.0",
+ "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.20.0.tgz",
+ "integrity": "sha512-mUnk8rPJBI9loFDZ+YzPGdeniYK+FTmRD1TMCz7ev2SNIozyKKpnGgsxO34u6Z4z/t0ITuu7voi/AshfsGsgFg==",
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
"node_modules/@rtsao/scc": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz",
"integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@sentry/core": {
"version": "6.19.7",
"resolved": "https://registry.npmjs.org/@sentry/core/-/core-6.19.7.tgz",
"integrity": "sha512-tOfZ/umqB2AcHPGbIrsFLcvApdTm9ggpi/kQZFkej7kMphjT+SGBiQfYtjyg9jcRW+ilAR4JXC9BGKsdEQ+8Vw==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"@sentry/hub": "6.19.7",
"@sentry/minimal": "6.19.7",
@@ -3082,13 +3041,15 @@
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
+ "dev": true,
+ "license": "0BSD"
},
"node_modules/@sentry/hub": {
"version": "6.19.7",
"resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-6.19.7.tgz",
"integrity": "sha512-y3OtbYFAqKHCWezF0EGGr5lcyI2KbaXW2Ik7Xp8Mu9TxbSTuwTe4rTntwg8ngPjUQU3SUHzgjqVB8qjiGqFXCA==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"@sentry/types": "6.19.7",
"@sentry/utils": "6.19.7",
@@ -3102,13 +3063,15 @@
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
+ "dev": true,
+ "license": "0BSD"
},
"node_modules/@sentry/minimal": {
"version": "6.19.7",
"resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-6.19.7.tgz",
"integrity": "sha512-wcYmSJOdvk6VAPx8IcmZgN08XTXRwRtB1aOLZm+MVHjIZIhHoBGZJYTVQS/BWjldsamj2cX3YGbGXNunaCfYJQ==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"@sentry/hub": "6.19.7",
"@sentry/types": "6.19.7",
@@ -3122,13 +3085,15 @@
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
+ "dev": true,
+ "license": "0BSD"
},
"node_modules/@sentry/node": {
"version": "6.19.7",
"resolved": "https://registry.npmjs.org/@sentry/node/-/node-6.19.7.tgz",
"integrity": "sha512-gtmRC4dAXKODMpHXKfrkfvyBL3cI8y64vEi3fDD046uqYcrWdgoQsffuBbxMAizc6Ez1ia+f0Flue6p15Qaltg==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"@sentry/core": "6.19.7",
"@sentry/hub": "6.19.7",
@@ -3147,13 +3112,15 @@
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
+ "dev": true,
+ "license": "0BSD"
},
"node_modules/@sentry/types": {
"version": "6.19.7",
"resolved": "https://registry.npmjs.org/@sentry/types/-/types-6.19.7.tgz",
"integrity": "sha512-jH84pDYE+hHIbVnab3Hr+ZXr1v8QABfhx39KknxqKWr2l0oEItzepV0URvbEhB446lk/S/59230dlUUIBGsXbg==",
"dev": true,
+ "license": "BSD-3-Clause",
"engines": {
"node": ">=6"
}
@@ -3163,6 +3130,7 @@
"resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-6.19.7.tgz",
"integrity": "sha512-z95ECmE3i9pbWoXQrD/7PgkBAzJYR+iXtPuTkpBjDKs86O3mT+PXOT3BAn79w2wkn7/i3vOGD2xVr1uiMl26dA==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"@sentry/types": "6.19.7",
"tslib": "^1.9.3"
@@ -3175,40 +3143,36 @@
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
+ "dev": true,
+ "license": "0BSD"
},
"node_modules/@sideway/address": {
"version": "4.1.5",
- "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz",
- "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"@hapi/hoek": "^9.0.0"
}
},
"node_modules/@sideway/formula": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz",
- "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==",
- "dev": true
+ "dev": true,
+ "license": "BSD-3-Clause"
},
"node_modules/@sideway/pinpoint": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz",
- "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==",
- "dev": true
+ "dev": true,
+ "license": "BSD-3-Clause"
},
"node_modules/@sinclair/typebox": {
"version": "0.27.8",
- "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz",
- "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@sindresorhus/is": {
"version": "4.6.0",
- "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz",
- "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -3218,27 +3182,24 @@
},
"node_modules/@sinonjs/commons": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
- "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"type-detect": "4.0.8"
}
},
"node_modules/@sinonjs/fake-timers": {
"version": "10.3.0",
- "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz",
- "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"@sinonjs/commons": "^3.0.0"
}
},
"node_modules/@svgr/babel-plugin-add-jsx-attribute": {
"version": "8.0.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz",
- "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=14"
},
@@ -3252,9 +3213,8 @@
},
"node_modules/@svgr/babel-plugin-remove-jsx-attribute": {
"version": "8.0.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz",
- "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=14"
},
@@ -3268,9 +3228,8 @@
},
"node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": {
"version": "8.0.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz",
- "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=14"
},
@@ -3284,9 +3243,8 @@
},
"node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": {
"version": "8.0.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz",
- "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=14"
},
@@ -3300,9 +3258,8 @@
},
"node_modules/@svgr/babel-plugin-svg-dynamic-title": {
"version": "8.0.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz",
- "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=14"
},
@@ -3316,9 +3273,8 @@
},
"node_modules/@svgr/babel-plugin-svg-em-dimensions": {
"version": "8.0.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz",
- "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=14"
},
@@ -3332,9 +3288,8 @@
},
"node_modules/@svgr/babel-plugin-transform-react-native-svg": {
"version": "8.1.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz",
- "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=14"
},
@@ -3348,9 +3303,8 @@
},
"node_modules/@svgr/babel-plugin-transform-svg-component": {
"version": "8.0.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz",
- "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -3364,9 +3318,8 @@
},
"node_modules/@svgr/babel-preset": {
"version": "8.1.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz",
- "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@svgr/babel-plugin-add-jsx-attribute": "8.0.0",
"@svgr/babel-plugin-remove-jsx-attribute": "8.0.0",
@@ -3390,9 +3343,8 @@
},
"node_modules/@svgr/core": {
"version": "8.1.0",
- "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz",
- "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/core": "^7.21.3",
"@svgr/babel-preset": "8.1.0",
@@ -3410,9 +3362,8 @@
},
"node_modules/@svgr/hast-util-to-babel-ast": {
"version": "8.0.0",
- "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz",
- "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/types": "^7.21.3",
"entities": "^4.4.0"
@@ -3427,9 +3378,8 @@
},
"node_modules/@svgr/plugin-jsx": {
"version": "8.1.0",
- "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz",
- "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/core": "^7.21.3",
"@svgr/babel-preset": "8.1.0",
@@ -3449,9 +3399,8 @@
},
"node_modules/@svgr/plugin-svgo": {
"version": "8.1.0",
- "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz",
- "integrity": "sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"cosmiconfig": "^8.1.3",
"deepmerge": "^4.3.1",
@@ -3470,9 +3419,8 @@
},
"node_modules/@svgr/webpack": {
"version": "8.1.0",
- "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz",
- "integrity": "sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/core": "^7.21.3",
"@babel/plugin-transform-react-constant-elements": "^7.21.3",
@@ -3493,9 +3441,8 @@
},
"node_modules/@szmarczak/http-timer": {
"version": "4.0.6",
- "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz",
- "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"defer-to-connect": "^2.0.0"
},
@@ -3508,6 +3455,7 @@
"resolved": "https://registry.npmjs.org/@tannin/compile/-/compile-1.1.0.tgz",
"integrity": "sha512-n8m9eNDfoNZoxdvWiTfW/hSPhehzLJ3zW7f8E7oT6mCROoMNWCB4TYtv041+2FMAxweiE0j7i1jubQU4MEC/Gg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@tannin/evaluate": "^1.2.0",
"@tannin/postfix": "^1.1.0"
@@ -3517,13 +3465,15 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/@tannin/evaluate/-/evaluate-1.2.0.tgz",
"integrity": "sha512-3ioXvNowbO/wSrxsDG5DKIMxC81P0QrQTYai8zFNY+umuoHWRPbQ/TuuDEOju9E+jQDXmj6yI5GyejNuh8I+eg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@tannin/plural-forms": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@tannin/plural-forms/-/plural-forms-1.1.0.tgz",
"integrity": "sha512-xl9R2mDZO/qiHam1AgMnAES6IKIg7OBhcXqy6eDsRCdXuxAFPcjrej9HMjyCLE0DJ/8cHf0i5OQTstuBRhpbHw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@tannin/compile": "^1.1.0"
}
@@ -3532,13 +3482,13 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@tannin/postfix/-/postfix-1.1.0.tgz",
"integrity": "sha512-oocsqY7g0cR+Gur5jRQLSrX2OtpMLMse1I10JQBm8CdGMrDkh1Mg2gjsiquMHRtBs4Qwu5wgEp5GgIYHk4SNPw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@tootallnate/once": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz",
- "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 10"
}
@@ -3547,13 +3497,13 @@
"version": "0.23.0",
"resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz",
"integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@trysound/sax": {
"version": "0.2.0",
- "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz",
- "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": ">=10.13.0"
}
@@ -3563,6 +3513,7 @@
"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
"integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/parser": "^7.20.7",
"@babel/types": "^7.20.7",
@@ -3576,6 +3527,7 @@
"resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz",
"integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/types": "^7.0.0"
}
@@ -3585,6 +3537,7 @@
"resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz",
"integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/parser": "^7.1.0",
"@babel/types": "^7.0.0"
@@ -3595,15 +3548,15 @@
"resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz",
"integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/types": "^7.20.7"
}
},
"node_modules/@types/body-parser": {
"version": "1.19.5",
- "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz",
- "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/connect": "*",
"@types/node": "*"
@@ -3611,18 +3564,16 @@
},
"node_modules/@types/bonjour": {
"version": "3.5.13",
- "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz",
- "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/node": "*"
}
},
"node_modules/@types/cacheable-request": {
"version": "6.0.3",
- "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz",
- "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/http-cache-semantics": "*",
"@types/keyv": "^3.1.4",
@@ -3632,18 +3583,16 @@
},
"node_modules/@types/connect": {
"version": "3.4.38",
- "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz",
- "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/node": "*"
}
},
"node_modules/@types/connect-history-api-fallback": {
"version": "1.5.4",
- "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz",
- "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/express-serve-static-core": "*",
"@types/node": "*"
@@ -3651,15 +3600,13 @@
},
"node_modules/@types/estree": {
"version": "1.0.5",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
- "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/express": {
"version": "4.17.21",
- "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz",
- "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/body-parser": "*",
"@types/express-serve-static-core": "^4.17.33",
@@ -3669,9 +3616,8 @@
},
"node_modules/@types/express-serve-static-core": {
"version": "4.17.43",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz",
- "integrity": "sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/node": "*",
"@types/qs": "*",
@@ -3681,9 +3627,8 @@
},
"node_modules/@types/glob": {
"version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz",
- "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/minimatch": "*",
"@types/node": "*"
@@ -3694,60 +3639,54 @@
"resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz",
"integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/node": "*"
}
},
"node_modules/@types/http-cache-semantics": {
"version": "4.0.4",
- "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz",
- "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/http-errors": {
"version": "2.0.4",
- "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz",
- "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/http-proxy": {
"version": "1.17.14",
- "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz",
- "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/node": "*"
}
},
"node_modules/@types/istanbul-lib-coverage": {
"version": "2.0.6",
- "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz",
- "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/istanbul-lib-report": {
"version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz",
- "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/istanbul-lib-coverage": "*"
}
},
"node_modules/@types/istanbul-reports": {
"version": "3.0.4",
- "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz",
- "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/istanbul-lib-report": "*"
}
},
"node_modules/@types/jsdom": {
"version": "20.0.1",
- "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz",
- "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/node": "*",
"@types/tough-cookie": "*",
@@ -3756,21 +3695,20 @@
},
"node_modules/@types/json-schema": {
"version": "7.0.15",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
- "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/json5": {
"version": "0.0.29",
"resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
"integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/keyv": {
"version": "3.1.4",
- "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz",
- "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/node": "*"
}
@@ -3779,13 +3717,15 @@
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz",
"integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/markdown-it": {
"version": "14.1.2",
"resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.2.tgz",
"integrity": "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/linkify-it": "^5",
"@types/mdurl": "^2"
@@ -3795,40 +3735,38 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz",
"integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/mime": {
"version": "1.3.5",
- "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz",
- "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/minimatch": {
"version": "5.1.2",
- "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz",
- "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/minimist": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz",
"integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/node": {
"version": "20.11.19",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.19.tgz",
- "integrity": "sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"undici-types": "~5.26.4"
}
},
"node_modules/@types/node-forge": {
"version": "1.3.11",
- "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz",
- "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/node": "*"
}
@@ -3837,13 +3775,13 @@
"version": "2.4.4",
"resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz",
"integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/parse-json": {
"version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz",
- "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/prop-types": {
"version": "15.7.13",
@@ -3852,59 +3790,55 @@
},
"node_modules/@types/qs": {
"version": "6.9.11",
- "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.11.tgz",
- "integrity": "sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/range-parser": {
"version": "1.2.7",
- "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz",
- "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/react": {
- "version": "18.3.10",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.10.tgz",
- "integrity": "sha512-02sAAlBnP39JgXwkAq3PeU9DVaaGpZyF3MGcC0MKgQVkZor5IiiDAipVaxQHtDJAmO4GIy/rVBy/LzVj76Cyqg==",
+ "version": "18.3.11",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.11.tgz",
+ "integrity": "sha512-r6QZ069rFTjrEYgFdOck1gK7FLVsgJE7tTz0pQBczlBNUhBNk0MQH4UbnFSwjpQLMkLzgqvBBa+qGpLje16eTQ==",
"dependencies": {
"@types/prop-types": "*",
"csstype": "^3.0.2"
}
},
"node_modules/@types/react-dom": {
- "version": "18.3.0",
- "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz",
- "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==",
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.1.tgz",
+ "integrity": "sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==",
"dependencies": {
"@types/react": "*"
}
},
"node_modules/@types/responselike": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz",
- "integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/node": "*"
}
},
"node_modules/@types/retry": {
"version": "0.12.0",
- "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz",
- "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/semver": {
"version": "7.5.8",
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
"integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/send": {
"version": "0.17.4",
- "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz",
- "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/mime": "^1",
"@types/node": "*"
@@ -3912,18 +3846,16 @@
},
"node_modules/@types/serve-index": {
"version": "1.9.4",
- "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz",
- "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/express": "*"
}
},
"node_modules/@types/serve-static": {
"version": "1.15.5",
- "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz",
- "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/http-errors": "*",
"@types/mime": "*",
@@ -3932,72 +3864,62 @@
},
"node_modules/@types/sinonjs__fake-timers": {
"version": "8.1.1",
- "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz",
- "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/sizzle": {
"version": "2.3.8",
- "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.8.tgz",
- "integrity": "sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/sockjs": {
"version": "0.3.36",
- "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz",
- "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/node": "*"
}
},
"node_modules/@types/source-list-map": {
"version": "0.1.6",
- "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.6.tgz",
- "integrity": "sha512-5JcVt1u5HDmlXkwOD2nslZVllBBc7HDuOICfiZah2Z0is8M8g+ddAEawbmd3VjedfDHBzxCaXLs07QEmb7y54g==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/stack-utils": {
"version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz",
- "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/tapable": {
"version": "1.0.12",
- "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.12.tgz",
- "integrity": "sha512-bTHG8fcxEqv1M9+TD14P8ok8hjxoOCkfKc8XXLaaD05kI7ohpeI956jtDOD3XHKBQrlyPughUtzm1jtVhHpA5Q==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/tough-cookie": {
"version": "4.0.5",
- "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz",
- "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/uglify-js": {
"version": "3.17.4",
- "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.17.4.tgz",
- "integrity": "sha512-Hm/T0kV3ywpJyMGNbsItdivRhYNCQQf1IIsYsXnoVPES4t+FMLyDe0/K+Ea7ahWtMtSNb22ZdY7MIyoD9rqARg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"source-map": "^0.6.1"
}
},
"node_modules/@types/uglify-js/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==",
"dev": true,
+ "license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/@types/webpack": {
"version": "4.41.38",
- "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.38.tgz",
- "integrity": "sha512-oOW7E931XJU1mVfCnxCVgv8GLFL768pDO5u2Gzk82i8yTIgX6i7cntyZOkZYb/JtYM8252SN9bQp9tgkVDSsRw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/node": "*",
"@types/tapable": "^1",
@@ -4009,9 +3931,8 @@
},
"node_modules/@types/webpack-sources": {
"version": "3.2.3",
- "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.3.tgz",
- "integrity": "sha512-4nZOdMwSPHZ4pTEZzSp0AsTM4K7Qmu40UKW4tJDiOVs20UzYF9l+qUe4s0ftfN0pin06n+5cWWDJXH+sbhAiDw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/node": "*",
"@types/source-list-map": "*",
@@ -4020,42 +3941,37 @@
},
"node_modules/@types/webpack/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==",
"dev": true,
+ "license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/@types/ws": {
"version": "8.5.10",
- "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz",
- "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/node": "*"
}
},
"node_modules/@types/yargs": {
"version": "17.0.32",
- "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
- "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/yargs-parser": "*"
}
},
"node_modules/@types/yargs-parser": {
"version": "21.0.3",
- "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz",
- "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/yauzl": {
"version": "2.10.3",
- "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz",
- "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==",
"dev": true,
+ "license": "MIT",
"optional": true,
"dependencies": {
"@types/node": "*"
@@ -4066,6 +3982,7 @@
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz",
"integrity": "sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@eslint-community/regexpp": "^4.5.1",
"@typescript-eslint/scope-manager": "6.21.0",
@@ -4101,6 +4018,7 @@
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
"dev": true,
+ "license": "ISC",
"bin": {
"semver": "bin/semver.js"
},
@@ -4113,6 +4031,7 @@
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz",
"integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"@typescript-eslint/scope-manager": "6.21.0",
"@typescript-eslint/types": "6.21.0",
@@ -4141,6 +4060,7 @@
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz",
"integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@typescript-eslint/types": "6.21.0",
"@typescript-eslint/visitor-keys": "6.21.0"
@@ -4158,6 +4078,7 @@
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz",
"integrity": "sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@typescript-eslint/typescript-estree": "6.21.0",
"@typescript-eslint/utils": "6.21.0",
@@ -4185,6 +4106,7 @@
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz",
"integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^16.0.0 || >=18.0.0"
},
@@ -4198,6 +4120,7 @@
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz",
"integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"@typescript-eslint/types": "6.21.0",
"@typescript-eslint/visitor-keys": "6.21.0",
@@ -4226,6 +4149,7 @@
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
"dev": true,
+ "license": "ISC",
"bin": {
"semver": "bin/semver.js"
},
@@ -4238,6 +4162,7 @@
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz",
"integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.0",
"@types/json-schema": "^7.0.12",
@@ -4263,6 +4188,7 @@
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
"dev": true,
+ "license": "ISC",
"bin": {
"semver": "bin/semver.js"
},
@@ -4275,6 +4201,7 @@
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz",
"integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@typescript-eslint/types": "6.21.0",
"eslint-visitor-keys": "^3.4.1"
@@ -4292,6 +4219,7 @@
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
"integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
@@ -4303,13 +4231,13 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
"integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/@webassemblyjs/ast": {
"version": "1.12.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz",
- "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@webassemblyjs/helper-numbers": "1.11.6",
"@webassemblyjs/helper-wasm-bytecode": "1.11.6"
@@ -4317,27 +4245,23 @@
},
"node_modules/@webassemblyjs/floating-point-hex-parser": {
"version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz",
- "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@webassemblyjs/helper-api-error": {
"version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz",
- "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@webassemblyjs/helper-buffer": {
"version": "1.12.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz",
- "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@webassemblyjs/helper-numbers": {
"version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz",
- "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@webassemblyjs/floating-point-hex-parser": "1.11.6",
"@webassemblyjs/helper-api-error": "1.11.6",
@@ -4346,15 +4270,13 @@
},
"node_modules/@webassemblyjs/helper-wasm-bytecode": {
"version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz",
- "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@webassemblyjs/helper-wasm-section": {
"version": "1.12.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz",
- "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@webassemblyjs/ast": "1.12.1",
"@webassemblyjs/helper-buffer": "1.12.1",
@@ -4364,33 +4286,29 @@
},
"node_modules/@webassemblyjs/ieee754": {
"version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz",
- "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@xtuc/ieee754": "^1.2.0"
}
},
"node_modules/@webassemblyjs/leb128": {
"version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz",
- "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"@xtuc/long": "4.2.2"
}
},
"node_modules/@webassemblyjs/utf8": {
"version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz",
- "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@webassemblyjs/wasm-edit": {
"version": "1.12.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz",
- "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@webassemblyjs/ast": "1.12.1",
"@webassemblyjs/helper-buffer": "1.12.1",
@@ -4404,9 +4322,8 @@
},
"node_modules/@webassemblyjs/wasm-gen": {
"version": "1.12.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz",
- "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@webassemblyjs/ast": "1.12.1",
"@webassemblyjs/helper-wasm-bytecode": "1.11.6",
@@ -4417,9 +4334,8 @@
},
"node_modules/@webassemblyjs/wasm-opt": {
"version": "1.12.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz",
- "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@webassemblyjs/ast": "1.12.1",
"@webassemblyjs/helper-buffer": "1.12.1",
@@ -4429,9 +4345,8 @@
},
"node_modules/@webassemblyjs/wasm-parser": {
"version": "1.12.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz",
- "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@webassemblyjs/ast": "1.12.1",
"@webassemblyjs/helper-api-error": "1.11.6",
@@ -4443,9 +4358,8 @@
},
"node_modules/@webassemblyjs/wast-printer": {
"version": "1.12.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz",
- "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@webassemblyjs/ast": "1.12.1",
"@xtuc/long": "4.2.2"
@@ -4453,9 +4367,8 @@
},
"node_modules/@webpack-cli/configtest": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz",
- "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=14.15.0"
},
@@ -4466,9 +4379,8 @@
},
"node_modules/@webpack-cli/info": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz",
- "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=14.15.0"
},
@@ -4479,9 +4391,8 @@
},
"node_modules/@webpack-cli/serve": {
"version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz",
- "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=14.15.0"
},
@@ -4500,6 +4411,7 @@
"resolved": "https://registry.npmjs.org/@wordpress/api-fetch/-/api-fetch-6.55.0.tgz",
"integrity": "sha512-1HrCUsJdeRY5Y0IjplotINwqMRO81e7O7VhBScuKk7iOuDm/E1ioKv2uLGnPNWziYu+Zf025byxOqVzXDyM2gw==",
"dev": true,
+ "license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
"@wordpress/i18n": "^4.58.0",
@@ -4514,6 +4426,7 @@
"resolved": "https://registry.npmjs.org/@wordpress/babel-plugin-import-jsx-pragma/-/babel-plugin-import-jsx-pragma-4.41.0.tgz",
"integrity": "sha512-hYxj2Uobxk86ctlfaJou9v13XqXZ30yx4ZwRNu5cH5/LWXe2MIXBTPv7dUk6wqN/qFOjsFvP9jCB0NsW6MnkrA==",
"dev": true,
+ "license": "GPL-2.0-or-later",
"engines": {
"node": ">=14"
},
@@ -4526,6 +4439,7 @@
"resolved": "https://registry.npmjs.org/@wordpress/babel-preset-default/-/babel-preset-default-7.42.0.tgz",
"integrity": "sha512-AWSxWuEuzazt/nWomKiaVhYQeXuqxTniPCKhvks58wB3P4UXvSe3hRnO+nujz20IuxIk2xHT6x47HgpDZy30jw==",
"dev": true,
+ "license": "GPL-2.0-or-later",
"dependencies": {
"@babel/core": "^7.16.0",
"@babel/plugin-transform-react-jsx": "^7.16.0",
@@ -4548,13 +4462,15 @@
"version": "4.49.0",
"resolved": "https://registry.npmjs.org/@wordpress/base-styles/-/base-styles-4.49.0.tgz",
"integrity": "sha512-yFRYqNtd26ULZ0oAHhCu/IcaA0XHI3E7kRCKajZqUvyRQj7YprXnpD3o0/pnwvF6ZFTXzCX8pXHjUc2TIv97ig==",
- "dev": true
+ "dev": true,
+ "license": "GPL-2.0-or-later"
},
"node_modules/@wordpress/browserslist-config": {
"version": "5.41.0",
"resolved": "https://registry.npmjs.org/@wordpress/browserslist-config/-/browserslist-config-5.41.0.tgz",
"integrity": "sha512-J7ejzzDpPZddVIiq2YiK8J/pNTJDy3X1s+5ZtwkwklCxBMZJurxf9pEhtbaf7us0Q6c1j8Ubv7Fpx3lqk2ypxA==",
"dev": true,
+ "license": "GPL-2.0-or-later",
"engines": {
"node": ">=14"
}
@@ -4564,6 +4480,7 @@
"resolved": "https://registry.npmjs.org/@wordpress/dependency-extraction-webpack-plugin/-/dependency-extraction-webpack-plugin-5.9.0.tgz",
"integrity": "sha512-hXbCkbG1XES47t7hFSETRrLfaRSPyQPlCnhlCx7FfhYFD0wh1jVArApXX5dD+A6wTrayXX/a16MpfaNqE662XA==",
"dev": true,
+ "license": "GPL-2.0-or-later",
"dependencies": {
"json2php": "^0.0.7"
},
@@ -4579,6 +4496,7 @@
"resolved": "https://registry.npmjs.org/@wordpress/e2e-test-utils-playwright/-/e2e-test-utils-playwright-0.26.0.tgz",
"integrity": "sha512-4KFyQ3IsYIJaIvOQ1qhAHhRISs9abNToF/bktfMNxQiEJsmbNn7lq/IbaY+shqwdBWVg8TQtLcL4MpSl0ISaxQ==",
"dev": true,
+ "license": "GPL-2.0-or-later",
"dependencies": {
"@wordpress/api-fetch": "^6.55.0",
"@wordpress/keycodes": "^3.58.0",
@@ -4598,14 +4516,14 @@
}
},
"node_modules/@wordpress/element": {
- "version": "6.8.0",
- "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-6.8.0.tgz",
- "integrity": "sha512-RufMjsZl0vyYRWGbc/iDlUbu10qRcpOYLCBnayKcAeRh0ojQ/upMcObW+PPnpo/FOcbDRqj29FCvkZDqI/2cOg==",
+ "version": "6.9.0",
+ "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-6.9.0.tgz",
+ "integrity": "sha512-G5W29cxfAVc/JQBzkKoXh1t4T+G3HWa1kIgXCqIZksonlYHzCVON1Or+rD/YJZSxT6RDkBVDzdl9p0pGOrccTg==",
"dependencies": {
"@babel/runtime": "^7.16.0",
"@types/react": "^18.2.79",
"@types/react-dom": "^18.2.25",
- "@wordpress/escape-html": "^3.8.0",
+ "@wordpress/escape-html": "^3.9.0",
"change-case": "^4.1.2",
"is-plain-object": "^5.0.0",
"react": "^18.3.0",
@@ -4617,9 +4535,9 @@
}
},
"node_modules/@wordpress/env": {
- "version": "10.8.0",
- "resolved": "https://registry.npmjs.org/@wordpress/env/-/env-10.8.0.tgz",
- "integrity": "sha512-kU66r7y/3AnUd6D4XeWE7h6bVJmzteTKDMMWoIoJsSNI5YP/BmXRa+/dJ4bwk0KFKxfh3tcRBhearGeEa4TGBw==",
+ "version": "10.9.0",
+ "resolved": "https://registry.npmjs.org/@wordpress/env/-/env-10.9.0.tgz",
+ "integrity": "sha512-XS4dJY1jot25wNKnI8+wL1M4tHRIaiLW1ggwXQSyUUWinyG9kuyQA+jzIBnNGegy2pLgbSwTmovExHQNtfU2Hw==",
"dev": true,
"dependencies": {
"chalk": "^4.0.0",
@@ -4644,9 +4562,9 @@
}
},
"node_modules/@wordpress/escape-html": {
- "version": "3.8.0",
- "resolved": "https://registry.npmjs.org/@wordpress/escape-html/-/escape-html-3.8.0.tgz",
- "integrity": "sha512-PTooGfO0I6wQ4WT96iAjiljT7nU1Jvc45XC1jxahC0Tml9pGxGx7Rkxlldq2F41aBpg3ZgBZ+ceEb+DOOSy+kQ==",
+ "version": "3.9.0",
+ "resolved": "https://registry.npmjs.org/@wordpress/escape-html/-/escape-html-3.9.0.tgz",
+ "integrity": "sha512-+/SnVUXzzr+0pgfAqK3pocGveSDS3SHrgJ1BTgV7DA1l6y9mbjnqKgFQkNW/nzca92ZuYg2vjLcq1dqDGz4v1Q==",
"dependencies": {
"@babel/runtime": "^7.16.0"
},
@@ -4660,6 +4578,7 @@
"resolved": "https://registry.npmjs.org/@wordpress/eslint-plugin/-/eslint-plugin-18.1.0.tgz",
"integrity": "sha512-5eGpXEwaZsKbEh9040nVr4ggmrpPmltP+Ie4iGruWvCme6ZIFYw70CyWEV8S102IkqjH/BaH6d+CWg8tN7sc/g==",
"dev": true,
+ "license": "GPL-2.0-or-later",
"dependencies": {
"@babel/eslint-parser": "^7.16.0",
"@typescript-eslint/eslint-plugin": "^6.4.1",
@@ -4703,6 +4622,7 @@
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
"integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/parse-json": "^4.0.0",
"import-fresh": "^3.2.1",
@@ -4719,6 +4639,7 @@
"resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
"integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"type-fest": "^0.20.2"
},
@@ -4734,6 +4655,7 @@
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
"integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
"dev": true,
+ "license": "(MIT OR CC0-1.0)",
"engines": {
"node": ">=10"
},
@@ -4746,6 +4668,7 @@
"resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
"integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": ">= 6"
}
@@ -4755,6 +4678,7 @@
"resolved": "https://registry.npmjs.org/@wordpress/hooks/-/hooks-3.58.0.tgz",
"integrity": "sha512-9LB0ZHnZRQlORttux9t/xbAskF+dk2ujqzPGsVzc92mSKpQP3K2a5Wy74fUnInguB1vLUNHT6nrNdkVom5qX1Q==",
"dev": true,
+ "license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0"
},
@@ -4767,6 +4691,7 @@
"resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-4.58.0.tgz",
"integrity": "sha512-VfvS3BWv/RDjRKD6PscIcvYfWKnGJcI/DEqyDgUMhxCM6NRwoL478CsUKTiGJIymeyRodNRfprdcF086DpGKYw==",
"dev": true,
+ "license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
"@wordpress/hooks": "^3.58.0",
@@ -4783,13 +4708,13 @@
}
},
"node_modules/@wordpress/icons": {
- "version": "10.8.0",
- "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-10.8.0.tgz",
- "integrity": "sha512-JiBI44uNkJEHV3IU0rKLn0wO36crWY62NqiQ6Fi+nn8KG0J4e1/JrJoV5EiFkaLneWBAFPeUkLjIOYlNPcZnmA==",
+ "version": "10.9.0",
+ "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-10.9.0.tgz",
+ "integrity": "sha512-mAkqhlbbPiuR6yBOczunqyxQ2Pez1XB7gAZnnsP5DlTKsYnJQ12N0Ql4Oh8f1LI+UeF18VMtHes12sWK/1LQHQ==",
"dependencies": {
"@babel/runtime": "^7.16.0",
- "@wordpress/element": "^6.8.0",
- "@wordpress/primitives": "^4.8.0"
+ "@wordpress/element": "^6.9.0",
+ "@wordpress/primitives": "^4.9.0"
},
"engines": {
"node": ">=18.12.0",
@@ -4801,6 +4726,7 @@
"resolved": "https://registry.npmjs.org/@wordpress/jest-console/-/jest-console-7.29.0.tgz",
"integrity": "sha512-/9PZJhyszdRX4mka7t1WzoooM+Q/DwC4jkNVtJxqci5lbL3Lrhy1cCJGCgMr1n/9w+zs7eLmExFBvV4v44iyNw==",
"dev": true,
+ "license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
"jest-matcher-utils": "^29.6.2"
@@ -4817,6 +4743,7 @@
"resolved": "https://registry.npmjs.org/@wordpress/jest-preset-default/-/jest-preset-default-11.29.0.tgz",
"integrity": "sha512-7LA0ZS5t0Thn7xrdwPL3hLgjB9LKloneGhMwnnDUTgJP330lyfdDfJ+O6Lnz3iL+bg68mkA3AzrT9Fs9f3WKww==",
"dev": true,
+ "license": "GPL-2.0-or-later",
"dependencies": {
"@wordpress/jest-console": "^7.29.0",
"babel-jest": "^29.6.2"
@@ -4834,6 +4761,7 @@
"resolved": "https://registry.npmjs.org/@wordpress/keycodes/-/keycodes-3.58.0.tgz",
"integrity": "sha512-Q/LRKpx8ndzuHlkxSQ2BD+NTYYKQPIneNNMng8hTAfyU7RFwXpqj06HpeOFGh4XIdPKCs/8hmucoLJRmmLmZJA==",
"dev": true,
+ "license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
"@wordpress/i18n": "^4.58.0"
@@ -4847,6 +4775,7 @@
"resolved": "https://registry.npmjs.org/@wordpress/npm-package-json-lint-config/-/npm-package-json-lint-config-4.43.0.tgz",
"integrity": "sha512-XSb7AdDC7yGTBVYeRM4oqmOygEB+/+tk7lobLIGDmlZJs+M3F/NUvQq0Vcas1pojq2fyPYTUwOlu81ga33fNwQ==",
"dev": true,
+ "license": "GPL-2.0-or-later",
"engines": {
"node": ">=14"
},
@@ -4859,6 +4788,7 @@
"resolved": "https://registry.npmjs.org/@wordpress/postcss-plugins-preset/-/postcss-plugins-preset-4.42.0.tgz",
"integrity": "sha512-5xmKF7IUsqS5JcmJlHKHq7RaR6ZpaLj3n9c+X0X0/Oo7ZCIGp6WeDQngx13sH4NJoKXrZ9g4n1rbzhEKeo/Wtg==",
"dev": true,
+ "license": "GPL-2.0-or-later",
"dependencies": {
"@wordpress/base-styles": "^4.49.0",
"autoprefixer": "^10.2.5"
@@ -4875,6 +4805,7 @@
"resolved": "https://registry.npmjs.org/@wordpress/prettier-config/-/prettier-config-3.15.0.tgz",
"integrity": "sha512-exC2rkEioTt//AnzPRyaaFv8FNYIvamPDytNol5bKQ6Qh65QSdZZE9V+GtRCrIPL7/Bq6xba03XuRVxl9TjtJg==",
"dev": true,
+ "license": "GPL-2.0-or-later",
"engines": {
"node": ">=14"
},
@@ -4883,12 +4814,12 @@
}
},
"node_modules/@wordpress/primitives": {
- "version": "4.8.0",
- "resolved": "https://registry.npmjs.org/@wordpress/primitives/-/primitives-4.8.0.tgz",
- "integrity": "sha512-ZGY+vrc6+Rklsbc+cm506fHc8JGCSXKv041VHtxwxtc92zVdVjugx+4XWzEsiEe0/vV6aFqFdGibKwureMmQ5A==",
+ "version": "4.9.0",
+ "resolved": "https://registry.npmjs.org/@wordpress/primitives/-/primitives-4.9.0.tgz",
+ "integrity": "sha512-vroiqxd+MP/K1+KEJqMAR/B/++4oShY4CisvMOK3gn75DmUV2QB6iQmBSjHRALqw9rqeHf7S0jLHWiFrAR+Dkg==",
"dependencies": {
"@babel/runtime": "^7.16.0",
- "@wordpress/element": "^6.8.0",
+ "@wordpress/element": "^6.9.0",
"clsx": "^2.1.1"
},
"engines": {
@@ -4904,6 +4835,7 @@
"resolved": "https://registry.npmjs.org/@wordpress/scripts/-/scripts-27.9.0.tgz",
"integrity": "sha512-ohiDHMnfTTBTi7qS7AVJZUi1dxwg0k3Aav1a8CzUoOE8YoT8tvMQ3W89H9XgqMgMTWUCdgTUBYLTJTivfVVbXQ==",
"dev": true,
+ "license": "GPL-2.0-or-later",
"dependencies": {
"@babel/core": "^7.16.0",
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.11",
@@ -4982,6 +4914,7 @@
"resolved": "https://registry.npmjs.org/@wordpress/stylelint-config/-/stylelint-config-21.41.0.tgz",
"integrity": "sha512-2wxFu8ICeRGF3Lxz7H7o2SU1u6pTI4mjuog39DgtCNb+v+f6yhgREDuNQEeti3Svb0rjj63AJ7r2CqLZk+EQIQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"stylelint-config-recommended": "^6.0.0",
"stylelint-config-recommended-scss": "^5.0.2"
@@ -4998,6 +4931,7 @@
"resolved": "https://registry.npmjs.org/@wordpress/url/-/url-3.59.0.tgz",
"integrity": "sha512-GxvoMjYCav0w4CiX0i0h3qflrE/9rhLIZg5aPCQjbrBdwTxYR3Exfw0IJYcmVaTKXQOUU8fOxlDxULsbLmKe9w==",
"dev": true,
+ "license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
"remove-accents": "^0.5.0"
@@ -5011,34 +4945,30 @@
"resolved": "https://registry.npmjs.org/@wordpress/warning/-/warning-2.58.0.tgz",
"integrity": "sha512-9bZlORhyMY2nbWozeyC5kqJsFzEPP4DCLhGmjtbv+YWGHttUrxUZEfrKdqO+rUODA8rP5zeIly1nCQOUnkw4Lg==",
"dev": true,
+ "license": "GPL-2.0-or-later",
"engines": {
"node": ">=12"
}
},
"node_modules/@xtuc/ieee754": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
- "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
- "dev": true
+ "dev": true,
+ "license": "BSD-3-Clause"
},
"node_modules/@xtuc/long": {
"version": "4.2.2",
- "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
- "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
- "dev": true
+ "dev": true,
+ "license": "Apache-2.0"
},
"node_modules/abab": {
"version": "2.0.6",
- "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz",
- "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==",
- "deprecated": "Use your platform's native atob() and btoa() methods instead",
- "dev": true
+ "dev": true,
+ "license": "BSD-3-Clause"
},
"node_modules/accepts": {
"version": "1.3.8",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
- "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"mime-types": "~2.1.34",
"negotiator": "0.6.3"
@@ -5049,9 +4979,8 @@
},
"node_modules/acorn": {
"version": "8.11.3",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
- "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
"dev": true,
+ "license": "MIT",
"bin": {
"acorn": "bin/acorn"
},
@@ -5061,9 +4990,8 @@
},
"node_modules/acorn-globals": {
"version": "7.0.1",
- "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz",
- "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"acorn": "^8.1.0",
"acorn-walk": "^8.0.2"
@@ -5071,9 +4999,8 @@
},
"node_modules/acorn-import-attributes": {
"version": "1.9.5",
- "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz",
- "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==",
"dev": true,
+ "license": "MIT",
"peerDependencies": {
"acorn": "^8"
}
@@ -5083,33 +5010,31 @@
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
"dev": true,
+ "license": "MIT",
"peerDependencies": {
"acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
}
},
"node_modules/acorn-walk": {
"version": "8.3.2",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz",
- "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.4.0"
}
},
"node_modules/adm-zip": {
"version": "0.5.10",
- "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz",
- "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.0"
}
},
"node_modules/agent-base": {
"version": "6.0.2",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
- "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"debug": "4"
},
@@ -5119,9 +5044,8 @@
},
"node_modules/aggregate-error": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
- "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"clean-stack": "^2.0.0",
"indent-string": "^4.0.0"
@@ -5132,9 +5056,8 @@
},
"node_modules/ajv": {
"version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
@@ -5151,15 +5074,15 @@
"resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
"integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
"dev": true,
+ "license": "MIT",
"peerDependencies": {
"ajv": ">=5.0.0"
}
},
"node_modules/ajv-formats": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
- "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ajv": "^8.0.0"
},
@@ -5174,9 +5097,8 @@
},
"node_modules/ajv-formats/node_modules/ajv": {
"version": "8.12.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
- "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.1",
"json-schema-traverse": "^1.0.0",
@@ -5190,24 +5112,21 @@
},
"node_modules/ajv-formats/node_modules/json-schema-traverse": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/ajv-keywords": {
"version": "3.5.2",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
- "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
"dev": true,
+ "license": "MIT",
"peerDependencies": {
"ajv": "^6.9.1"
}
},
"node_modules/ally.js": {
"version": "1.4.1",
- "resolved": "https://registry.npmjs.org/ally.js/-/ally.js-1.4.1.tgz",
- "integrity": "sha512-ZewdfuwP6VewtMN36QY0gmiyvBfMnmEaNwbVu2nTS6zRt069viTgkYgaDiqu6vRJ1VJCriNqV0jGMu44R8zNbA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"css.escape": "^1.5.0",
"platform": "1.3.3"
@@ -5215,18 +5134,16 @@
},
"node_modules/ansi-colors": {
"version": "4.1.3",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
- "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/ansi-escapes": {
"version": "4.3.2",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
- "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"type-fest": "^0.21.3"
},
@@ -5239,30 +5156,27 @@
},
"node_modules/ansi-html-community": {
"version": "0.0.8",
- "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz",
- "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==",
"dev": true,
"engines": [
"node >= 0.8.0"
],
+ "license": "Apache-2.0",
"bin": {
"ansi-html": "bin/ansi-html"
}
},
"node_modules/ansi-regex": {
"version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"color-convert": "^2.0.1"
},
@@ -5275,9 +5189,8 @@
},
"node_modules/anymatch": {
"version": "3.1.3",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
- "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"normalize-path": "^3.0.0",
"picomatch": "^2.0.4"
@@ -5288,8 +5201,6 @@
},
"node_modules/arch": {
"version": "2.2.0",
- "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz",
- "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==",
"dev": true,
"funding": [
{
@@ -5304,46 +5215,46 @@
"type": "consulting",
"url": "https://feross.org/support"
}
- ]
+ ],
+ "license": "MIT"
},
"node_modules/are-docs-informative": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz",
"integrity": "sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=14"
}
},
"node_modules/argparse": {
"version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"sprintf-js": "~1.0.2"
}
},
"node_modules/argparse/node_modules/sprintf-js": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
- "dev": true
+ "dev": true,
+ "license": "BSD-3-Clause"
},
"node_modules/aria-query": {
"version": "5.1.3",
"resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz",
"integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"deep-equal": "^2.0.5"
}
},
"node_modules/arr-union": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
- "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -5353,6 +5264,7 @@
"resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz",
"integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.5",
"is-array-buffer": "^3.0.4"
@@ -5366,15 +5278,15 @@
},
"node_modules/array-flatten": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
- "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/array-includes": {
"version": "3.1.8",
"resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz",
"integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1",
@@ -5395,15 +5307,15 @@
"resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
"integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"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==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -5413,6 +5325,7 @@
"resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz",
"integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1",
@@ -5433,6 +5346,7 @@
"resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz",
"integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1",
@@ -5453,6 +5367,7 @@
"resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz",
"integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.2.0",
@@ -5471,6 +5386,7 @@
"resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz",
"integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.2.0",
@@ -5489,6 +5405,7 @@
"resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz",
"integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1",
@@ -5505,6 +5422,7 @@
"resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz",
"integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"array-buffer-byte-length": "^1.0.1",
"call-bind": "^1.0.5",
@@ -5527,6 +5445,7 @@
"resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
"integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -5536,6 +5455,7 @@
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
"integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"safer-buffer": "~2.1.0"
}
@@ -5545,6 +5465,7 @@
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.8"
}
@@ -5554,6 +5475,7 @@
"resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz",
"integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"tslib": "^2.0.1"
},
@@ -5565,43 +5487,39 @@
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz",
"integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/astral-regex": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
- "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/async": {
"version": "3.2.5",
- "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz",
- "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/asynckit": {
"version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/at-least-node": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
- "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": ">= 4.0.0"
}
},
"node_modules/atob": {
"version": "2.1.2",
- "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
- "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
"dev": true,
+ "license": "(MIT OR Apache-2.0)",
"bin": {
"atob": "bin/atob.js"
},
@@ -5628,6 +5546,7 @@
"url": "https://github.com/sponsors/ai"
}
],
+ "license": "MIT",
"dependencies": {
"browserslist": "^4.23.3",
"caniuse-lite": "^1.0.30001646",
@@ -5651,6 +5570,7 @@
"resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
"integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"possible-typed-array-names": "^1.0.0"
},
@@ -5666,6 +5586,7 @@
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
"integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": "*"
}
@@ -5674,22 +5595,23 @@
"version": "1.13.2",
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.2.tgz",
"integrity": "sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/axe-core": {
"version": "4.10.0",
"resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.0.tgz",
"integrity": "sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==",
"dev": true,
+ "license": "MPL-2.0",
"engines": {
"node": ">=4"
}
},
"node_modules/axios": {
"version": "1.7.4",
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.4.tgz",
- "integrity": "sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"follow-redirects": "^1.15.6",
"form-data": "^4.0.0",
@@ -5698,15 +5620,15 @@
},
"node_modules/axios/node_modules/proxy-from-env": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
- "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/axobject-query": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz",
"integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": ">= 0.4"
}
@@ -5715,13 +5637,15 @@
"version": "1.6.7",
"resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.7.tgz",
"integrity": "sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==",
- "dev": true
+ "dev": true,
+ "license": "Apache-2.0"
},
"node_modules/babel-jest": {
"version": "29.7.0",
"resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz",
"integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/transform": "^29.7.0",
"@types/babel__core": "^7.1.14",
@@ -5740,9 +5664,8 @@
},
"node_modules/babel-loader": {
"version": "8.3.0",
- "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz",
- "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"find-cache-dir": "^3.3.1",
"loader-utils": "^2.0.0",
@@ -5759,9 +5682,8 @@
},
"node_modules/babel-loader/node_modules/schema-utils": {
"version": "2.7.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz",
- "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/json-schema": "^7.0.5",
"ajv": "^6.12.4",
@@ -5780,6 +5702,7 @@
"resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz",
"integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"@babel/helper-plugin-utils": "^7.0.0",
"@istanbuljs/load-nyc-config": "^1.0.0",
@@ -5796,6 +5719,7 @@
"resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz",
"integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/template": "^7.3.3",
"@babel/types": "^7.3.3",
@@ -5811,6 +5735,7 @@
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz",
"integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/compat-data": "^7.22.6",
"@babel/helper-define-polyfill-provider": "^0.6.2",
@@ -5825,6 +5750,7 @@
"resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz",
"integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-compilation-targets": "^7.22.6",
"@babel/helper-plugin-utils": "^7.22.5",
@@ -5838,9 +5764,8 @@
},
"node_modules/babel-plugin-polyfill-corejs3": {
"version": "0.9.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz",
- "integrity": "sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-define-polyfill-provider": "^0.5.0",
"core-js-compat": "^3.34.0"
@@ -5851,9 +5776,8 @@
},
"node_modules/babel-plugin-polyfill-regenerator": {
"version": "0.5.5",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz",
- "integrity": "sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-define-polyfill-provider": "^0.5.0"
},
@@ -5866,6 +5790,7 @@
"resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz",
"integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/plugin-syntax-async-generators": "^7.8.4",
"@babel/plugin-syntax-bigint": "^7.8.3",
@@ -5892,6 +5817,7 @@
"resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz",
"integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"babel-plugin-jest-hoist": "^29.6.3",
"babel-preset-current-node-syntax": "^1.0.0"
@@ -5908,6 +5834,7 @@
"resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.25.0.tgz",
"integrity": "sha512-zeCYxDePWYAT/DfmQWIHsMSFW2vv45UIwIAMjGvQVsTd47RwsiRH0uK1yzyWZ7LDBKdhnGDPM6NYEO5CZyhPrg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"core-js": "^2.4.0",
"regenerator-runtime": "^0.10.0"
@@ -5919,31 +5846,31 @@
"integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==",
"deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.",
"dev": true,
- "hasInstallScript": true
+ "hasInstallScript": true,
+ "license": "MIT"
},
"node_modules/babel-runtime/node_modules/regenerator-runtime": {
"version": "0.10.5",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz",
"integrity": "sha512-02YopEIhAgiBHWeoTiA8aitHDt8z6w+rQqNuIftlM+ZtvSl/brTouaU7DW6GO/cHtvxJvS4Hwv2ibKdxIRi24w==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"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==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/bare-events": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.5.0.tgz",
"integrity": "sha512-/E8dDe9dsbLyh2qrZ64PEPadOQ0F4gbl1sUJOrmph7xOiIxfY8vwab/4bFLh4Y88/Hk/ujKcrQKc+ps0mv873A==",
"dev": true,
+ "license": "Apache-2.0",
"optional": true
},
"node_modules/base64-js": {
"version": "1.5.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
"dev": true,
"funding": [
{
@@ -5958,55 +5885,54 @@
"type": "consulting",
"url": "https://feross.org/support"
}
- ]
+ ],
+ "license": "MIT"
},
"node_modules/basic-ftp": {
"version": "5.0.5",
"resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz",
"integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10.0.0"
}
},
"node_modules/batch": {
"version": "0.6.1",
- "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
- "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/bcrypt-pbkdf": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
"integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"tweetnacl": "^0.14.3"
}
},
"node_modules/big.js": {
"version": "5.2.2",
- "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
- "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "*"
}
},
"node_modules/binary-extensions": {
"version": "2.2.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
- "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/bl": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
- "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"buffer": "^5.5.0",
"inherits": "^2.0.4",
@@ -6015,9 +5941,8 @@
},
"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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
@@ -6029,21 +5954,18 @@
},
"node_modules/blob-util": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz",
- "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==",
- "dev": true
+ "dev": true,
+ "license": "Apache-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==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/body-parser": {
- "version": "1.20.3",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz",
- "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==",
+ "version": "1.20.2",
"dev": true,
+ "license": "MIT",
"dependencies": {
"bytes": "3.1.2",
"content-type": "~1.0.5",
@@ -6053,7 +5975,7 @@
"http-errors": "2.0.0",
"iconv-lite": "0.4.24",
"on-finished": "2.4.1",
- "qs": "6.13.0",
+ "qs": "6.11.0",
"raw-body": "2.5.2",
"type-is": "~1.6.18",
"unpipe": "1.0.0"
@@ -6065,27 +5987,24 @@
},
"node_modules/body-parser/node_modules/bytes": {
"version": "3.1.2",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
- "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/body-parser/node_modules/debug": {
"version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ms": "2.0.0"
}
},
"node_modules/body-parser/node_modules/iconv-lite": {
"version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"safer-buffer": ">= 2.1.2 < 3"
},
@@ -6095,15 +6014,27 @@
},
"node_modules/body-parser/node_modules/ms": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/body-parser/node_modules/qs": {
+ "version": "6.11.0",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "side-channel": "^1.0.4"
+ },
+ "engines": {
+ "node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
},
"node_modules/bonjour-service": {
"version": "1.2.1",
- "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz",
- "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.3",
"multicast-dns": "^7.2.5"
@@ -6111,24 +6042,21 @@
},
"node_modules/boolbase": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
- "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0"
}
},
"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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"fill-range": "^7.1.1"
},
@@ -6138,9 +6066,8 @@
},
"node_modules/browser-stdout": {
"version": "1.3.1",
- "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
- "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
"dev": true,
+ "license": "ISC",
"peer": true
},
"node_modules/browserslist": {
@@ -6162,6 +6089,7 @@
"url": "https://github.com/sponsors/ai"
}
],
+ "license": "MIT",
"dependencies": {
"caniuse-lite": "^1.0.30001663",
"electron-to-chromium": "^1.5.28",
@@ -6180,14 +6108,13 @@
"resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz",
"integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"node-int64": "^0.4.0"
}
},
"node_modules/buffer": {
"version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
"dev": true,
"funding": [
{
@@ -6203,6 +6130,7 @@
"url": "https://feross.org/support"
}
],
+ "license": "MIT",
"dependencies": {
"base64-js": "^1.3.1",
"ieee754": "^1.1.13"
@@ -6210,24 +6138,23 @@
},
"node_modules/buffer-crc32": {
"version": "0.2.13",
- "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
- "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "*"
}
},
"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==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/builtin-modules": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz",
"integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
},
@@ -6237,27 +6164,24 @@
},
"node_modules/bytes": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
- "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/cacheable-lookup": {
"version": "5.0.4",
- "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz",
- "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10.6.0"
}
},
"node_modules/cacheable-request": {
"version": "7.0.4",
- "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz",
- "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"clone-response": "^1.0.2",
"get-stream": "^5.1.0",
@@ -6273,18 +6197,16 @@
},
"node_modules/cachedir": {
"version": "2.4.0",
- "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.4.0.tgz",
- "integrity": "sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/call-bind": {
"version": "1.0.7",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
- "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"es-define-property": "^1.0.0",
"es-errors": "^1.3.0",
@@ -6301,9 +6223,8 @@
},
"node_modules/callsites": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
@@ -6312,6 +6233,7 @@
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz",
"integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==",
+ "license": "MIT",
"dependencies": {
"pascal-case": "^3.1.2",
"tslib": "^2.0.3"
@@ -6319,9 +6241,8 @@
},
"node_modules/camelcase": {
"version": "6.3.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
- "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -6334,6 +6255,7 @@
"resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz",
"integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"camelcase": "^5.3.1",
"map-obj": "^4.0.0",
@@ -6351,6 +6273,7 @@
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
"integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
@@ -6360,15 +6283,15 @@
"resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz",
"integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/caniuse-api": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz",
- "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"browserslist": "^4.0.0",
"caniuse-lite": "^1.0.0",
@@ -6394,12 +6317,14 @@
"type": "github",
"url": "https://github.com/sponsors/ai"
}
- ]
+ ],
+ "license": "CC-BY-4.0"
},
"node_modules/capital-case": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/capital-case/-/capital-case-1.0.4.tgz",
"integrity": "sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==",
+ "license": "MIT",
"dependencies": {
"no-case": "^3.0.4",
"tslib": "^2.0.3",
@@ -6410,13 +6335,13 @@
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
"integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==",
- "dev": true
+ "dev": true,
+ "license": "Apache-2.0"
},
"node_modules/catharsis": {
"version": "0.9.0",
- "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz",
- "integrity": "sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"lodash": "^4.17.15"
},
@@ -6426,9 +6351,8 @@
},
"node_modules/chalk": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -6444,6 +6368,7 @@
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/change-case/-/change-case-4.1.2.tgz",
"integrity": "sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==",
+ "license": "MIT",
"dependencies": {
"camel-case": "^4.1.2",
"capital-case": "^1.0.4",
@@ -6464,30 +6389,28 @@
"resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz",
"integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
}
},
"node_modules/chardet": {
"version": "0.7.0",
- "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
- "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/check-more-types": {
"version": "2.24.0",
- "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz",
- "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.8.0"
}
},
"node_modules/check-node-version": {
"version": "4.2.1",
- "resolved": "https://registry.npmjs.org/check-node-version/-/check-node-version-4.2.1.tgz",
- "integrity": "sha512-YYmFYHV/X7kSJhuN/QYHUu998n/TRuDe8UenM3+m5NrkiH670lb9ILqHIvBencvJc4SDh+XcbXMR4b+TtubJiw==",
"dev": true,
+ "license": "Unlicense",
"dependencies": {
"chalk": "^3.0.0",
"map-values": "^1.0.1",
@@ -6505,9 +6428,8 @@
},
"node_modules/check-node-version/node_modules/chalk": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -6517,19 +6439,15 @@
}
},
"node_modules/choices.js": {
- "version": "10.2.0",
- "resolved": "https://registry.npmjs.org/choices.js/-/choices.js-10.2.0.tgz",
- "integrity": "sha512-8PKy6wq7BMjNwDTZwr3+Zry6G2+opJaAJDDA/j3yxvqSCnvkKe7ZIFfIyOhoc7htIWFhsfzF9tJpGUATcpUtPg==",
+ "version": "11.0.2",
+ "resolved": "https://registry.npmjs.org/choices.js/-/choices.js-11.0.2.tgz",
+ "integrity": "sha512-jGmvoZBQwfxGL7qOeadg/iprsK/XQwXvLnN0ZZwQIDtxtPjP5z7vgZCwr/zdrGAVAnC4+uomPD4+Pl/N/6XSqA==",
"dependencies": {
- "deepmerge": "^4.2.2",
- "fuse.js": "^6.6.2",
- "redux": "^4.2.0"
+ "fuse.js": "^7.0.0"
}
},
"node_modules/chokidar": {
"version": "3.5.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
- "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
"dev": true,
"funding": [
{
@@ -6537,6 +6455,7 @@
"url": "https://paulmillr.com/funding/"
}
],
+ "license": "MIT",
"dependencies": {
"anymatch": "~3.1.2",
"braces": "~3.0.2",
@@ -6555,9 +6474,8 @@
},
"node_modules/chokidar/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==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"is-glob": "^4.0.1"
},
@@ -6567,15 +6485,15 @@
},
"node_modules/chownr": {
"version": "1.1.4",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
- "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/chrome-launcher": {
"version": "0.15.2",
"resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.15.2.tgz",
"integrity": "sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"@types/node": "*",
"escape-string-regexp": "^4.0.0",
@@ -6591,17 +6509,14 @@
},
"node_modules/chrome-trace-event": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
- "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.0"
}
},
"node_modules/ci-info": {
"version": "3.9.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
- "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
"dev": true,
"funding": [
{
@@ -6609,6 +6524,7 @@
"url": "https://github.com/sponsors/sibiraj-s"
}
],
+ "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -6617,22 +6533,25 @@
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz",
"integrity": "sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/classnames": {
+ "version": "2.5.1",
+ "license": "MIT"
},
"node_modules/clean-stack": {
"version": "2.2.0",
- "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
- "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/clean-webpack-plugin": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-3.0.0.tgz",
- "integrity": "sha512-MciirUH5r+cYLGCOL5JX/ZLzOZbVr1ot3Fw+KcvbhUb6PM+yycqd9ZhIlcigQ5gl+XhppNmw3bEFuaaMNyLj3A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/webpack": "^4.4.31",
"del": "^4.1.1"
@@ -6646,9 +6565,8 @@
},
"node_modules/cli-cursor": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
- "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"restore-cursor": "^3.1.0"
},
@@ -6658,9 +6576,8 @@
},
"node_modules/cli-spinners": {
"version": "2.9.2",
- "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz",
- "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
},
@@ -6670,9 +6587,8 @@
},
"node_modules/cli-table3": {
"version": "0.6.3",
- "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz",
- "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"string-width": "^4.2.0"
},
@@ -6685,9 +6601,8 @@
},
"node_modules/cli-truncate": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz",
- "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"slice-ansi": "^3.0.0",
"string-width": "^4.2.0"
@@ -6701,18 +6616,16 @@
},
"node_modules/cli-width": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz",
- "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": ">= 10"
}
},
"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==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"string-width": "^4.2.0",
"strip-ansi": "^6.0.1",
@@ -6724,18 +6637,16 @@
},
"node_modules/clone": {
"version": "1.0.4",
- "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
- "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.8"
}
},
"node_modules/clone-deep": {
"version": "0.2.4",
- "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.2.4.tgz",
- "integrity": "sha512-we+NuQo2DHhSl+DP6jlUiAhyAjBQrYnpOk15rN6c6JSPScjiCLh8IbSU+VTcph6YS3o7mASE8a0+gbZ7ChLpgg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"for-own": "^0.1.3",
"is-plain-object": "^2.0.1",
@@ -6749,9 +6660,8 @@
},
"node_modules/clone-deep/node_modules/is-plain-object": {
"version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"isobject": "^3.0.1"
},
@@ -6761,9 +6671,8 @@
},
"node_modules/clone-response": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz",
- "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"mimic-response": "^1.0.0"
},
@@ -6784,6 +6693,7 @@
"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
"integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"iojs": ">= 1.0.0",
"node": ">= 0.12.0"
@@ -6793,13 +6703,13 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz",
"integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"color-name": "~1.1.4"
},
@@ -6809,27 +6719,23 @@
},
"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==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/colord": {
"version": "2.9.3",
- "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz",
- "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/colorette": {
"version": "2.0.20",
- "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
- "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/combined-stream": {
"version": "1.0.8",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
- "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"delayed-stream": "~1.0.0"
},
@@ -6839,9 +6745,8 @@
},
"node_modules/commander": {
"version": "6.2.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz",
- "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 6"
}
@@ -6851,36 +6756,33 @@
"resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.1.tgz",
"integrity": "sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 12.0.0"
}
},
"node_modules/common-path-prefix": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz",
- "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/common-tags": {
"version": "1.8.2",
- "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz",
- "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4.0.0"
}
},
"node_modules/commondir": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
- "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/compressible": {
"version": "2.0.18",
- "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
- "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"mime-db": ">= 1.43.0 < 2"
},
@@ -6890,9 +6792,8 @@
},
"node_modules/compression": {
"version": "1.7.4",
- "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz",
- "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"accepts": "~1.3.5",
"bytes": "3.0.0",
@@ -6908,39 +6809,34 @@
},
"node_modules/compression/node_modules/debug": {
"version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ms": "2.0.0"
}
},
"node_modules/compression/node_modules/ms": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/compression/node_modules/safe-buffer": {
"version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/concat-map": {
"version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/concat-stream": {
"version": "1.6.2",
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
- "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
"dev": true,
"engines": [
"node >= 0.8"
],
+ "license": "MIT",
"dependencies": {
"buffer-from": "^1.0.0",
"inherits": "^2.0.3",
@@ -6953,6 +6849,7 @@
"resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz",
"integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"dot-prop": "^5.2.0",
"graceful-fs": "^4.1.2",
@@ -6970,6 +6867,7 @@
"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
"integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"imurmurhash": "^0.1.4",
"is-typedarray": "^1.0.0",
@@ -6979,9 +6877,8 @@
},
"node_modules/connect-history-api-fallback": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz",
- "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.8"
}
@@ -6990,6 +6887,7 @@
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/constant-case/-/constant-case-3.0.4.tgz",
"integrity": "sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==",
+ "license": "MIT",
"dependencies": {
"no-case": "^3.0.4",
"tslib": "^2.0.3",
@@ -6998,9 +6896,8 @@
},
"node_modules/content-disposition": {
"version": "0.5.4",
- "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
- "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"safe-buffer": "5.2.1"
},
@@ -7010,45 +6907,41 @@
},
"node_modules/content-type": {
"version": "1.0.5",
- "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
- "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/convert-source-map": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
- "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/cookie": {
"version": "0.4.2",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
"integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/cookie-signature": {
"version": "1.0.6",
- "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
- "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/copy-dir": {
"version": "1.3.0",
- "resolved": "https://registry.npmjs.org/copy-dir/-/copy-dir-1.3.0.tgz",
- "integrity": "sha512-Q4+qBFnN4bwGwvtXXzbp4P/4iNk0MaiGAzvQ8OiMtlLjkIKjmNN689uVzShSM0908q7GoFHXIPx4zi75ocoaHw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/copy-webpack-plugin": {
"version": "10.2.4",
- "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.4.tgz",
- "integrity": "sha512-xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"fast-glob": "^3.2.7",
"glob-parent": "^6.0.1",
@@ -7070,9 +6963,8 @@
},
"node_modules/copy-webpack-plugin/node_modules/ajv": {
"version": "8.12.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
- "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.1",
"json-schema-traverse": "^1.0.0",
@@ -7086,9 +6978,8 @@
},
"node_modules/copy-webpack-plugin/node_modules/ajv-keywords": {
"version": "5.1.0",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
- "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.3"
},
@@ -7098,9 +6989,8 @@
},
"node_modules/copy-webpack-plugin/node_modules/array-union": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz",
- "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -7110,9 +7000,8 @@
},
"node_modules/copy-webpack-plugin/node_modules/globby": {
"version": "12.2.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz",
- "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"array-union": "^3.0.1",
"dir-glob": "^3.0.1",
@@ -7130,15 +7019,13 @@
},
"node_modules/copy-webpack-plugin/node_modules/json-schema-traverse": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/copy-webpack-plugin/node_modules/schema-utils": {
"version": "4.2.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz",
- "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/json-schema": "^7.0.9",
"ajv": "^8.9.0",
@@ -7155,9 +7042,8 @@
},
"node_modules/copy-webpack-plugin/node_modules/slash": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
- "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -7171,6 +7057,7 @@
"integrity": "sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==",
"dev": true,
"hasInstallScript": true,
+ "license": "MIT",
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/core-js"
@@ -7181,6 +7068,7 @@
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz",
"integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"browserslist": "^4.23.3"
},
@@ -7191,10 +7079,9 @@
},
"node_modules/core-js-pure": {
"version": "3.36.0",
- "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.36.0.tgz",
- "integrity": "sha512-cN28qmhRNgbMZZMc/RFu5w8pK9VJzpb2rJVR/lHuZJKwmXnoWOpXmMkxqBB514igkp1Hu8WGROsiOAzUcKdHOQ==",
"dev": true,
"hasInstallScript": true,
+ "license": "MIT",
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/core-js"
@@ -7202,15 +7089,13 @@
},
"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==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/cosmiconfig": {
"version": "8.3.6",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz",
- "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"import-fresh": "^3.3.0",
"js-yaml": "^4.1.0",
@@ -7234,15 +7119,13 @@
},
"node_modules/cosmiconfig/node_modules/argparse": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true
+ "dev": true,
+ "license": "Python-2.0"
},
"node_modules/cosmiconfig/node_modules/js-yaml": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"argparse": "^2.0.1"
},
@@ -7255,6 +7138,7 @@
"resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz",
"integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/types": "^29.6.3",
"chalk": "^4.0.0",
@@ -7273,18 +7157,16 @@
},
"node_modules/cross-fetch": {
"version": "3.1.5",
- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz",
- "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"node-fetch": "2.6.7"
}
},
"node_modules/cross-spawn": {
"version": "5.1.0",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
- "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"lru-cache": "^4.0.1",
"shebang-command": "^1.2.0",
@@ -7293,9 +7175,8 @@
},
"node_modules/cross-spawn/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==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"pseudomap": "^1.0.2",
"yallist": "^2.1.2"
@@ -7303,15 +7184,15 @@
},
"node_modules/cross-spawn/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==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/crypto-random-string": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
"integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -7320,13 +7201,13 @@
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/csp_evaluator/-/csp_evaluator-1.1.1.tgz",
"integrity": "sha512-N3ASg0C4kNPUaNxt1XAvzHIVuzdtr8KLgfk1O8WDyimp1GisPAHESupArO2ieHk9QWbrJ/WkQODyh21Ps/xhxw==",
- "dev": true
+ "dev": true,
+ "license": "Apache-2.0"
},
"node_modules/css": {
"version": "2.2.4",
- "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz",
- "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"inherits": "^2.0.3",
"source-map": "^0.6.1",
@@ -7336,9 +7217,8 @@
},
"node_modules/css-declaration-sorter": {
"version": "7.1.1",
- "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.1.1.tgz",
- "integrity": "sha512-dZ3bVTEEc1vxr3Bek9vGwfB5Z6ESPULhcRvO472mfjVnj8jRcTnKO8/JTczlvxM10Myb+wBM++1MtdO76eWcaQ==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": "^14 || ^16 || >=18"
},
@@ -7351,15 +7231,15 @@
"resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.2.tgz",
"integrity": "sha512-c+N0v6wbKVxTu5gOBBFkr9BEdBWaqqjQeiJ8QvSRIJOf+UxlJh930m8e6/WNeODIK0mYLFkoONrnj16i2EcvfQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12 || >=16"
}
},
"node_modules/css-loader": {
"version": "6.10.0",
- "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.10.0.tgz",
- "integrity": "sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"icss-utils": "^5.1.0",
"postcss": "^8.4.33",
@@ -7392,9 +7272,8 @@
},
"node_modules/css-loader/node_modules/lru-cache": {
"version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"yallist": "^4.0.0"
},
@@ -7404,9 +7283,8 @@
},
"node_modules/css-loader/node_modules/semver": {
"version": "7.6.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
- "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"lru-cache": "^6.0.0"
},
@@ -7419,15 +7297,13 @@
},
"node_modules/css-loader/node_modules/yallist": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/css-select": {
"version": "5.1.0",
- "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz",
- "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"boolbase": "^1.0.0",
"css-what": "^6.1.0",
@@ -7441,9 +7317,8 @@
},
"node_modules/css-tree": {
"version": "2.3.1",
- "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz",
- "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"mdn-data": "2.0.30",
"source-map-js": "^1.0.1"
@@ -7454,9 +7329,8 @@
},
"node_modules/css-what": {
"version": "6.1.0",
- "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
- "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==",
"dev": true,
+ "license": "BSD-2-Clause",
"engines": {
"node": ">= 6"
},
@@ -7466,24 +7340,21 @@
},
"node_modules/css.escape": {
"version": "1.5.1",
- "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz",
- "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/css/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==",
"dev": true,
+ "license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/cssesc": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
- "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
"dev": true,
+ "license": "MIT",
"bin": {
"cssesc": "bin/cssesc"
},
@@ -7493,9 +7364,8 @@
},
"node_modules/cssnano": {
"version": "6.0.3",
- "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.0.3.tgz",
- "integrity": "sha512-MRq4CIj8pnyZpcI2qs6wswoYoDD1t0aL28n+41c1Ukcpm56m1h6mCexIHBGjfZfnTqtGSSCP4/fB1ovxgjBOiw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"cssnano-preset-default": "^6.0.3",
"lilconfig": "^3.0.0"
@@ -7513,9 +7383,8 @@
},
"node_modules/cssnano-preset-default": {
"version": "6.0.3",
- "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.0.3.tgz",
- "integrity": "sha512-4y3H370aZCkT9Ev8P4SO4bZbt+AExeKhh8wTbms/X7OLDo5E7AYUUy6YPxa/uF5Grf+AJwNcCnxKhZynJ6luBA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"css-declaration-sorter": "^7.1.1",
"cssnano-utils": "^4.0.1",
@@ -7556,9 +7425,8 @@
},
"node_modules/cssnano-utils": {
"version": "4.0.1",
- "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.1.tgz",
- "integrity": "sha512-6qQuYDqsGoiXssZ3zct6dcMxiqfT6epy7x4R0TQJadd4LWO3sPR6JH6ZByOvVLoZ6EdwPGgd7+DR1EmX3tiXQQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^14 || ^16 || >=18.0"
},
@@ -7568,9 +7436,8 @@
},
"node_modules/csso": {
"version": "5.0.5",
- "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz",
- "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"css-tree": "~2.2.0"
},
@@ -7581,9 +7448,8 @@
},
"node_modules/csso/node_modules/css-tree": {
"version": "2.2.1",
- "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz",
- "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"mdn-data": "2.0.28",
"source-map-js": "^1.0.1"
@@ -7595,21 +7461,18 @@
},
"node_modules/csso/node_modules/mdn-data": {
"version": "2.0.28",
- "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz",
- "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==",
- "dev": true
+ "dev": true,
+ "license": "CC0-1.0"
},
"node_modules/cssom": {
"version": "0.5.0",
- "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz",
- "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/cssstyle": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
- "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"cssom": "~0.3.6"
},
@@ -7619,9 +7482,8 @@
},
"node_modules/cssstyle/node_modules/cssom": {
"version": "0.3.8",
- "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
- "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/csstype": {
"version": "3.1.3",
@@ -7630,9 +7492,8 @@
},
"node_modules/cwd": {
"version": "0.10.0",
- "resolved": "https://registry.npmjs.org/cwd/-/cwd-0.10.0.tgz",
- "integrity": "sha512-YGZxdTTL9lmLkCUTpg4j0zQ7IhRB5ZmqNBbGCl3Tg6MP/d5/6sY7L5mmTjzbc6JKgVZYiqTQTNhPFsbXNGlRaA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"find-pkg": "^0.1.2",
"fs-exists-sync": "^0.1.0"
@@ -7647,6 +7508,7 @@
"integrity": "sha512-53aO7PwOfi604qzOkCSzNlWquCynLlKE/rmmpSPcziRH6LNfaDUAklQT6WJIsD8ywxlIy+uVZsnTMCCQVd2kTw==",
"dev": true,
"hasInstallScript": true,
+ "license": "MIT",
"dependencies": {
"@cypress/request": "^3.0.4",
"@cypress/xvfb": "^1.2.4",
@@ -7700,9 +7562,8 @@
},
"node_modules/cypress-file-upload": {
"version": "5.0.8",
- "resolved": "https://registry.npmjs.org/cypress-file-upload/-/cypress-file-upload-5.0.8.tgz",
- "integrity": "sha512-+8VzNabRk3zG6x8f8BWArF/xA/W0VK4IZNx3MV0jFWrJS/qKn8eHfa5nU73P9fOQAgwHFJx7zjg4lwOnljMO8g==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8.2.1"
},
@@ -7715,6 +7576,7 @@
"resolved": "https://registry.npmjs.org/cypress-mochawesome-reporter/-/cypress-mochawesome-reporter-3.8.2.tgz",
"integrity": "sha512-oJZkNzhNmN9ZD+LmZyFuPb8aWaIijyHyqYh52YOBvR6B6ckfJNCHP3A98a+/nG0H4t46CKTNwo+wNpMa4d2kjA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"commander": "^10.0.1",
"fs-extra": "^10.0.1",
@@ -7737,18 +7599,16 @@
},
"node_modules/cypress-mochawesome-reporter/node_modules/commander": {
"version": "10.0.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz",
- "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=14"
}
},
"node_modules/cypress-mochawesome-reporter/node_modules/fs-extra": {
"version": "10.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
- "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"graceful-fs": "^4.2.0",
"jsonfile": "^6.0.1",
@@ -7760,18 +7620,16 @@
},
"node_modules/cypress-plugin-tab": {
"version": "1.0.5",
- "resolved": "https://registry.npmjs.org/cypress-plugin-tab/-/cypress-plugin-tab-1.0.5.tgz",
- "integrity": "sha512-QtTJcifOVwwbeMP3hsOzQOKf3EqKsLyjtg9ZAGlYDntrCRXrsQhe4ZQGIthRMRLKpnP6/tTk6G0gJ2sZUfRliQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ally.js": "^1.4.1"
}
},
"node_modules/cypress/node_modules/extract-zip": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
- "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"debug": "^4.1.1",
"get-stream": "^5.1.0",
@@ -7789,9 +7647,8 @@
},
"node_modules/cypress/node_modules/lru-cache": {
"version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"yallist": "^4.0.0"
},
@@ -7801,9 +7658,8 @@
},
"node_modules/cypress/node_modules/semver": {
"version": "7.6.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
- "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"lru-cache": "^6.0.0"
},
@@ -7816,9 +7672,8 @@
},
"node_modules/cypress/node_modules/supports-color": {
"version": "8.1.1",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
- "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"has-flag": "^4.0.0"
},
@@ -7831,21 +7686,22 @@
},
"node_modules/cypress/node_modules/yallist": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/damerau-levenshtein": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz",
"integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==",
- "dev": true
+ "dev": true,
+ "license": "BSD-2-Clause"
},
"node_modules/dashdash": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
"integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"assert-plus": "^1.0.0"
},
@@ -7858,15 +7714,15 @@
"resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz",
"integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 14"
}
},
"node_modules/data-urls": {
"version": "3.0.2",
- "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz",
- "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"abab": "^2.0.6",
"whatwg-mimetype": "^3.0.0",
@@ -7881,6 +7737,7 @@
"resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz",
"integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.6",
"es-errors": "^1.3.0",
@@ -7898,6 +7755,7 @@
"resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz",
"integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"es-errors": "^1.3.0",
@@ -7915,6 +7773,7 @@
"resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz",
"integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.6",
"es-errors": "^1.3.0",
@@ -7929,30 +7788,26 @@
},
"node_modules/dateformat": {
"version": "4.6.3",
- "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz",
- "integrity": "sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "*"
}
},
"node_modules/dayjs": {
"version": "1.11.10",
- "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz",
- "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/debounce": {
"version": "1.2.1",
- "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz",
- "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/debug": {
"version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ms": "2.1.2"
},
@@ -7967,9 +7822,8 @@
},
"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==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -7979,6 +7833,7 @@
"resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz",
"integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"decamelize": "^1.1.0",
"map-obj": "^1.0.0"
@@ -7995,30 +7850,28 @@
"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
"integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/decimal.js": {
"version": "10.4.3",
- "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz",
- "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/decode-uri-component": {
"version": "0.2.2",
- "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz",
- "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10"
}
},
"node_modules/decompress-response": {
"version": "6.0.0",
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
- "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"mimic-response": "^3.1.0"
},
@@ -8031,9 +7884,8 @@
},
"node_modules/decompress-response/node_modules/mimic-response": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
- "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -8046,6 +7898,7 @@
"resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz",
"integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==",
"dev": true,
+ "license": "MIT",
"peerDependencies": {
"babel-plugin-macros": "^3.1.0"
},
@@ -8060,6 +7913,7 @@
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz",
"integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"array-buffer-byte-length": "^1.0.0",
"call-bind": "^1.0.5",
@@ -8091,13 +7945,13 @@
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
"integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/deep-extend": {
"version": "0.6.0",
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
- "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4.0.0"
}
@@ -8106,21 +7960,21 @@
"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==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"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==",
+ "dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/default-gateway": {
"version": "6.0.3",
- "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz",
- "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"execa": "^5.0.0"
},
@@ -8130,9 +7984,8 @@
},
"node_modules/default-gateway/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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"path-key": "^3.1.0",
"shebang-command": "^2.0.0",
@@ -8144,9 +7997,8 @@
},
"node_modules/default-gateway/node_modules/execa": {
"version": "5.1.1",
- "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
- "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"cross-spawn": "^7.0.3",
"get-stream": "^6.0.0",
@@ -8167,9 +8019,8 @@
},
"node_modules/default-gateway/node_modules/get-stream": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
- "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -8179,18 +8030,16 @@
},
"node_modules/default-gateway/node_modules/human-signals": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
- "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": ">=10.17.0"
}
},
"node_modules/default-gateway/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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"shebang-regex": "^3.0.0"
},
@@ -8200,18 +8049,16 @@
},
"node_modules/default-gateway/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==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/default-gateway/node_modules/which": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"isexe": "^2.0.0"
},
@@ -8224,9 +8071,8 @@
},
"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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"clone": "^1.0.2"
},
@@ -8236,18 +8082,16 @@
},
"node_modules/defer-to-connect": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz",
- "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
}
},
"node_modules/define-data-property": {
"version": "1.1.4",
- "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
- "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"es-define-property": "^1.0.0",
"es-errors": "^1.3.0",
@@ -8262,9 +8106,8 @@
},
"node_modules/define-lazy-prop": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
- "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -8274,6 +8117,7 @@
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
"integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"define-data-property": "^1.0.1",
"has-property-descriptors": "^1.0.0",
@@ -8291,6 +8135,7 @@
"resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz",
"integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ast-types": "^0.13.4",
"escodegen": "^2.1.0",
@@ -8302,9 +8147,8 @@
},
"node_modules/del": {
"version": "4.1.1",
- "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz",
- "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/glob": "^7.1.1",
"globby": "^6.1.0",
@@ -8320,9 +8164,8 @@
},
"node_modules/del/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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"array-uniq": "^1.0.1"
},
@@ -8332,9 +8175,8 @@
},
"node_modules/del/node_modules/globby": {
"version": "6.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
- "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"array-union": "^1.0.1",
"glob": "^7.0.3",
@@ -8348,18 +8190,16 @@
},
"node_modules/del/node_modules/globby/node_modules/pify": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/del/node_modules/rimraf": {
"version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"glob": "^7.1.3"
},
@@ -8369,27 +8209,24 @@
},
"node_modules/delayed-stream": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.4.0"
}
},
"node_modules/depd": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
- "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/destroy": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
- "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.8",
"npm": "1.2.8000 || >= 1.4.16"
@@ -8400,27 +8237,27 @@
"resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
"integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/detect-node": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz",
- "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/devtools-protocol": {
"version": "0.0.1155343",
"resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1155343.tgz",
"integrity": "sha512-oD9vGBV2wTc7fAzAM6KC0chSgs234V8+qDEeK+mcbRj2UvcuA7lgBztGi/opj/iahcXD3BSj8Ymvib628yy9FA==",
- "dev": true
+ "dev": true,
+ "license": "BSD-3-Clause"
},
"node_modules/diff": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
- "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
"dev": true,
+ "license": "BSD-3-Clause",
"engines": {
"node": ">=0.3.1"
}
@@ -8430,15 +8267,15 @@
"resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz",
"integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
"node_modules/dir-glob": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"path-type": "^4.0.0"
},
@@ -8448,9 +8285,8 @@
},
"node_modules/dns-packet": {
"version": "5.6.1",
- "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz",
- "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@leichtgewicht/ip-codec": "^2.0.1"
},
@@ -8460,9 +8296,8 @@
},
"node_modules/docker-compose": {
"version": "0.24.6",
- "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.24.6.tgz",
- "integrity": "sha512-VidlUyNzXMaVsuM79sjSvwC4nfojkP2VneL+Zfs538M2XFnffZDhx6veqnz/evCNIYGyz5O+1fgL6+g0NLWTBA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"yaml": "^2.2.2"
},
@@ -8475,6 +8310,7 @@
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
"integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"esutils": "^2.0.2"
},
@@ -8484,9 +8320,8 @@
},
"node_modules/dom-serializer": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
- "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"domelementtype": "^2.3.0",
"domhandler": "^5.0.2",
@@ -8498,22 +8333,19 @@
},
"node_modules/domelementtype": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
- "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
"dev": true,
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/fb55"
}
- ]
+ ],
+ "license": "BSD-2-Clause"
},
"node_modules/domexception": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz",
- "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==",
- "deprecated": "Use your platform's native DOMException instead",
"dev": true,
+ "license": "MIT",
"dependencies": {
"webidl-conversions": "^7.0.0"
},
@@ -8523,9 +8355,8 @@
},
"node_modules/domhandler": {
"version": "5.0.3",
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
- "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"domelementtype": "^2.3.0"
},
@@ -8538,9 +8369,8 @@
},
"node_modules/domutils": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz",
- "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"dom-serializer": "^2.0.0",
"domelementtype": "^2.3.0",
@@ -8552,8 +8382,7 @@
},
"node_modules/dot-case": {
"version": "3.0.4",
- "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz",
- "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==",
+ "license": "MIT",
"dependencies": {
"no-case": "^3.0.4",
"tslib": "^2.0.3"
@@ -8564,6 +8393,7 @@
"resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz",
"integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-obj": "^2.0.0"
},
@@ -8573,15 +8403,15 @@
},
"node_modules/duplexer": {
"version": "0.1.2",
- "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
- "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/ecc-jsbn": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
"integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"jsbn": "~0.1.0",
"safer-buffer": "^2.1.0"
@@ -8589,21 +8419,22 @@
},
"node_modules/ee-first": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
- "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/electron-to-chromium": {
"version": "1.5.29",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.29.tgz",
"integrity": "sha512-PF8n2AlIhCKXQ+gTpiJi0VhcHDb69kYX4MtCiivctc2QD3XuNZ/XIOlbGzt7WAjjEev0TtaH6Cu3arZExm5DOw==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/emittery": {
"version": "0.13.1",
"resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz",
"integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -8615,49 +8446,45 @@
"version": "9.2.2",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/emojis-list": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
- "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 4"
}
},
"node_modules/encodeurl": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
- "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
+ "version": "1.0.2",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/encoding": {
"version": "0.1.13",
- "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
- "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"iconv-lite": "^0.6.2"
}
},
"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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"once": "^1.4.0"
}
},
"node_modules/enhanced-resolve": {
"version": "5.17.1",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz",
- "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"graceful-fs": "^4.2.4",
"tapable": "^2.2.0"
@@ -8668,9 +8495,8 @@
},
"node_modules/enquirer": {
"version": "2.4.1",
- "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz",
- "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-colors": "^4.1.1",
"strip-ansi": "^6.0.1"
@@ -8681,9 +8507,8 @@
},
"node_modules/entities": {
"version": "4.5.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
- "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
"dev": true,
+ "license": "BSD-2-Clause",
"engines": {
"node": ">=0.12"
},
@@ -8693,9 +8518,8 @@
},
"node_modules/envinfo": {
"version": "7.11.1",
- "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.11.1.tgz",
- "integrity": "sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg==",
"dev": true,
+ "license": "MIT",
"bin": {
"envinfo": "dist/cli.js"
},
@@ -8708,6 +8532,7 @@
"resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz",
"integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -8717,18 +8542,16 @@
},
"node_modules/error-ex": {
"version": "1.3.2",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
- "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-arrayish": "^0.2.1"
}
},
"node_modules/error-stack-parser": {
"version": "2.1.4",
- "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz",
- "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"stackframe": "^1.3.4"
}
@@ -8738,6 +8561,7 @@
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz",
"integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"array-buffer-byte-length": "^1.0.1",
"arraybuffer.prototype.slice": "^1.0.3",
@@ -8795,9 +8619,8 @@
},
"node_modules/es-define-property": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
- "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"get-intrinsic": "^1.2.4"
},
@@ -8807,9 +8630,8 @@
},
"node_modules/es-errors": {
"version": "1.3.0",
- "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
- "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
}
@@ -8819,6 +8641,7 @@
"resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz",
"integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.2",
"get-intrinsic": "^1.1.3",
@@ -8838,13 +8661,15 @@
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
"integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/es-iterator-helpers": {
"version": "1.0.19",
"resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz",
"integrity": "sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1",
@@ -8867,15 +8692,15 @@
},
"node_modules/es-module-lexer": {
"version": "1.4.1",
- "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz",
- "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/es-object-atoms": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz",
"integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"es-errors": "^1.3.0"
},
@@ -8888,6 +8713,7 @@
"resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz",
"integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"get-intrinsic": "^1.2.4",
"has-tostringtag": "^1.0.2",
@@ -8902,6 +8728,7 @@
"resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz",
"integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"hasown": "^2.0.0"
}
@@ -8911,6 +8738,7 @@
"resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
"integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-callable": "^1.1.4",
"is-date-object": "^1.0.1",
@@ -8928,21 +8756,20 @@
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
"integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/escape-html": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/escape-string-regexp": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -8952,9 +8779,8 @@
},
"node_modules/escodegen": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz",
- "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"esprima": "^4.0.1",
"estraverse": "^5.2.0",
@@ -8973,9 +8799,8 @@
},
"node_modules/escodegen/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==",
"dev": true,
+ "license": "BSD-3-Clause",
"optional": true,
"engines": {
"node": ">=0.10.0"
@@ -8986,6 +8811,7 @@
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz",
"integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.6.1",
@@ -9041,6 +8867,7 @@
"resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz",
"integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==",
"dev": true,
+ "license": "MIT",
"bin": {
"eslint-config-prettier": "bin/cli.js"
},
@@ -9053,6 +8880,7 @@
"resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz",
"integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"debug": "^3.2.7",
"is-core-module": "^2.13.0",
@@ -9064,6 +8892,7 @@
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
"integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ms": "^2.1.1"
}
@@ -9073,6 +8902,7 @@
"resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz",
"integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"debug": "^3.2.7"
},
@@ -9090,6 +8920,7 @@
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
"integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ms": "^2.1.1"
}
@@ -9099,6 +8930,7 @@
"resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.30.0.tgz",
"integrity": "sha512-/mHNE9jINJfiD2EKkg1BKyPyUk4zdnT54YgbOgfjSakWT5oyX/qQLVNTkehyfpcMxZXMy1zyonZ2v7hZTX43Yw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@rtsao/scc": "^1.1.0",
"array-includes": "^3.1.8",
@@ -9131,6 +8963,7 @@
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -9141,6 +8974,7 @@
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
"integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ms": "^2.1.1"
}
@@ -9150,6 +8984,7 @@
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
"integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"esutils": "^2.0.2"
},
@@ -9162,6 +8997,7 @@
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -9174,6 +9010,7 @@
"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.9.0.tgz",
"integrity": "sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@typescript-eslint/utils": "^5.10.0"
},
@@ -9199,6 +9036,7 @@
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz",
"integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@typescript-eslint/types": "5.62.0",
"@typescript-eslint/visitor-keys": "5.62.0"
@@ -9216,6 +9054,7 @@
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz",
"integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
@@ -9229,6 +9068,7 @@
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz",
"integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"@typescript-eslint/types": "5.62.0",
"@typescript-eslint/visitor-keys": "5.62.0",
@@ -9256,6 +9096,7 @@
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz",
"integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
"@types/json-schema": "^7.0.9",
@@ -9282,6 +9123,7 @@
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz",
"integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@typescript-eslint/types": "5.62.0",
"eslint-visitor-keys": "^3.3.0"
@@ -9299,6 +9141,7 @@
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
"integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
@@ -9311,6 +9154,7 @@
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
"dev": true,
+ "license": "ISC",
"bin": {
"semver": "bin/semver.js"
},
@@ -9323,6 +9167,7 @@
"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.10.1.tgz",
"integrity": "sha512-x8wxIpv00Y50NyweDUpa+58ffgSAI5sqe+zcZh33xphD0AVh+1kqr1ombaTRb7Fhpove1zfUuujlX9DWWBP5ag==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"@es-joy/jsdoccomment": "~0.41.0",
"are-docs-informative": "^0.0.2",
@@ -9346,6 +9191,7 @@
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
"dev": true,
+ "license": "ISC",
"bin": {
"semver": "bin/semver.js"
},
@@ -9358,6 +9204,7 @@
"resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.0.tgz",
"integrity": "sha512-ySOHvXX8eSN6zz8Bywacm7CvGNhUtdjvqfQDVe6020TUK34Cywkw7m0KsCCk1Qtm9G1FayfTN1/7mMYnYO2Bhg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"aria-query": "~5.1.3",
"array-includes": "^3.1.8",
@@ -9388,6 +9235,7 @@
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -9398,6 +9246,7 @@
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -9410,6 +9259,7 @@
"resolved": "https://registry.npmjs.org/eslint-plugin-playwright/-/eslint-plugin-playwright-0.15.3.tgz",
"integrity": "sha512-LQMW5y0DLK5Fnpya7JR1oAYL2/7Y9wDiYw6VZqlKqcRGSgjbVKNqxraphk7ra1U3Bb5EK444xMgUlQPbMg2M1g==",
"dev": true,
+ "license": "MIT",
"peerDependencies": {
"eslint": ">=7",
"eslint-plugin-jest": ">=25"
@@ -9425,6 +9275,7 @@
"resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz",
"integrity": "sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"prettier-linter-helpers": "^1.0.0",
"synckit": "^0.9.1"
@@ -9455,6 +9306,7 @@
"resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.0.tgz",
"integrity": "sha512-IHBePmfWH5lKhJnJ7WB1V+v/GolbB0rjS8XYVCSQCZKaQCAUhMoVoOEn1Ef8Z8Wf0a7l8KTJvuZg5/e4qrZ6nA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"array-includes": "^3.1.8",
"array.prototype.findlast": "^1.2.5",
@@ -9487,6 +9339,7 @@
"resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz",
"integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -9499,6 +9352,7 @@
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -9509,6 +9363,7 @@
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
"integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"esutils": "^2.0.2"
},
@@ -9521,6 +9376,7 @@
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -9533,6 +9389,7 @@
"resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz",
"integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-core-module": "^2.13.0",
"path-parse": "^1.0.7",
@@ -9547,9 +9404,8 @@
},
"node_modules/eslint-scope": {
"version": "5.1.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
- "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"esrecurse": "^4.3.0",
"estraverse": "^4.1.1"
@@ -9560,9 +9416,8 @@
},
"node_modules/eslint-scope/node_modules/estraverse": {
"version": "4.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
"dev": true,
+ "license": "BSD-2-Clause",
"engines": {
"node": ">=4.0"
}
@@ -9572,6 +9427,7 @@
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
"integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": ">=10"
}
@@ -9580,13 +9436,15 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true
+ "dev": true,
+ "license": "Python-2.0"
},
"node_modules/eslint/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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -9597,6 +9455,7 @@
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
"integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"path-key": "^3.1.0",
"shebang-command": "^2.0.0",
@@ -9611,6 +9470,7 @@
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
"integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"esrecurse": "^4.3.0",
"estraverse": "^5.2.0"
@@ -9627,6 +9487,7 @@
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
"integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
@@ -9639,6 +9500,7 @@
"resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
"integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"type-fest": "^0.20.2"
},
@@ -9654,6 +9516,7 @@
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"argparse": "^2.0.1"
},
@@ -9666,6 +9529,7 @@
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -9678,6 +9542,7 @@
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
"integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"shebang-regex": "^3.0.0"
},
@@ -9690,6 +9555,7 @@
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -9699,6 +9565,7 @@
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
"integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
"dev": true,
+ "license": "(MIT OR CC0-1.0)",
"engines": {
"node": ">=10"
},
@@ -9711,6 +9578,7 @@
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"isexe": "^2.0.0"
},
@@ -9726,6 +9594,7 @@
"resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
"integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"acorn": "^8.9.0",
"acorn-jsx": "^5.3.2",
@@ -9743,6 +9612,7 @@
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
"integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
@@ -9752,9 +9622,8 @@
},
"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==",
"dev": true,
+ "license": "BSD-2-Clause",
"bin": {
"esparse": "bin/esparse.js",
"esvalidate": "bin/esvalidate.js"
@@ -9768,6 +9637,7 @@
"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz",
"integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"estraverse": "^5.1.0"
},
@@ -9777,9 +9647,8 @@
},
"node_modules/esrecurse": {
"version": "4.3.0",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
- "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"estraverse": "^5.2.0"
},
@@ -9789,57 +9658,50 @@
},
"node_modules/estraverse": {
"version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
"dev": true,
+ "license": "BSD-2-Clause",
"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==",
"dev": true,
+ "license": "BSD-2-Clause",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/etag": {
"version": "1.8.1",
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
- "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/eventemitter2": {
"version": "6.4.7",
- "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz",
- "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/eventemitter3": {
"version": "4.0.7",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
- "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/events": {
"version": "3.3.0",
- "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
- "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.8.x"
}
},
"node_modules/execa": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz",
- "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"cross-spawn": "^7.0.0",
"get-stream": "^5.0.0",
@@ -9860,9 +9722,8 @@
},
"node_modules/execa/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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"path-key": "^3.1.0",
"shebang-command": "^2.0.0",
@@ -9874,9 +9735,8 @@
},
"node_modules/execa/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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"shebang-regex": "^3.0.0"
},
@@ -9886,18 +9746,16 @@
},
"node_modules/execa/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==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/execa/node_modules/which": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"isexe": "^2.0.0"
},
@@ -9910,9 +9768,8 @@
},
"node_modules/executable": {
"version": "4.1.1",
- "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz",
- "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"pify": "^2.2.0"
},
@@ -9922,9 +9779,8 @@
},
"node_modules/executable/node_modules/pify": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -9940,9 +9796,8 @@
},
"node_modules/expand-tilde": {
"version": "1.2.2",
- "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz",
- "integrity": "sha512-rtmc+cjLZqnu9dSYosX9EWmSJhTwpACgJQTfj4hgg2JjOD/6SIQalZrt4a3aQeh++oNxkazcaxrhPUj6+g5G/Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"os-homedir": "^1.0.1"
},
@@ -9955,6 +9810,7 @@
"resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz",
"integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/expect-utils": "^29.7.0",
"jest-get-type": "^29.6.3",
@@ -9968,42 +9824,40 @@
},
"node_modules/expect-puppeteer": {
"version": "4.4.0",
- "resolved": "https://registry.npmjs.org/expect-puppeteer/-/expect-puppeteer-4.4.0.tgz",
- "integrity": "sha512-6Ey4Xy2xvmuQu7z7YQtMsaMV0EHJRpVxIDOd5GRrm04/I3nkTKIutELfECsLp6le+b3SSa3cXhPiw6PgqzxYWA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/express": {
- "version": "4.21.0",
- "resolved": "https://registry.npmjs.org/express/-/express-4.21.0.tgz",
- "integrity": "sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==",
+ "version": "4.19.2",
"dev": true,
+ "license": "MIT",
"dependencies": {
"accepts": "~1.3.8",
"array-flatten": "1.1.1",
- "body-parser": "1.20.3",
+ "body-parser": "1.20.2",
"content-disposition": "0.5.4",
"content-type": "~1.0.4",
"cookie": "0.6.0",
"cookie-signature": "1.0.6",
"debug": "2.6.9",
"depd": "2.0.0",
- "encodeurl": "~2.0.0",
+ "encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"etag": "~1.8.1",
- "finalhandler": "1.3.1",
+ "finalhandler": "1.2.0",
"fresh": "0.5.2",
"http-errors": "2.0.0",
- "merge-descriptors": "1.0.3",
+ "merge-descriptors": "1.0.1",
"methods": "~1.1.2",
"on-finished": "2.4.1",
"parseurl": "~1.3.3",
- "path-to-regexp": "0.1.10",
+ "path-to-regexp": "0.1.7",
"proxy-addr": "~2.0.7",
- "qs": "6.13.0",
+ "qs": "6.11.0",
"range-parser": "~1.2.1",
"safe-buffer": "5.2.1",
- "send": "0.19.0",
- "serve-static": "1.16.2",
+ "send": "0.18.0",
+ "serve-static": "1.15.0",
"setprototypeof": "1.2.0",
"statuses": "2.0.1",
"type-is": "~1.6.18",
@@ -10016,39 +9870,50 @@
},
"node_modules/express/node_modules/cookie": {
"version": "0.6.0",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz",
- "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/express/node_modules/debug": {
"version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ms": "2.0.0"
}
},
"node_modules/express/node_modules/ms": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/express/node_modules/qs": {
+ "version": "6.11.0",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "side-channel": "^1.0.4"
+ },
+ "engines": {
+ "node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
},
"node_modules/extend": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/external-editor": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
- "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"chardet": "^0.7.0",
"iconv-lite": "^0.4.24",
@@ -10060,9 +9925,8 @@
},
"node_modules/external-editor/node_modules/iconv-lite": {
"version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"safer-buffer": ">= 2.1.2 < 3"
},
@@ -10072,9 +9936,8 @@
},
"node_modules/external-editor/node_modules/tmp": {
"version": "0.0.33",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
- "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"os-tmpdir": "~1.0.2"
},
@@ -10084,9 +9947,8 @@
},
"node_modules/extract-zip": {
"version": "1.7.0",
- "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz",
- "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"concat-stream": "^1.6.2",
"debug": "^2.6.9",
@@ -10099,18 +9961,16 @@
},
"node_modules/extract-zip/node_modules/debug": {
"version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ms": "2.0.0"
}
},
"node_modules/extract-zip/node_modules/ms": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/extsprintf": {
"version": "1.3.0",
@@ -10119,31 +9979,32 @@
"dev": true,
"engines": [
"node >=0.6.0"
- ]
+ ],
+ "license": "MIT"
},
"node_modules/fast-deep-equal": {
"version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/fast-diff": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz",
"integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==",
- "dev": true
+ "dev": true,
+ "license": "Apache-2.0"
},
"node_modules/fast-fifo": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz",
"integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@nodelib/fs.stat": "^2.0.2",
"@nodelib/fs.walk": "^1.2.3",
@@ -10157,9 +10018,8 @@
},
"node_modules/fast-glob/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==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"is-glob": "^4.0.1"
},
@@ -10169,45 +10029,43 @@
},
"node_modules/fast-json-stable-stringify": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"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==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/fast-uri": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.2.tgz",
"integrity": "sha512-GR6f0hD7XXyNJa25Tb9BuIdN0tdr+0BMi6/CJPH3wJO1JjNG3n/VsSw38AwRdKZABm8lGbPfakLRkYzx2V9row==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/fastest-levenshtein": {
"version": "1.0.16",
- "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
- "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 4.9.1"
}
},
"node_modules/fastq": {
"version": "1.17.1",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
- "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"reusify": "^1.0.4"
}
},
"node_modules/faye-websocket": {
"version": "0.11.4",
- "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz",
- "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"websocket-driver": ">=0.5.1"
},
@@ -10220,24 +10078,23 @@
"resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz",
"integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"bser": "2.1.1"
}
},
"node_modules/fd-slicer": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
- "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"pend": "~1.2.0"
}
},
"node_modules/figures": {
"version": "3.2.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
- "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"escape-string-regexp": "^1.0.5"
},
@@ -10250,9 +10107,8 @@
},
"node_modules/figures/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==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.8.0"
}
@@ -10262,6 +10118,7 @@
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
"integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"flat-cache": "^3.0.4"
},
@@ -10271,18 +10128,16 @@
},
"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==",
"dev": true,
+ "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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"filename-reserved-regex": "^2.0.0",
"strip-outer": "^1.0.1",
@@ -10297,9 +10152,8 @@
},
"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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"to-regex-range": "^5.0.1"
},
@@ -10308,13 +10162,12 @@
}
},
"node_modules/finalhandler": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz",
- "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==",
+ "version": "1.2.0",
"dev": true,
+ "license": "MIT",
"dependencies": {
"debug": "2.6.9",
- "encodeurl": "~2.0.0",
+ "encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"on-finished": "2.4.1",
"parseurl": "~1.3.3",
@@ -10327,24 +10180,21 @@
},
"node_modules/finalhandler/node_modules/debug": {
"version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ms": "2.0.0"
}
},
"node_modules/finalhandler/node_modules/ms": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/find-cache-dir": {
"version": "3.3.2",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
- "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"commondir": "^1.0.1",
"make-dir": "^3.0.2",
@@ -10359,9 +10209,8 @@
},
"node_modules/find-file-up": {
"version": "0.1.3",
- "resolved": "https://registry.npmjs.org/find-file-up/-/find-file-up-0.1.3.tgz",
- "integrity": "sha512-mBxmNbVyjg1LQIIpgO8hN+ybWBgDQK8qjht+EbrTCGmmPV/sc7RF1i9stPTD6bpvXZywBdrwRYxhSdJv867L6A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"fs-exists-sync": "^0.1.0",
"resolve-dir": "^0.1.0"
@@ -10372,15 +10221,13 @@
},
"node_modules/find-parent-dir": {
"version": "0.3.1",
- "resolved": "https://registry.npmjs.org/find-parent-dir/-/find-parent-dir-0.3.1.tgz",
- "integrity": "sha512-o4UcykWV/XN9wm+jMEtWLPlV8RXCZnMhQI6F6OdHeSez7iiJWePw8ijOlskJZMsaQoGR/b7dH6lO02HhaTN7+A==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/find-pkg": {
"version": "0.1.2",
- "resolved": "https://registry.npmjs.org/find-pkg/-/find-pkg-0.1.2.tgz",
- "integrity": "sha512-0rnQWcFwZr7eO0513HahrWafsc3CTFioEB7DRiEYCUM/70QXSY8f3mCST17HXLcPvEhzH/Ty/Bxd72ZZsr/yvw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"find-file-up": "^0.1.2"
},
@@ -10390,9 +10237,8 @@
},
"node_modules/find-process": {
"version": "1.4.7",
- "resolved": "https://registry.npmjs.org/find-process/-/find-process-1.4.7.tgz",
- "integrity": "sha512-/U4CYp1214Xrp3u3Fqr9yNynUrr5Le4y0SsJh2lMDDSbpwYSz3M2SMWQC+wqcx79cN8PQtHQIL8KnuY9M66fdg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"chalk": "^4.0.0",
"commander": "^5.1.0",
@@ -10404,18 +10250,16 @@
},
"node_modules/find-process/node_modules/commander": {
"version": "5.1.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz",
- "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 6"
}
},
"node_modules/find-up": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
- "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"locate-path": "^6.0.0",
"path-exists": "^4.0.0"
@@ -10429,9 +10273,8 @@
},
"node_modules/flat": {
"version": "5.0.2",
- "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
- "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
"dev": true,
+ "license": "BSD-3-Clause",
"bin": {
"flat": "cli.js"
}
@@ -10441,6 +10284,7 @@
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz",
"integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"flatted": "^3.2.9",
"keyv": "^4.5.3",
@@ -10454,12 +10298,11 @@
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz",
"integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/follow-redirects": {
"version": "1.15.6",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
- "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
"dev": true,
"funding": [
{
@@ -10467,6 +10310,7 @@
"url": "https://github.com/sponsors/RubenVerborgh"
}
],
+ "license": "MIT",
"engines": {
"node": ">=4.0"
},
@@ -10481,24 +10325,23 @@
"resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
"integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-callable": "^1.1.3"
}
},
"node_modules/for-in": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
- "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/for-own": {
"version": "0.1.5",
- "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
- "integrity": "sha512-SKmowqGTJoPzLO1T0BBJpkfp3EMacCMOuH40hOUbrbzElVktk4DioXVM99QkLCyKoiuOmyjgcWMpVz2xjE7LZw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"for-in": "^1.0.1"
},
@@ -10511,15 +10354,15 @@
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
"integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": "*"
}
},
"node_modules/form-data": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
- "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
@@ -10531,9 +10374,8 @@
},
"node_modules/forwarded": {
"version": "0.2.0",
- "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
- "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
@@ -10543,6 +10385,7 @@
"resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz",
"integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "*"
},
@@ -10553,33 +10396,29 @@
},
"node_modules/fresh": {
"version": "0.5.2",
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
- "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
"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==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/fs-exists-sync": {
"version": "0.1.0",
- "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz",
- "integrity": "sha512-cR/vflFyPZtrN6b38ZyWxpWdhlXrzZEBawlpBQMq7033xVY7/kg0GDMBK5jg8lDYQckdJ5x/YC88lM3C7VMsLg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/fs-extra": {
"version": "9.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
- "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"at-least-node": "^1.0.0",
"graceful-fs": "^4.2.0",
@@ -10592,22 +10431,18 @@
},
"node_modules/fs-monkey": {
"version": "1.0.5",
- "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz",
- "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==",
- "dev": true
+ "dev": true,
+ "license": "Unlicense"
},
"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==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/fsevents": {
"version": "2.3.3",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
- "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
"dev": true,
- "hasInstallScript": true,
+ "license": "MIT",
"optional": true,
"os": [
"darwin"
@@ -10618,15 +10453,13 @@
},
"node_modules/fsu": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/fsu/-/fsu-1.1.1.tgz",
- "integrity": "sha512-xQVsnjJ/5pQtcKh+KjUoZGzVWn4uNkchxTF6Lwjr4Gf7nQr8fmUfhKJ62zE77+xQg9xnxi5KUps7XGs+VC986A==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/function-bind": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
- "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
"dev": true,
+ "license": "MIT",
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -10636,6 +10469,7 @@
"resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz",
"integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.2.0",
@@ -10654,32 +10488,31 @@
"resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
"integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
"dev": true,
+ "license": "MIT",
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/fuse.js": {
- "version": "6.6.2",
- "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-6.6.2.tgz",
- "integrity": "sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-7.0.0.tgz",
+ "integrity": "sha512-14F4hBIxqKvD4Zz/XjDc3y94mNZN6pRv3U13Udo0lNLCWRBUsrMv2xwcF/y/Z5sV6+FQW+/ow68cHpm4sunt8Q==",
"engines": {
"node": ">=10"
}
},
"node_modules/gensync": {
"version": "1.0.0-beta.2",
- "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
- "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/get-caller-file": {
"version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": "6.* || 8.* || >= 10.*"
}
@@ -10689,6 +10522,7 @@
"resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz",
"integrity": "sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -10698,9 +10532,8 @@
},
"node_modules/get-intrinsic": {
"version": "1.2.4",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
- "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"es-errors": "^1.3.0",
"function-bind": "^1.1.2",
@@ -10720,6 +10553,7 @@
"resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
"integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8.0.0"
}
@@ -10729,6 +10563,7 @@
"resolved": "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz",
"integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
},
@@ -10738,9 +10573,8 @@
},
"node_modules/get-stdin": {
"version": "9.0.0",
- "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz",
- "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -10750,9 +10584,8 @@
},
"node_modules/get-stream": {
"version": "5.2.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
- "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"pump": "^3.0.0"
},
@@ -10768,6 +10601,7 @@
"resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz",
"integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.5",
"es-errors": "^1.3.0",
@@ -10785,6 +10619,7 @@
"resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.3.tgz",
"integrity": "sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"basic-ftp": "^5.0.2",
"data-uri-to-buffer": "^6.0.2",
@@ -10800,6 +10635,7 @@
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz",
"integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"graceful-fs": "^4.2.0",
"jsonfile": "^6.0.1",
@@ -10811,9 +10647,8 @@
},
"node_modules/getos": {
"version": "3.2.1",
- "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz",
- "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"async": "^3.2.0"
}
@@ -10823,6 +10658,7 @@
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
"integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"assert-plus": "^1.0.0"
}
@@ -10832,6 +10668,7 @@
"resolved": "https://registry.npmjs.org/gettext-parser/-/gettext-parser-1.4.0.tgz",
"integrity": "sha512-sedZYLHlHeBop/gZ1jdg59hlUEcpcZJofLq2JFwJT1zTqAU3l2wFv6IsuwFHGqbiT9DWzMUW4/em2+hspnmMMA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"encoding": "^0.1.12",
"safe-buffer": "^5.1.1"
@@ -10839,9 +10676,8 @@
},
"node_modules/glob": {
"version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
@@ -10859,9 +10695,8 @@
},
"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==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"is-glob": "^4.0.3"
},
@@ -10871,15 +10706,13 @@
},
"node_modules/glob-to-regexp": {
"version": "0.4.1",
- "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
- "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
- "dev": true
+ "dev": true,
+ "license": "BSD-2-Clause"
},
"node_modules/glob/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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -10887,9 +10720,8 @@
},
"node_modules/glob/node_modules/minimatch": {
"version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -10899,9 +10731,8 @@
},
"node_modules/global-dirs": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz",
- "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ini": "2.0.0"
},
@@ -10914,9 +10745,8 @@
},
"node_modules/global-modules": {
"version": "0.2.3",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz",
- "integrity": "sha512-JeXuCbvYzYXcwE6acL9V2bAOeSIGl4dD+iwLY9iUx2VBJJ80R18HCn+JCwHM9Oegdfya3lEkGCdaRkSyc10hDA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"global-prefix": "^0.1.4",
"is-windows": "^0.2.0"
@@ -10927,9 +10757,8 @@
},
"node_modules/global-prefix": {
"version": "0.1.5",
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz",
- "integrity": "sha512-gOPiyxcD9dJGCEArAhF4Hd0BAqvAe/JzERP7tYumE4yIkmIedPUVXcJFWbV3/p/ovIIvKjkrTk+f1UVkq7vvbw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"homedir-polyfill": "^1.0.0",
"ini": "^1.3.4",
@@ -10942,15 +10771,13 @@
},
"node_modules/global-prefix/node_modules/ini": {
"version": "1.3.8",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
- "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/globals": {
"version": "11.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
@@ -10960,6 +10787,7 @@
"resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz",
"integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"define-properties": "^1.2.1",
"gopd": "^1.0.1"
@@ -10976,6 +10804,7 @@
"resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
"integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"array-union": "^2.1.0",
"dir-glob": "^3.0.1",
@@ -10995,13 +10824,13 @@
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz",
"integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/gopd": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
- "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"get-intrinsic": "^1.1.3"
},
@@ -11011,9 +10840,8 @@
},
"node_modules/got": {
"version": "11.8.6",
- "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz",
- "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@sindresorhus/is": "^4.0.0",
"@szmarczak/http-timer": "^4.0.5",
@@ -11036,21 +10864,20 @@
},
"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==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/graphemer": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
"integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/gzip-size": {
"version": "6.0.0",
- "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz",
- "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"duplexer": "^0.1.2"
},
@@ -11063,15 +10890,15 @@
},
"node_modules/handle-thing": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz",
- "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/hard-rejection": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz",
"integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
@@ -11081,24 +10908,23 @@
"resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz",
"integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==",
"dev": true,
+ "license": "MIT",
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/has-flag": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/has-property-descriptors": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
- "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"es-define-property": "^1.0.0"
},
@@ -11108,9 +10934,8 @@
},
"node_modules/has-proto": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
- "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
},
@@ -11120,9 +10945,8 @@
},
"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==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
},
@@ -11135,6 +10959,7 @@
"resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
"integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"has-symbols": "^1.0.3"
},
@@ -11150,6 +10975,7 @@
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
"integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"function-bind": "^1.1.2"
},
@@ -11159,9 +10985,8 @@
},
"node_modules/he": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
- "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
"dev": true,
+ "license": "MIT",
"peer": true,
"bin": {
"he": "bin/he"
@@ -11171,6 +10996,7 @@
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/header-case/-/header-case-2.0.4.tgz",
"integrity": "sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==",
+ "license": "MIT",
"dependencies": {
"capital-case": "^1.0.4",
"tslib": "^2.0.3"
@@ -11178,9 +11004,8 @@
},
"node_modules/homedir-polyfill": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
- "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"parse-passwd": "^1.0.0"
},
@@ -11193,6 +11018,7 @@
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz",
"integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"lru-cache": "^6.0.0"
},
@@ -11205,6 +11031,7 @@
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"yallist": "^4.0.0"
},
@@ -11216,13 +11043,13 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/hpack.js": {
"version": "2.1.6",
- "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz",
- "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"inherits": "^2.0.1",
"obuf": "^1.0.0",
@@ -11232,9 +11059,8 @@
},
"node_modules/html-encoding-sniffer": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz",
- "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"whatwg-encoding": "^2.0.0"
},
@@ -11244,8 +11070,6 @@
},
"node_modules/html-entities": {
"version": "2.4.0",
- "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz",
- "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==",
"dev": true,
"funding": [
{
@@ -11256,19 +11080,20 @@
"type": "patreon",
"url": "https://patreon.com/mdevils"
}
- ]
+ ],
+ "license": "MIT"
},
"node_modules/html-escaper": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
- "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/html-tags": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz",
"integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
},
@@ -11278,21 +11103,18 @@
},
"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==",
- "dev": true
+ "dev": true,
+ "license": "BSD-2-Clause"
},
"node_modules/http-deceiver": {
"version": "1.2.7",
- "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
- "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/http-errors": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
- "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"depd": "2.0.0",
"inherits": "2.0.4",
@@ -11309,21 +11131,20 @@
"resolved": "https://registry.npmjs.org/http-link-header/-/http-link-header-1.1.3.tgz",
"integrity": "sha512-3cZ0SRL8fb9MUlU3mKM61FcQvPfXx2dBrZW3Vbg5CXa8jFlK8OaEpePenLe1oEXQduhz8b0QjsqfS59QP4AJDQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/http-parser-js": {
"version": "0.5.8",
- "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz",
- "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/http-proxy": {
"version": "1.18.1",
- "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
- "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"eventemitter3": "^4.0.0",
"follow-redirects": "^1.0.0",
@@ -11335,9 +11156,8 @@
},
"node_modules/http-proxy-agent": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
- "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@tootallnate/once": "2",
"agent-base": "6",
@@ -11349,9 +11169,8 @@
},
"node_modules/http-proxy-middleware": {
"version": "2.0.6",
- "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz",
- "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/http-proxy": "^1.17.8",
"http-proxy": "^1.18.1",
@@ -11376,6 +11195,7 @@
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.4.0.tgz",
"integrity": "sha512-G5akfn7eKbpDN+8nPS/cb57YeA1jLTVxjpCj7tmm3QKPdyDy7T+qSC40e9ptydSWvkwjSXw1VbkpyEm39ukeAg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"assert-plus": "^1.0.0",
"jsprim": "^2.0.2",
@@ -11387,9 +11207,8 @@
},
"node_modules/http2-wrapper": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz",
- "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"quick-lru": "^5.1.1",
"resolve-alpn": "^1.0.0"
@@ -11400,9 +11219,8 @@
},
"node_modules/https-proxy-agent": {
"version": "5.0.1",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
- "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"agent-base": "6",
"debug": "4"
@@ -11413,23 +11231,22 @@
},
"node_modules/human-signals": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
- "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": ">=8.12.0"
}
},
"node_modules/husky": {
- "version": "8.0.3",
- "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz",
- "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==",
+ "version": "9.1.6",
+ "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.6.tgz",
+ "integrity": "sha512-sqbjZKK7kf44hfdE94EoX8MZNk0n7HeW37O4YrVGCF4wzgQjp+akPAkfUK5LZ6KuR/6sqeAVuXHji+RzQgOn5A==",
"dev": true,
"bin": {
- "husky": "lib/bin.js"
+ "husky": "bin.js"
},
"engines": {
- "node": ">=14"
+ "node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/typicode"
@@ -11437,9 +11254,8 @@
},
"node_modules/iconv-lite": {
"version": "0.6.3",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
- "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"safer-buffer": ">= 2.1.2 < 3.0.0"
},
@@ -11449,9 +11265,8 @@
},
"node_modules/icss-utils": {
"version": "5.1.0",
- "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
- "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": "^10 || ^12 || >= 14"
},
@@ -11461,8 +11276,6 @@
},
"node_modules/ieee754": {
"version": "1.2.1",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
- "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
"dev": true,
"funding": [
{
@@ -11477,22 +11290,21 @@
"type": "consulting",
"url": "https://feross.org/support"
}
- ]
+ ],
+ "license": "BSD-3-Clause"
},
"node_modules/ignore": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
- "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
+ "version": "5.3.1",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 4"
}
},
"node_modules/ignore-walk": {
"version": "4.0.1",
- "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-4.0.1.tgz",
- "integrity": "sha512-rzDQLaW4jQbh2YrOFlJdCtX8qgJTehFRYiUB2r1osqTeDzV/3+Jh8fz1oAPzUThf3iku8Ds4IDqawI5d8mUiQw==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"minimatch": "^3.0.4"
},
@@ -11502,9 +11314,8 @@
},
"node_modules/ignore-walk/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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -11512,9 +11323,8 @@
},
"node_modules/ignore-walk/node_modules/minimatch": {
"version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -11526,19 +11336,18 @@
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/image-ssim/-/image-ssim-0.2.0.tgz",
"integrity": "sha512-W7+sO6/yhxy83L0G7xR8YAc5Z5QFtYEXXRV6EaE8tuYBZJnA3gVgp3q7X7muhLZVodeb9UfvjSbwt9VJwjIYAg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/immutable": {
"version": "4.3.5",
- "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.5.tgz",
- "integrity": "sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/import-fresh": {
"version": "3.3.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
- "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"parent-module": "^1.0.0",
"resolve-from": "^4.0.0"
@@ -11552,9 +11361,8 @@
},
"node_modules/import-fresh/node_modules/resolve-from": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
@@ -11564,15 +11372,15 @@
"resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz",
"integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/import-local": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz",
- "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"pkg-dir": "^4.2.0",
"resolve-cwd": "^3.0.0"
@@ -11592,24 +11400,23 @@
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
"integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.8.19"
}
},
"node_modules/indent-string": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
- "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"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==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"once": "^1.3.0",
"wrappy": "1"
@@ -11617,24 +11424,21 @@
},
"node_modules/inherits": {
"version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/ini": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz",
- "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": ">=10"
}
},
"node_modules/inquirer": {
"version": "7.3.3",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz",
- "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-escapes": "^4.2.1",
"chalk": "^4.1.0",
@@ -11659,6 +11463,7 @@
"resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz",
"integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"es-errors": "^1.3.0",
"hasown": "^2.0.0",
@@ -11670,9 +11475,8 @@
},
"node_modules/interpret": {
"version": "3.1.1",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz",
- "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10.13.0"
}
@@ -11682,6 +11486,7 @@
"resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-4.4.0.tgz",
"integrity": "sha512-z+Bj2rS3LZSYU4+sNitdHrwnBhr0wO80ZJSW8EzKDBowwUe3Q/UsvgCGjrwa+HPzoGCLEb9HAjfJgo4j2Sac8w==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"intl-messageformat-parser": "^1.8.1"
}
@@ -11691,13 +11496,15 @@
"resolved": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-1.8.1.tgz",
"integrity": "sha512-IMSCKVf0USrM/959vj3xac7s8f87sc+80Y/ipBzdKy4ifBv5Gsj2tZ41EAaURVg01QU71fYr77uA8Meh6kELbg==",
"deprecated": "We've written a new parser that's 6x faster and is backwards compatible. Please use @formatjs/icu-messageformat-parser",
- "dev": true
+ "dev": true,
+ "license": "BSD-3-Clause"
},
"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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"jsbn": "1.1.0",
"sprintf-js": "^1.1.3"
@@ -11710,13 +11517,13 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz",
"integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/ipaddr.js": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz",
- "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 10"
}
@@ -11726,6 +11533,7 @@
"resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-3.5.0.tgz",
"integrity": "sha512-1ANGLZ+Nkv1ptFb2pa8oG8Lem4krflKuX/gINiHJHjJUKaJHk/SXk5x6K3J+39/p0h1RQ2saROclJJ+QLvETCQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -11735,6 +11543,7 @@
"resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
"integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.2",
"has-tostringtag": "^1.0.0"
@@ -11751,6 +11560,7 @@
"resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz",
"integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.2",
"get-intrinsic": "^1.2.1"
@@ -11764,15 +11574,15 @@
},
"node_modules/is-arrayish": {
"version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/is-async-function": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz",
"integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"has-tostringtag": "^1.0.0"
},
@@ -11788,6 +11598,7 @@
"resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
"integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"has-bigints": "^1.0.1"
},
@@ -11797,9 +11608,8 @@
},
"node_modules/is-binary-path": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"binary-extensions": "^2.0.0"
},
@@ -11812,6 +11622,7 @@
"resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
"integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.2",
"has-tostringtag": "^1.0.0"
@@ -11825,15 +11636,15 @@
},
"node_modules/is-buffer": {
"version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/is-builtin-module": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz",
"integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"builtin-modules": "^3.3.0"
},
@@ -11849,6 +11660,7 @@
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
"integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
},
@@ -11858,9 +11670,8 @@
},
"node_modules/is-ci": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz",
- "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ci-info": "^3.2.0"
},
@@ -11873,6 +11684,7 @@
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz",
"integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"hasown": "^2.0.2"
},
@@ -11888,6 +11700,7 @@
"resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz",
"integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-typed-array": "^1.1.13"
},
@@ -11903,6 +11716,7 @@
"resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
"integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"has-tostringtag": "^1.0.0"
},
@@ -11915,9 +11729,8 @@
},
"node_modules/is-docker": {
"version": "2.2.1",
- "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
- "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
"dev": true,
+ "license": "MIT",
"bin": {
"is-docker": "cli.js"
},
@@ -11930,18 +11743,16 @@
},
"node_modules/is-extendable": {
"version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
- "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
"dev": true,
+ "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==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -11951,6 +11762,7 @@
"resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz",
"integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.2"
},
@@ -11960,9 +11772,8 @@
},
"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==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -11972,6 +11783,7 @@
"resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
"integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
@@ -11981,6 +11793,7 @@
"resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
"integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"has-tostringtag": "^1.0.0"
},
@@ -11993,9 +11806,8 @@
},
"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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-extglob": "^2.1.1"
},
@@ -12005,9 +11817,8 @@
},
"node_modules/is-installed-globally": {
"version": "0.4.0",
- "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz",
- "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"global-dirs": "^3.0.0",
"is-path-inside": "^3.0.2"
@@ -12021,9 +11832,8 @@
},
"node_modules/is-interactive": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
- "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -12033,6 +11843,7 @@
"resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz",
"integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
},
@@ -12045,6 +11856,7 @@
"resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz",
"integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
},
@@ -12054,9 +11866,8 @@
},
"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==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.12.0"
}
@@ -12066,6 +11877,7 @@
"resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz",
"integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"has-tostringtag": "^1.0.0"
},
@@ -12081,24 +11893,23 @@
"resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
"integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/is-path-cwd": {
"version": "2.2.0",
- "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz",
- "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/is-path-in-cwd": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz",
- "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-path-inside": "^2.1.0"
},
@@ -12108,9 +11919,8 @@
},
"node_modules/is-path-in-cwd/node_modules/is-path-inside": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz",
- "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"path-is-inside": "^1.0.2"
},
@@ -12120,18 +11930,16 @@
},
"node_modules/is-path-inside": {
"version": "3.0.3",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
- "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/is-plain-obj": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz",
- "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -12141,23 +11949,22 @@
},
"node_modules/is-plain-object": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
- "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/is-potential-custom-element-name": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
- "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/is-regex": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
"integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.2",
"has-tostringtag": "^1.0.0"
@@ -12174,6 +11981,7 @@
"resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz",
"integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
},
@@ -12186,6 +11994,7 @@
"resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz",
"integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7"
},
@@ -12198,9 +12007,8 @@
},
"node_modules/is-stream": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
- "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
},
@@ -12213,6 +12021,7 @@
"resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
"integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"has-tostringtag": "^1.0.0"
},
@@ -12228,6 +12037,7 @@
"resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz",
"integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"has-symbols": "^1.0.2"
},
@@ -12243,6 +12053,7 @@
"resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz",
"integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"which-typed-array": "^1.1.14"
},
@@ -12257,13 +12068,13 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
"integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/is-unicode-supported": {
"version": "0.1.0",
- "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
- "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -12276,6 +12087,7 @@
"resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz",
"integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
},
@@ -12288,6 +12100,7 @@
"resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
"integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.2"
},
@@ -12300,6 +12113,7 @@
"resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz",
"integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"get-intrinsic": "^1.2.4"
@@ -12313,18 +12127,16 @@
},
"node_modules/is-windows": {
"version": "0.2.0",
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz",
- "integrity": "sha512-n67eJYmXbniZB7RF4I/FTjK1s6RPOCTxhYrVYLRaCt3lF0mpWZPKr3T2LSZAqyjQsxR2qMmGYXXzK0YWwcPM1Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/is-wsl": {
"version": "2.2.0",
- "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
- "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-docker": "^2.0.0"
},
@@ -12334,21 +12146,18 @@
},
"node_modules/isarray": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/isexe": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/isobject": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -12357,13 +12166,15 @@
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
"integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/istanbul-lib-coverage": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz",
"integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==",
"dev": true,
+ "license": "BSD-3-Clause",
"engines": {
"node": ">=8"
}
@@ -12373,6 +12184,7 @@
"resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz",
"integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"@babel/core": "^7.12.3",
"@babel/parser": "^7.14.7",
@@ -12389,6 +12201,7 @@
"resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz",
"integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"istanbul-lib-coverage": "^3.0.0",
"make-dir": "^4.0.0",
@@ -12403,6 +12216,7 @@
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz",
"integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"semver": "^7.5.3"
},
@@ -12418,6 +12232,7 @@
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
"dev": true,
+ "license": "ISC",
"bin": {
"semver": "bin/semver.js"
},
@@ -12430,6 +12245,7 @@
"resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz",
"integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"debug": "^4.1.1",
"istanbul-lib-coverage": "^3.0.0",
@@ -12444,6 +12260,7 @@
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true,
+ "license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
}
@@ -12453,6 +12270,7 @@
"resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz",
"integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"html-escaper": "^2.0.0",
"istanbul-lib-report": "^3.0.0"
@@ -12466,6 +12284,7 @@
"resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz",
"integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"define-properties": "^1.2.1",
"get-intrinsic": "^1.2.1",
@@ -12479,6 +12298,7 @@
"resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz",
"integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/core": "^29.7.0",
"@jest/types": "^29.6.3",
@@ -12505,6 +12325,7 @@
"resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz",
"integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"execa": "^5.0.0",
"jest-util": "^29.7.0",
@@ -12519,6 +12340,7 @@
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
"integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"path-key": "^3.1.0",
"shebang-command": "^2.0.0",
@@ -12533,6 +12355,7 @@
"resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
"integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"cross-spawn": "^7.0.3",
"get-stream": "^6.0.0",
@@ -12556,6 +12379,7 @@
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
"integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -12568,6 +12392,7 @@
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
"integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": ">=10.17.0"
}
@@ -12577,6 +12402,7 @@
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
"integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"shebang-regex": "^3.0.0"
},
@@ -12589,6 +12415,7 @@
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -12598,6 +12425,7 @@
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"isexe": "^2.0.0"
},
@@ -12613,6 +12441,7 @@
"resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz",
"integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/environment": "^29.7.0",
"@jest/expect": "^29.7.0",
@@ -12644,6 +12473,7 @@
"resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz",
"integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/core": "^29.7.0",
"@jest/test-result": "^29.7.0",
@@ -12677,6 +12507,7 @@
"resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz",
"integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/core": "^7.11.6",
"@jest/test-sequencer": "^29.7.0",
@@ -12719,8 +12550,6 @@
},
"node_modules/jest-dev-server": {
"version": "9.0.2",
- "resolved": "https://registry.npmjs.org/jest-dev-server/-/jest-dev-server-9.0.2.tgz",
- "integrity": "sha512-Zc/JB0IlNNrpXkhBw+h86cGrde/Mey52KvF+FER2eyrtYJTHObOwW7Iarxm3rPyTKby5+3Y2QZtl8pRz/5GCxg==",
"dev": true,
"dependencies": {
"chalk": "^4.1.2",
@@ -12740,6 +12569,7 @@
"resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz",
"integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"chalk": "^4.0.0",
"diff-sequences": "^29.6.3",
@@ -12755,6 +12585,7 @@
"resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz",
"integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"detect-newline": "^3.0.0"
},
@@ -12767,6 +12598,7 @@
"resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz",
"integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/types": "^29.6.3",
"chalk": "^4.0.0",
@@ -12780,9 +12612,8 @@
},
"node_modules/jest-environment-jsdom": {
"version": "29.7.0",
- "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz",
- "integrity": "sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/environment": "^29.7.0",
"@jest/fake-timers": "^29.7.0",
@@ -12810,6 +12641,7 @@
"resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz",
"integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/environment": "^29.7.0",
"@jest/fake-timers": "^29.7.0",
@@ -12827,6 +12659,7 @@
"resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz",
"integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
@@ -12836,6 +12669,7 @@
"resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz",
"integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/types": "^29.6.3",
"@types/graceful-fs": "^4.1.3",
@@ -12861,6 +12695,7 @@
"resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz",
"integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"jest-get-type": "^29.6.3",
"pretty-format": "^29.7.0"
@@ -12874,6 +12709,7 @@
"resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz",
"integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"chalk": "^4.0.0",
"jest-diff": "^29.7.0",
@@ -12886,9 +12722,8 @@
},
"node_modules/jest-message-util": {
"version": "29.7.0",
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz",
- "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/code-frame": "^7.12.13",
"@jest/types": "^29.6.3",
@@ -12906,9 +12741,8 @@
},
"node_modules/jest-mock": {
"version": "29.7.0",
- "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz",
- "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/types": "^29.6.3",
"@types/node": "*",
@@ -12923,6 +12757,7 @@
"resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz",
"integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
},
@@ -12940,6 +12775,7 @@
"resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz",
"integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
@@ -12949,6 +12785,7 @@
"resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz",
"integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"chalk": "^4.0.0",
"graceful-fs": "^4.2.9",
@@ -12969,6 +12806,7 @@
"resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz",
"integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"jest-regex-util": "^29.6.3",
"jest-snapshot": "^29.7.0"
@@ -12982,6 +12820,7 @@
"resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz",
"integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/console": "^29.7.0",
"@jest/environment": "^29.7.0",
@@ -13014,6 +12853,7 @@
"resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz",
"integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/environment": "^29.7.0",
"@jest/fake-timers": "^29.7.0",
@@ -13047,6 +12887,7 @@
"resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz",
"integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/core": "^7.11.6",
"@babel/generator": "^7.7.2",
@@ -13078,6 +12919,7 @@
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
"dev": true,
+ "license": "ISC",
"bin": {
"semver": "bin/semver.js"
},
@@ -13087,9 +12929,8 @@
},
"node_modules/jest-util": {
"version": "29.7.0",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz",
- "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/types": "^29.6.3",
"@types/node": "*",
@@ -13107,6 +12948,7 @@
"resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz",
"integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/types": "^29.6.3",
"camelcase": "^6.2.0",
@@ -13124,6 +12966,7 @@
"resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz",
"integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/test-result": "^29.7.0",
"@jest/types": "^29.6.3",
@@ -13143,6 +12986,7 @@
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz",
"integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/node": "*",
"jest-util": "^29.7.0",
@@ -13158,6 +13002,7 @@
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
"integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"has-flag": "^4.0.0"
},
@@ -13170,9 +13015,8 @@
},
"node_modules/joi": {
"version": "17.12.1",
- "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.1.tgz",
- "integrity": "sha512-vtxmq+Lsc5SlfqotnfVjlViWfOL9nt/avKNbKYizwf6gsCfq9NYY/ceYRMFD8XDdrjJ9abJyScWmhmIiy+XRtQ==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"@hapi/hoek": "^9.3.0",
"@hapi/topo": "^5.1.0",
@@ -13185,27 +13029,27 @@
"version": "0.4.4",
"resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.4.tgz",
"integrity": "sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==",
- "dev": true
+ "dev": true,
+ "license": "BSD-3-Clause"
},
"node_modules/js-library-detector": {
"version": "6.7.0",
"resolved": "https://registry.npmjs.org/js-library-detector/-/js-library-detector-6.7.0.tgz",
"integrity": "sha512-c80Qupofp43y4cJ7+8TTDN/AsDwLi5oOm/plBrWI+iQt485vKXCco+yVmOwEgdo9VOdsYTuV0UlTeetVPTriXA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
}
},
"node_modules/js-tokens": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+ "license": "MIT"
},
"node_modules/js-yaml": {
"version": "3.14.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
- "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"argparse": "^1.0.7",
"esprima": "^4.0.0"
@@ -13216,9 +13060,8 @@
},
"node_modules/js2xmlparser": {
"version": "4.0.2",
- "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz",
- "integrity": "sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"xmlcreate": "^2.0.4"
}
@@ -13227,13 +13070,15 @@
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
"integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/jsdoc": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.3.tgz",
"integrity": "sha512-Nu7Sf35kXJ1MWDZIMAuATRQTg1iIPdzh7tqJ6jjvaU/GfDf+qi5UV8zJR3Mo+/pYFvm8mzay4+6O5EWigaQBQw==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"@babel/parser": "^7.20.15",
"@jsdoc/salty": "^0.2.1",
@@ -13263,6 +13108,7 @@
"resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz",
"integrity": "sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12.0.0"
}
@@ -13271,13 +13117,13 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true
+ "dev": true,
+ "license": "Python-2.0"
},
"node_modules/jsdoc/node_modules/escape-string-regexp": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
- "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -13287,6 +13133,7 @@
"resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz",
"integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"uc.micro": "^2.0.0"
}
@@ -13296,6 +13143,7 @@
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz",
"integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"argparse": "^2.0.1",
"entities": "^4.4.0",
@@ -13312,13 +13160,13 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz",
"integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/jsdoc/node_modules/mkdirp": {
"version": "1.0.4",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
"dev": true,
+ "license": "MIT",
"bin": {
"mkdirp": "bin/cmd.js"
},
@@ -13330,13 +13178,13 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz",
"integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/jsdom": {
"version": "20.0.3",
- "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz",
- "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"abab": "^2.0.6",
"acorn": "^8.8.1",
@@ -13379,9 +13227,8 @@
},
"node_modules/jsesc": {
"version": "2.5.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
"dev": true,
+ "license": "MIT",
"bin": {
"jsesc": "bin/jsesc"
},
@@ -13391,51 +13238,49 @@
},
"node_modules/json-buffer": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
- "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/json-parse-even-better-errors": {
"version": "2.3.1",
- "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
- "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/json-schema": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
"integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==",
- "dev": true
+ "dev": true,
+ "license": "(AFL-2.1 OR BSD-3-Clause)"
},
"node_modules/json-schema-traverse": {
"version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/json-stable-stringify-without-jsonify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
"integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/json-stringify-safe": {
"version": "5.0.1",
- "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/json2php": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/json2php/-/json2php-0.0.7.tgz",
"integrity": "sha512-dnSoUiLAoVaMXxFsVi4CrPVYMKOuDBXTghXSmMINX44RZ8WM9cXlY7UqrQnlAcODCVO7FV3+8t/5nDKAjimLfg==",
- "dev": true
+ "dev": true,
+ "license": "BSD"
},
"node_modules/json5": {
"version": "2.2.3",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
- "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
"dev": true,
+ "license": "MIT",
"bin": {
"json5": "lib/cli.js"
},
@@ -13445,15 +13290,13 @@
},
"node_modules/jsonc-parser": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz",
- "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/jsonfile": {
"version": "6.1.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
- "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"universalify": "^2.0.0"
},
@@ -13469,6 +13312,7 @@
"engines": [
"node >=0.6.0"
],
+ "license": "MIT",
"dependencies": {
"assert-plus": "1.0.0",
"extsprintf": "1.3.0",
@@ -13481,6 +13325,7 @@
"resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz",
"integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"array-includes": "^3.1.6",
"array.prototype.flat": "^1.3.1",
@@ -13493,18 +13338,16 @@
},
"node_modules/keyv": {
"version": "4.5.4",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
- "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"json-buffer": "3.0.1"
}
},
"node_modules/kind-of": {
"version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-buffer": "^1.1.5"
},
@@ -13514,27 +13357,24 @@
},
"node_modules/klaw": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz",
- "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"graceful-fs": "^4.1.9"
}
},
"node_modules/kleur": {
"version": "3.0.3",
- "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
- "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/klona": {
"version": "2.0.6",
- "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz",
- "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 8"
}
@@ -13543,19 +13383,22 @@
"version": "0.26.0",
"resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.26.0.tgz",
"integrity": "sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/language-subtag-registry": {
"version": "0.3.23",
"resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz",
"integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==",
- "dev": true
+ "dev": true,
+ "license": "CC0-1.0"
},
"node_modules/language-tags": {
"version": "1.0.9",
"resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz",
"integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"language-subtag-registry": "^0.3.20"
},
@@ -13565,9 +13408,8 @@
},
"node_modules/launch-editor": {
"version": "2.6.1",
- "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz",
- "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"picocolors": "^1.0.0",
"shell-quote": "^1.8.1"
@@ -13575,18 +13417,16 @@
},
"node_modules/lazy-ass": {
"version": "1.6.0",
- "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz",
- "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "> 0.8"
}
},
"node_modules/lazy-cache": {
"version": "1.0.4",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
- "integrity": "sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -13596,6 +13436,7 @@
"resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
"integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
@@ -13605,6 +13446,7 @@
"resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
"integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"prelude-ls": "^1.2.1",
"type-check": "~0.4.0"
@@ -13618,6 +13460,7 @@
"resolved": "https://registry.npmjs.org/lighthouse/-/lighthouse-10.4.0.tgz",
"integrity": "sha512-XQWHEWkJ8YxSPsxttBJORy5+hQrzbvGkYfeP3fJjyYKioWkF2MXfFqNK4ZuV4jL8pBu7Z91qnQP6In0bq1yXww==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"@sentry/node": "^6.17.4",
"axe-core": "4.7.2",
@@ -13661,6 +13504,7 @@
"resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.4.2.tgz",
"integrity": "sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"debug": "^2.6.9",
"marky": "^1.2.2"
@@ -13671,6 +13515,7 @@
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ms": "2.0.0"
}
@@ -13679,19 +13524,22 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/lighthouse-stack-packs": {
"version": "1.11.0",
"resolved": "https://registry.npmjs.org/lighthouse-stack-packs/-/lighthouse-stack-packs-1.11.0.tgz",
"integrity": "sha512-sRr0z1S/I26VffRLq9KJsKtLk856YrJlNGmcJmbLX8dFn3MuzVPUbstuChEhqnSxZb8TZmVfthuXuwhG9vRoSw==",
- "dev": true
+ "dev": true,
+ "license": "Apache-2.0"
},
"node_modules/lighthouse/node_modules/axe-core": {
"version": "4.7.2",
"resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz",
"integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==",
"dev": true,
+ "license": "MPL-2.0",
"engines": {
"node": ">=4"
}
@@ -13701,6 +13549,7 @@
"resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz",
"integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"node-fetch": "^2.6.12"
}
@@ -13710,6 +13559,7 @@
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
"integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"whatwg-url": "^5.0.0"
},
@@ -13730,6 +13580,7 @@
"resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.9.0.tgz",
"integrity": "sha512-H9fYZQzMTRrkboEfPmf7m3CLDN6JvbxXA3qTtS+dFt27tR+CsFHzPsT6pzp6lYL6bJbAPaR0HaPO6uSi+F94Pg==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"@puppeteer/browsers": "1.4.6",
"chromium-bidi": "0.4.16",
@@ -13755,6 +13606,7 @@
"resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.16.tgz",
"integrity": "sha512-7ZbXdWERxRxSwo3txsBjjmc/NLxqb1Bk30mRb0BMS4YIaiV6zvKZqL/UAH+DdqcDYayDWk2n/y8klkBDODrPvA==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"mitt": "3.0.0"
},
@@ -13766,13 +13618,15 @@
"version": "0.0.1147663",
"resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1147663.tgz",
"integrity": "sha512-hyWmRrexdhbZ1tcJUGpO95ivbRhWXz++F4Ko+n21AY5PNln2ovoJw+8ZMNDTtip+CNFQfrtLVh/w4009dXO/eQ==",
- "dev": true
+ "dev": true,
+ "license": "BSD-3-Clause"
},
"node_modules/lighthouse/node_modules/puppeteer-core/node_modules/ws": {
"version": "8.13.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz",
"integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10.0.0"
},
@@ -13794,6 +13648,7 @@
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
"dev": true,
+ "license": "ISC",
"bin": {
"semver": "bin/semver"
}
@@ -13802,19 +13657,22 @@
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/lighthouse/node_modules/webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
- "dev": true
+ "dev": true,
+ "license": "BSD-2-Clause"
},
"node_modules/lighthouse/node_modules/whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
@@ -13825,6 +13683,7 @@
"resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz",
"integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8.3.0"
},
@@ -13846,6 +13705,7 @@
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz",
"integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=14"
},
@@ -13855,15 +13715,13 @@
},
"node_modules/lines-and-columns": {
"version": "1.2.4",
- "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
- "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/linkify-it": {
"version": "3.0.3",
- "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz",
- "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"uc.micro": "^1.0.1"
}
@@ -13873,6 +13731,7 @@
"resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.10.tgz",
"integrity": "sha512-5dY5t743e1byO19P9I4b3x8HJwalIznL5E1FWYnU6OWw33KxNBSLAc6Cy7F2PsFEO8FKnLwjwm5hx7aMF0jzZg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"chalk": "~5.3.0",
"commander": "~12.1.0",
@@ -13900,6 +13759,7 @@
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz",
"integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"environment": "^1.0.0"
},
@@ -13915,6 +13775,7 @@
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
"integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -13927,6 +13788,7 @@
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
"integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -13936,9 +13798,8 @@
},
"node_modules/lint-staged/node_modules/chalk": {
"version": "5.3.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz",
- "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^12.17.0 || ^14.13 || >=16.0.0"
},
@@ -13951,6 +13812,7 @@
"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz",
"integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"restore-cursor": "^5.0.0"
},
@@ -13966,6 +13828,7 @@
"resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz",
"integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"slice-ansi": "^5.0.0",
"string-width": "^7.0.0"
@@ -13982,15 +13845,15 @@
"resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz",
"integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
}
},
"node_modules/lint-staged/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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"path-key": "^3.1.0",
"shebang-command": "^2.0.0",
@@ -14005,6 +13868,7 @@
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
"integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ms": "^2.1.3"
},
@@ -14021,19 +13885,20 @@
"version": "10.4.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz",
"integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/lint-staged/node_modules/eventemitter3": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz",
"integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/lint-staged/node_modules/execa": {
"version": "8.0.1",
- "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz",
- "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"cross-spawn": "^7.0.3",
"get-stream": "^8.0.1",
@@ -14054,9 +13919,8 @@
},
"node_modules/lint-staged/node_modules/get-stream": {
"version": "8.0.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz",
- "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=16"
},
@@ -14066,9 +13930,8 @@
},
"node_modules/lint-staged/node_modules/human-signals": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz",
- "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": ">=16.17.0"
}
@@ -14078,6 +13941,7 @@
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz",
"integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -14087,9 +13951,8 @@
},
"node_modules/lint-staged/node_modules/is-stream": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz",
- "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
},
@@ -14102,6 +13965,7 @@
"resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.4.tgz",
"integrity": "sha512-opevsywziHd3zHCVQGAj8zu+Z3yHNkkoYhWIGnq54RrCVwLz0MozotJEDnKsIBLvkfLGN6BLOyAeRrYI0pKA4g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"cli-truncate": "^4.0.0",
"colorette": "^2.0.20",
@@ -14119,6 +13983,7 @@
"resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz",
"integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-escapes": "^7.0.0",
"cli-cursor": "^5.0.0",
@@ -14138,6 +14003,7 @@
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz",
"integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"get-east-asian-width": "^1.0.0"
},
@@ -14153,6 +14019,7 @@
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz",
"integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^6.2.1",
"is-fullwidth-code-point": "^5.0.0"
@@ -14166,9 +14033,8 @@
},
"node_modules/lint-staged/node_modules/mimic-fn": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz",
- "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -14180,13 +14046,13 @@
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/lint-staged/node_modules/npm-run-path": {
"version": "5.2.0",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz",
- "integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"path-key": "^4.0.0"
},
@@ -14199,9 +14065,8 @@
},
"node_modules/lint-staged/node_modules/npm-run-path/node_modules/path-key": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz",
- "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -14211,9 +14076,8 @@
},
"node_modules/lint-staged/node_modules/onetime": {
"version": "6.0.0",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz",
- "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"mimic-fn": "^4.0.0"
},
@@ -14229,6 +14093,7 @@
"resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz",
"integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"onetime": "^7.0.0",
"signal-exit": "^4.1.0"
@@ -14245,6 +14110,7 @@
"resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz",
"integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"mimic-function": "^5.0.0"
},
@@ -14257,9 +14123,8 @@
},
"node_modules/lint-staged/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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"shebang-regex": "^3.0.0"
},
@@ -14269,18 +14134,16 @@
},
"node_modules/lint-staged/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==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/lint-staged/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==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": ">=14"
},
@@ -14293,6 +14156,7 @@
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz",
"integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^6.0.0",
"is-fullwidth-code-point": "^4.0.0"
@@ -14309,6 +14173,7 @@
"resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
"integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"emoji-regex": "^10.3.0",
"get-east-asian-width": "^1.0.0",
@@ -14326,6 +14191,7 @@
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
"integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-regex": "^6.0.1"
},
@@ -14338,9 +14204,8 @@
},
"node_modules/lint-staged/node_modules/strip-final-newline": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz",
- "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -14350,9 +14215,8 @@
},
"node_modules/lint-staged/node_modules/which": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"isexe": "^2.0.0"
},
@@ -14368,6 +14232,7 @@
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz",
"integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^6.2.1",
"string-width": "^7.0.0",
@@ -14380,11 +14245,23 @@
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
}
},
+ "node_modules/lint-staged/node_modules/yaml": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz",
+ "integrity": "sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "yaml": "bin.mjs"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
"node_modules/listr2": {
"version": "3.14.0",
- "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz",
- "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"cli-truncate": "^2.1.0",
"colorette": "^2.0.16",
@@ -14409,9 +14286,8 @@
},
"node_modules/listr2/node_modules/p-map": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
- "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"aggregate-error": "^3.0.0"
},
@@ -14424,27 +14300,24 @@
},
"node_modules/listr2/node_modules/rxjs": {
"version": "7.8.1",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
- "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"tslib": "^2.1.0"
}
},
"node_modules/loader-runner": {
"version": "4.3.0",
- "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz",
- "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.11.5"
}
},
"node_modules/loader-utils": {
"version": "2.0.4",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
- "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
@@ -14456,9 +14329,8 @@
},
"node_modules/locate-path": {
"version": "6.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
- "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-locate": "^5.0.0"
},
@@ -14471,75 +14343,67 @@
},
"node_modules/lodash": {
"version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/lodash.debounce": {
"version": "4.0.8",
- "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
- "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/lodash.isempty": {
"version": "4.4.0",
- "resolved": "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz",
- "integrity": "sha512-oKMuF3xEeqDltrGMfDxAPGIVMSSRv8tbRSODbrs4KGsRRLEhrW8N8Rd4DRgB2+621hY8A8XwwrTVhXWpxFvMzg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/lodash.isfunction": {
"version": "3.0.9",
- "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz",
- "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/lodash.isobject": {
"version": "3.0.2",
- "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz",
- "integrity": "sha512-3/Qptq2vr7WeJbB4KHUSKlq8Pl7ASXi3UG6CMbBm8WRtXi8+GHm7mKaU3urfpSEzWe2wCIChs6/sdocUsTKJiA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/lodash.isstring": {
"version": "4.0.1",
- "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
- "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/lodash.memoize": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
- "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/lodash.merge": {
"version": "4.6.2",
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/lodash.once": {
"version": "4.1.1",
- "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
- "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/lodash.truncate": {
"version": "4.4.2",
"resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
"integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/lodash.uniq": {
"version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
- "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/log-symbols": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
- "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"chalk": "^4.1.0",
"is-unicode-supported": "^0.1.0"
@@ -14553,9 +14417,8 @@
},
"node_modules/log-update": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz",
- "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-escapes": "^4.3.0",
"cli-cursor": "^3.1.0",
@@ -14571,9 +14434,8 @@
},
"node_modules/log-update/node_modules/slice-ansi": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
- "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.0.0",
"astral-regex": "^2.0.0",
@@ -14588,9 +14450,8 @@
},
"node_modules/log-update/node_modules/wrap-ansi": {
"version": "6.2.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
- "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
@@ -14604,12 +14465,12 @@
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/lookup-closest-locale/-/lookup-closest-locale-6.2.0.tgz",
"integrity": "sha512-/c2kL+Vnp1jnV6K6RpDTHK3dgg0Tu2VVp+elEiJpjfS1UyY7AjOYHohRug6wT0OpoX2qFgNORndE9RqesfVxWQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/loose-envify": {
"version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
- "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "license": "MIT",
"dependencies": {
"js-tokens": "^3.0.0 || ^4.0.0"
},
@@ -14619,17 +14480,15 @@
},
"node_modules/lower-case": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz",
- "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==",
+ "license": "MIT",
"dependencies": {
"tslib": "^2.0.3"
}
},
"node_modules/lowercase-keys": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
- "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -14638,22 +14497,21 @@
"version": "0.3.3",
"resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz",
"integrity": "sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/lru-cache": {
"version": "5.1.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
- "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"yallist": "^3.0.2"
}
},
"node_modules/make-dir": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"semver": "^6.0.0"
},
@@ -14669,6 +14527,7 @@
"resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz",
"integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"tmpl": "1.0.5"
}
@@ -14678,6 +14537,7 @@
"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz",
"integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
},
@@ -14687,15 +14547,13 @@
},
"node_modules/map-values": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/map-values/-/map-values-1.0.1.tgz",
- "integrity": "sha512-BbShUnr5OartXJe1GeccAWtfro11hhgNJg6G9/UtWKjVGvV5U4C09cg5nk8JUevhXODaXY+hQ3xxMUKSs62ONQ==",
- "dev": true
+ "dev": true,
+ "license": "Public Domain"
},
"node_modules/markdown-it": {
"version": "12.3.2",
- "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz",
- "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"argparse": "^2.0.1",
"entities": "~2.1.0",
@@ -14709,9 +14567,8 @@
},
"node_modules/markdown-it-anchor": {
"version": "8.6.7",
- "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz",
- "integrity": "sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==",
"dev": true,
+ "license": "Unlicense",
"peerDependencies": {
"@types/markdown-it": "*",
"markdown-it": "*"
@@ -14719,24 +14576,21 @@
},
"node_modules/markdown-it/node_modules/argparse": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true
+ "dev": true,
+ "license": "Python-2.0"
},
"node_modules/markdown-it/node_modules/entities": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz",
- "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==",
"dev": true,
+ "license": "BSD-2-Clause",
"funding": {
"url": "https://github.com/fb55/entities?sponsor=1"
}
},
"node_modules/markdownlint": {
"version": "0.25.1",
- "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.25.1.tgz",
- "integrity": "sha512-AG7UkLzNa1fxiOv5B+owPsPhtM4D6DoODhsJgiaNg1xowXovrYgOnLqAgOOFQpWOlHFVQUzjMY5ypNNTeov92g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"markdown-it": "12.3.2"
},
@@ -14746,9 +14600,8 @@
},
"node_modules/markdownlint-cli": {
"version": "0.31.1",
- "resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.31.1.tgz",
- "integrity": "sha512-keIOMwQn+Ch7MoBwA+TdkyVMuxAeZFEGmIIlvwgV0Z1TGS5MxPnRr29XCLhkNzCHU+uNKGjU+VEjLX+Z9kli6g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"commander": "~9.0.0",
"get-stdin": "~9.0.0",
@@ -14770,15 +14623,13 @@
},
"node_modules/markdownlint-cli/node_modules/argparse": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true
+ "dev": true,
+ "license": "Python-2.0"
},
"node_modules/markdownlint-cli/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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -14786,27 +14637,24 @@
},
"node_modules/markdownlint-cli/node_modules/commander": {
"version": "9.0.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-9.0.0.tgz",
- "integrity": "sha512-JJfP2saEKbQqvW+FI93OYUB4ByV5cizMpFMiiJI8xDbBvQvSkIk0VvQdn1CZ8mqAO8Loq2h0gYTYtDFUZUeERw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^12.20.0 || >=14"
}
},
"node_modules/markdownlint-cli/node_modules/ignore": {
"version": "5.2.4",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
- "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 4"
}
},
"node_modules/markdownlint-cli/node_modules/js-yaml": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"argparse": "^2.0.1"
},
@@ -14816,9 +14664,8 @@
},
"node_modules/markdownlint-cli/node_modules/minimatch": {
"version": "3.0.8",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz",
- "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -14828,15 +14675,13 @@
},
"node_modules/markdownlint-rule-helpers": {
"version": "0.16.0",
- "resolved": "https://registry.npmjs.org/markdownlint-rule-helpers/-/markdownlint-rule-helpers-0.16.0.tgz",
- "integrity": "sha512-oEacRUVeTJ5D5hW1UYd2qExYI0oELdYK72k1TKGvIeYJIbqQWAz476NAc7LNixSySUhcNl++d02DvX0ccDk9/w==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/marked": {
"version": "4.3.0",
- "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz",
- "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==",
"dev": true,
+ "license": "MIT",
"bin": {
"marked": "bin/marked.js"
},
@@ -14848,13 +14693,15 @@
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/marky/-/marky-1.2.5.tgz",
"integrity": "sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==",
- "dev": true
+ "dev": true,
+ "license": "Apache-2.0"
},
"node_modules/mathml-tag-names": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz",
"integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==",
"dev": true,
+ "license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
@@ -14862,30 +14709,26 @@
},
"node_modules/mdn-data": {
"version": "2.0.30",
- "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz",
- "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==",
- "dev": true
+ "dev": true,
+ "license": "CC0-1.0"
},
"node_modules/mdurl": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
- "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/media-typer": {
"version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
- "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/memfs": {
"version": "3.5.3",
- "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz",
- "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==",
"dev": true,
+ "license": "Unlicense",
"dependencies": {
"fs-monkey": "^1.0.4"
},
@@ -14897,13 +14740,15 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/memize/-/memize-2.1.0.tgz",
"integrity": "sha512-yywVJy8ctVlN5lNPxsep5urnZ6TTclwPEyigM9M3Bi8vseJBOfqNrGWN/r8NzuIt3PovM323W04blJfGQfQSVg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/meow": {
"version": "9.0.0",
"resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz",
"integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/minimist": "^1.2.0",
"camelcase-keys": "^6.2.2",
@@ -14930,6 +14775,7 @@
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz",
"integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==",
"dev": true,
+ "license": "(MIT OR CC0-1.0)",
"engines": {
"node": ">=10"
},
@@ -14942,15 +14788,15 @@
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
"integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": ">=10"
}
},
"node_modules/merge-deep": {
"version": "3.0.3",
- "resolved": "https://registry.npmjs.org/merge-deep/-/merge-deep-3.0.3.tgz",
- "integrity": "sha512-qtmzAS6t6grwEkNrunqTBdn0qKwFgNWvlxUbAV8es9M7Ot1EbyApytCnvE0jALPa46ZpKDUo527kKiaWplmlFA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"arr-union": "^3.1.0",
"clone-deep": "^0.2.4",
@@ -14961,25 +14807,19 @@
}
},
"node_modules/merge-descriptors": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz",
- "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==",
+ "version": "1.0.1",
"dev": true,
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
+ "license": "MIT"
},
"node_modules/merge-stream": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
- "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/merge2": {
"version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 8"
}
@@ -14988,13 +14828,13 @@
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/metaviewport-parser/-/metaviewport-parser-0.3.0.tgz",
"integrity": "sha512-EoYJ8xfjQ6kpe9VbVHvZTZHiOl4HL1Z18CrZ+qahvLXT7ZO4YTC2JMyt5FaUp9JJp6J4Ybb/z7IsCXZt86/QkQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/methods": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
- "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
@@ -15004,6 +14844,7 @@
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"braces": "^3.0.3",
"picomatch": "^2.3.1"
@@ -15017,6 +14858,7 @@
"resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz",
"integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==",
"dev": true,
+ "license": "MIT",
"bin": {
"mime": "cli.js"
},
@@ -15026,18 +14868,16 @@
},
"node_modules/mime-db": {
"version": "1.52.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/mime-types": {
"version": "2.1.35",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"mime-db": "1.52.0"
},
@@ -15047,9 +14887,8 @@
},
"node_modules/mimic-fn": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
- "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
@@ -15059,6 +14898,7 @@
"resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz",
"integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -15068,9 +14908,8 @@
},
"node_modules/mimic-response": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
- "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
@@ -15080,15 +14919,15 @@
"resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
"integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
},
"node_modules/mini-css-extract-plugin": {
"version": "2.8.0",
- "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.8.0.tgz",
- "integrity": "sha512-CxmUYPFcTgET1zImteG/LZOy/4T5rTojesQXkSNBiquhydn78tfbCE9sjIjnJ/UcjNjOC1bphTCCW5rrS7cXAg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"schema-utils": "^4.0.0",
"tapable": "^2.2.1"
@@ -15106,9 +14945,8 @@
},
"node_modules/mini-css-extract-plugin/node_modules/ajv": {
"version": "8.12.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
- "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.1",
"json-schema-traverse": "^1.0.0",
@@ -15122,9 +14960,8 @@
},
"node_modules/mini-css-extract-plugin/node_modules/ajv-keywords": {
"version": "5.1.0",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
- "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.3"
},
@@ -15134,15 +14971,13 @@
},
"node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/mini-css-extract-plugin/node_modules/schema-utils": {
"version": "4.2.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz",
- "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/json-schema": "^7.0.9",
"ajv": "^8.9.0",
@@ -15159,15 +14994,15 @@
},
"node_modules/minimalistic-assert": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
- "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/minimatch": {
"version": "9.0.3",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
"integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^2.0.1"
},
@@ -15180,9 +15015,8 @@
},
"node_modules/minimist": {
"version": "1.2.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
- "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
"dev": true,
+ "license": "MIT",
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -15192,6 +15026,7 @@
"resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz",
"integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"arrify": "^1.0.1",
"is-plain-obj": "^1.1.0",
@@ -15206,6 +15041,7 @@
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
"integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -15215,6 +15051,7 @@
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
"integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -15223,13 +15060,13 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.0.tgz",
"integrity": "sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/mixin-object": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz",
- "integrity": "sha512-ALGF1Jt9ouehcaXaHhn6t1yGWRqGaHkPFndtFVHfZXOvkIZ/yoGaSi0AHVTafb3ZBGg4dr/bDwnaEKqCXzchMA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"for-in": "^0.1.3",
"is-extendable": "^0.1.1"
@@ -15240,18 +15077,16 @@
},
"node_modules/mixin-object/node_modules/for-in": {
"version": "0.1.8",
- "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz",
- "integrity": "sha512-F0to7vbBSHP8E3l6dCjxNOLuSFAACIxFy3UehTUlG7svlXi37HHsDkyVcHo0Pq8QwrE+pXvWSVX3ZT1T9wAZ9g==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"minimist": "^1.2.6"
},
@@ -15261,15 +15096,13 @@
},
"node_modules/mkdirp-classic": {
"version": "0.5.3",
- "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
- "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/mocha": {
"version": "10.3.0",
- "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.3.0.tgz",
- "integrity": "sha512-uF2XJs+7xSLsrmIvn37i/wnc91nw7XjOQB8ccyx5aEgdnohr7n+rEiZP23WkCYHjilR6+EboEnbq/ZQDz4LSbg==",
"dev": true,
+ "license": "MIT",
"peer": true,
"dependencies": {
"ansi-colors": "4.1.1",
@@ -15303,9 +15136,8 @@
},
"node_modules/mocha/node_modules/ansi-colors": {
"version": "4.1.1",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
- "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
"dev": true,
+ "license": "MIT",
"peer": true,
"engines": {
"node": ">=6"
@@ -15313,16 +15145,14 @@
},
"node_modules/mocha/node_modules/argparse": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
"dev": true,
+ "license": "Python-2.0",
"peer": true
},
"node_modules/mocha/node_modules/cliui": {
"version": "7.0.4",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
- "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
"dev": true,
+ "license": "ISC",
"peer": true,
"dependencies": {
"string-width": "^4.2.0",
@@ -15332,9 +15162,8 @@
},
"node_modules/mocha/node_modules/glob": {
"version": "8.1.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
- "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
"dev": true,
+ "license": "ISC",
"peer": true,
"dependencies": {
"fs.realpath": "^1.0.0",
@@ -15352,9 +15181,8 @@
},
"node_modules/mocha/node_modules/js-yaml": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
"dev": true,
+ "license": "MIT",
"peer": true,
"dependencies": {
"argparse": "^2.0.1"
@@ -15365,9 +15193,8 @@
},
"node_modules/mocha/node_modules/minimatch": {
"version": "5.0.1",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
- "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
"dev": true,
+ "license": "ISC",
"peer": true,
"dependencies": {
"brace-expansion": "^2.0.1"
@@ -15378,16 +15205,14 @@
},
"node_modules/mocha/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==",
"dev": true,
+ "license": "MIT",
"peer": true
},
"node_modules/mocha/node_modules/serialize-javascript": {
"version": "6.0.0",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
- "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
"dev": true,
+ "license": "BSD-3-Clause",
"peer": true,
"dependencies": {
"randombytes": "^2.1.0"
@@ -15395,9 +15220,8 @@
},
"node_modules/mocha/node_modules/supports-color": {
"version": "8.1.1",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
- "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
"dev": true,
+ "license": "MIT",
"peer": true,
"dependencies": {
"has-flag": "^4.0.0"
@@ -15411,9 +15235,8 @@
},
"node_modules/mocha/node_modules/yargs": {
"version": "16.2.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
- "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
"dev": true,
+ "license": "MIT",
"peer": true,
"dependencies": {
"cliui": "^7.0.2",
@@ -15430,9 +15253,8 @@
},
"node_modules/mocha/node_modules/yargs-parser": {
"version": "20.2.4",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
- "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==",
"dev": true,
+ "license": "ISC",
"peer": true,
"engines": {
"node": ">=10"
@@ -15440,9 +15262,8 @@
},
"node_modules/mochawesome": {
"version": "7.1.3",
- "resolved": "https://registry.npmjs.org/mochawesome/-/mochawesome-7.1.3.tgz",
- "integrity": "sha512-Vkb3jR5GZ1cXohMQQ73H3cZz7RoxGjjUo0G5hu0jLaW+0FdUxUwg3Cj29bqQdh0rFcnyV06pWmqmi5eBPnEuNQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"chalk": "^4.1.2",
"diff": "^5.0.0",
@@ -15461,10 +15282,8 @@
},
"node_modules/mochawesome-json-to-md": {
"version": "0.7.2",
- "resolved": "https://registry.npmjs.org/mochawesome-json-to-md/-/mochawesome-json-to-md-0.7.2.tgz",
- "integrity": "sha512-dxh+o73bhC6nEph6fNky9wy35R+2oK3ueXwAlJ/COAanlFgu8GuvGzQ00VNO4PPYhYGDsO4vbt4QTcMA3lv25g==",
- "deprecated": "🙌 Thanks for using it. We recommend upgrading to the newer version, 1.x.x. Check out https://www.npmjs.com/package/mochawesome-json-to-md for details.",
"dev": true,
+ "license": "MIT",
"dependencies": {
"yargs": "^17.0.1"
},
@@ -15474,9 +15293,8 @@
},
"node_modules/mochawesome-merge": {
"version": "4.3.0",
- "resolved": "https://registry.npmjs.org/mochawesome-merge/-/mochawesome-merge-4.3.0.tgz",
- "integrity": "sha512-1roR6g+VUlfdaRmL8dCiVpKiaUhbPVm1ZQYUM6zHX46mWk+tpsKVZR6ba98k2zc8nlPvYd71yn5gyH970pKBSw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"fs-extra": "^7.0.1",
"glob": "^7.1.6",
@@ -15491,18 +15309,16 @@
},
"node_modules/mochawesome-merge/node_modules/camelcase": {
"version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/mochawesome-merge/node_modules/cliui": {
"version": "6.0.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
- "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"string-width": "^4.2.0",
"strip-ansi": "^6.0.0",
@@ -15511,9 +15327,8 @@
},
"node_modules/mochawesome-merge/node_modules/find-up": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"locate-path": "^5.0.0",
"path-exists": "^4.0.0"
@@ -15524,9 +15339,8 @@
},
"node_modules/mochawesome-merge/node_modules/fs-extra": {
"version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
- "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"graceful-fs": "^4.1.2",
"jsonfile": "^4.0.0",
@@ -15538,18 +15352,16 @@
},
"node_modules/mochawesome-merge/node_modules/jsonfile": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
"dev": true,
+ "license": "MIT",
"optionalDependencies": {
"graceful-fs": "^4.1.6"
}
},
"node_modules/mochawesome-merge/node_modules/locate-path": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-locate": "^4.1.0"
},
@@ -15559,9 +15371,8 @@
},
"node_modules/mochawesome-merge/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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-try": "^2.0.0"
},
@@ -15574,9 +15385,8 @@
},
"node_modules/mochawesome-merge/node_modules/p-locate": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-limit": "^2.2.0"
},
@@ -15586,18 +15396,16 @@
},
"node_modules/mochawesome-merge/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==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 4.0.0"
}
},
"node_modules/mochawesome-merge/node_modules/wrap-ansi": {
"version": "6.2.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
- "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
@@ -15609,15 +15417,13 @@
},
"node_modules/mochawesome-merge/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==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/mochawesome-merge/node_modules/yargs": {
"version": "15.4.1",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
- "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"cliui": "^6.0.0",
"decamelize": "^1.2.0",
@@ -15637,9 +15443,8 @@
},
"node_modules/mochawesome-merge/node_modules/yargs-parser": {
"version": "18.1.3",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
- "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"camelcase": "^5.0.0",
"decamelize": "^1.2.0"
@@ -15650,9 +15455,8 @@
},
"node_modules/mochawesome-report-generator": {
"version": "6.2.0",
- "resolved": "https://registry.npmjs.org/mochawesome-report-generator/-/mochawesome-report-generator-6.2.0.tgz",
- "integrity": "sha512-Ghw8JhQFizF0Vjbtp9B0i//+BOkV5OWcQCPpbO0NGOoxV33o+gKDYU0Pr2pGxkIHnqZ+g5mYiXF7GMNgAcDpSg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"chalk": "^4.1.2",
"dateformat": "^4.5.1",
@@ -15673,9 +15477,8 @@
},
"node_modules/mochawesome-report-generator/node_modules/fs-extra": {
"version": "10.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
- "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"graceful-fs": "^4.2.0",
"jsonfile": "^6.0.1",
@@ -15687,24 +15490,21 @@
},
"node_modules/mrmime": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz",
- "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
}
},
"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==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/multicast-dns": {
"version": "7.2.5",
- "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz",
- "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"dns-packet": "^5.2.2",
"thunky": "^1.0.2"
@@ -15715,14 +15515,11 @@
},
"node_modules/mute-stream": {
"version": "0.0.8",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
- "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/nanoid": {
"version": "3.3.7",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
- "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
"dev": true,
"funding": [
{
@@ -15730,6 +15527,7 @@
"url": "https://github.com/sponsors/ai"
}
],
+ "license": "MIT",
"bin": {
"nanoid": "bin/nanoid.cjs"
},
@@ -15741,36 +15539,35 @@
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
"integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
- "dev": true
+ "dev": true,
+ "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==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/neo-async": {
"version": "2.6.2",
- "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
- "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/netmask": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz",
"integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.4.0"
}
},
"node_modules/no-case": {
"version": "3.0.4",
- "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz",
- "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==",
+ "license": "MIT",
"dependencies": {
"lower-case": "^2.0.2",
"tslib": "^2.0.3"
@@ -15778,9 +15575,8 @@
},
"node_modules/node-fetch": {
"version": "2.6.7",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
- "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"whatwg-url": "^5.0.0"
},
@@ -15798,21 +15594,18 @@
},
"node_modules/node-fetch/node_modules/tr46": {
"version": "0.0.3",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/node-fetch/node_modules/webidl-conversions": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
- "dev": true
+ "dev": true,
+ "license": "BSD-2-Clause"
},
"node_modules/node-fetch/node_modules/whatwg-url": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
@@ -15820,9 +15613,8 @@
},
"node_modules/node-forge": {
"version": "1.3.1",
- "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
- "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==",
"dev": true,
+ "license": "(BSD-3-Clause OR GPL-2.0)",
"engines": {
"node": ">= 6.13.0"
}
@@ -15831,19 +15623,20 @@
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
"integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/node-releases": {
"version": "2.0.18",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz",
"integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/node-wp-i18n": {
"version": "1.2.7",
- "resolved": "https://registry.npmjs.org/node-wp-i18n/-/node-wp-i18n-1.2.7.tgz",
- "integrity": "sha512-4X+890+Irj8sY+6WKkFx+4wk/GGu9mGLDY1PVPF9AWF1zTKWClLA83QikcQKX55rjjKpN1jSZEQoEANNVSSBYw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"bluebird": "^3.4.1",
"gettext-parser": "^3.1.0",
@@ -15859,9 +15652,8 @@
},
"node_modules/node-wp-i18n/node_modules/gettext-parser": {
"version": "3.1.1",
- "resolved": "https://registry.npmjs.org/gettext-parser/-/gettext-parser-3.1.1.tgz",
- "integrity": "sha512-vNhWcqXEtZPs5Ft1ReA34g7ByWotpcOIeJvXVy2jF3/G2U9v6W0wG4Z4hXzcU8R//jArqkgHcVCGgGqa4vxVlQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"encoding": "^0.1.12",
"readable-stream": "^3.2.0",
@@ -15870,9 +15662,8 @@
},
"node_modules/node-wp-i18n/node_modules/mkdirp": {
"version": "1.0.4",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
"dev": true,
+ "license": "MIT",
"bin": {
"mkdirp": "bin/cmd.js"
},
@@ -15882,9 +15673,8 @@
},
"node_modules/node-wp-i18n/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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
@@ -15899,6 +15689,7 @@
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz",
"integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"hosted-git-info": "^4.0.1",
"is-core-module": "^2.5.0",
@@ -15914,6 +15705,7 @@
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
"dev": true,
+ "license": "ISC",
"bin": {
"semver": "bin/semver.js"
},
@@ -15923,9 +15715,8 @@
},
"node_modules/normalize-path": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -15935,15 +15726,15 @@
"resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
"integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/normalize-url": {
"version": "6.1.0",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
- "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -15953,24 +15744,23 @@
},
"node_modules/npm-bundled": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz",
- "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"npm-normalize-package-bin": "^1.0.1"
}
},
"node_modules/npm-normalize-package-bin": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz",
- "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/npm-package-json-lint": {
"version": "6.4.0",
"resolved": "https://registry.npmjs.org/npm-package-json-lint/-/npm-package-json-lint-6.4.0.tgz",
"integrity": "sha512-cuXAJJB1Rdqz0UO6w524matlBqDBjcNt7Ru+RDIu4y6RI1gVqiWBnylrK8sPRk81gGBA0X8hJbDXolVOoTc+sA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ajv": "^6.12.6",
"ajv-errors": "^1.0.1",
@@ -16002,13 +15792,15 @@
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz",
"integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/npm-package-json-lint/node_modules/semver": {
"version": "7.6.3",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
"dev": true,
+ "license": "ISC",
"bin": {
"semver": "bin/semver.js"
},
@@ -16021,6 +15813,7 @@
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz",
"integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==",
"dev": true,
+ "license": "(MIT OR CC0-1.0)",
"engines": {
"node": ">=14.16"
},
@@ -16030,9 +15823,8 @@
},
"node_modules/npm-packlist": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-3.0.0.tgz",
- "integrity": "sha512-L/cbzmutAwII5glUcf2DBRNY/d0TFd4e/FnaZigJV6JD85RHZXJFGwCndjMWiiViiWSsWt3tiOLpI3ByTnIdFQ==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"glob": "^7.1.6",
"ignore-walk": "^4.0.1",
@@ -16048,9 +15840,8 @@
},
"node_modules/npm-run-path": {
"version": "4.0.1",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
- "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"path-key": "^3.0.0"
},
@@ -16060,9 +15851,8 @@
},
"node_modules/nth-check": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
- "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"boolbase": "^1.0.0"
},
@@ -16072,30 +15862,26 @@
},
"node_modules/nwsapi": {
"version": "2.2.7",
- "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz",
- "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"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==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/object-filter": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/object-filter/-/object-filter-1.0.2.tgz",
- "integrity": "sha512-NahvP2vZcy1ZiiYah30CEPw0FpDcSkSePJBMpzl5EQgCmISijiGuJm3SPYp7U+Lf2TljyaIw3E5EgkEx/TNEVA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/object-inspect": {
"version": "1.13.1",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",
- "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==",
"dev": true,
+ "license": "MIT",
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -16105,6 +15891,7 @@
"resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz",
"integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1"
@@ -16121,6 +15908,7 @@
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
}
@@ -16130,6 +15918,7 @@
"resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz",
"integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.5",
"define-properties": "^1.2.1",
@@ -16148,6 +15937,7 @@
"resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz",
"integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1",
@@ -16162,6 +15952,7 @@
"resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz",
"integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1",
@@ -16180,6 +15971,7 @@
"resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz",
"integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1",
@@ -16194,6 +15986,7 @@
"resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz",
"integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1",
@@ -16208,15 +16001,13 @@
},
"node_modules/obuf": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
- "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/on-finished": {
"version": "2.4.1",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
- "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ee-first": "1.1.1"
},
@@ -16226,27 +16017,24 @@
},
"node_modules/on-headers": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
- "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.8"
}
},
"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==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"wrappy": "1"
}
},
"node_modules/onetime": {
"version": "5.1.2",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
- "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"mimic-fn": "^2.1.0"
},
@@ -16259,9 +16047,8 @@
},
"node_modules/open": {
"version": "8.4.2",
- "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz",
- "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"define-lazy-prop": "^2.0.0",
"is-docker": "^2.1.1",
@@ -16276,9 +16063,8 @@
},
"node_modules/opener": {
"version": "1.5.2",
- "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz",
- "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==",
"dev": true,
+ "license": "(WTFPL OR MIT)",
"bin": {
"opener": "bin/opener-bin.js"
}
@@ -16288,6 +16074,7 @@
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
"integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"deep-is": "^0.1.3",
"fast-levenshtein": "^2.0.6",
@@ -16302,9 +16089,8 @@
},
"node_modules/ora": {
"version": "4.1.1",
- "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz",
- "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"chalk": "^3.0.0",
"cli-cursor": "^3.1.0",
@@ -16324,9 +16110,8 @@
},
"node_modules/ora/node_modules/chalk": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -16337,42 +16122,37 @@
},
"node_modules/ora/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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"color-name": "1.1.3"
}
},
"node_modules/ora/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==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/ora/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==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.8.0"
}
},
"node_modules/ora/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==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
},
"node_modules/ora/node_modules/log-symbols": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz",
- "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"chalk": "^2.4.2"
},
@@ -16382,9 +16162,8 @@
},
"node_modules/ora/node_modules/log-symbols/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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"color-convert": "^1.9.0"
},
@@ -16394,9 +16173,8 @@
},
"node_modules/ora/node_modules/log-symbols/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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
@@ -16408,9 +16186,8 @@
},
"node_modules/ora/node_modules/log-symbols/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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"has-flag": "^3.0.0"
},
@@ -16420,42 +16197,37 @@
},
"node_modules/os-homedir": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
- "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/os-tmpdir": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
- "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/ospath": {
"version": "1.2.2",
- "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz",
- "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/p-cancelable": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz",
- "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/p-limit": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"yocto-queue": "^0.1.0"
},
@@ -16468,9 +16240,8 @@
},
"node_modules/p-locate": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
- "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-limit": "^3.0.2"
},
@@ -16483,18 +16254,16 @@
},
"node_modules/p-map": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz",
- "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/p-retry": {
"version": "4.6.2",
- "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz",
- "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/retry": "0.12.0",
"retry": "^0.13.1"
@@ -16505,9 +16274,8 @@
},
"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==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
@@ -16517,6 +16285,7 @@
"resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.2.tgz",
"integrity": "sha512-BFi3vZnO9X5Qt6NRz7ZOaPja3ic0PhlsmCRYLOpN11+mWBCR6XJDqW5RF3j8jm4WGGQZtBA+bTfxYzeKW73eHg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@tootallnate/quickjs-emscripten": "^0.23.0",
"agent-base": "^7.0.2",
@@ -16536,6 +16305,7 @@
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
"integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"debug": "^4.3.4"
},
@@ -16548,6 +16318,7 @@
"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
"integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"agent-base": "^7.1.0",
"debug": "^4.3.4"
@@ -16561,6 +16332,7 @@
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz",
"integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"agent-base": "^7.0.2",
"debug": "4"
@@ -16574,6 +16346,7 @@
"resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz",
"integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"degenerator": "^5.0.0",
"netmask": "^2.0.2"
@@ -16586,6 +16359,7 @@
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz",
"integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==",
+ "license": "MIT",
"dependencies": {
"dot-case": "^3.0.4",
"tslib": "^2.0.3"
@@ -16593,9 +16367,8 @@
},
"node_modules/parent-module": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
- "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"callsites": "^3.0.0"
},
@@ -16611,9 +16384,8 @@
},
"node_modules/parse-json": {
"version": "5.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
- "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/code-frame": "^7.0.0",
"error-ex": "^1.3.1",
@@ -16629,18 +16401,16 @@
},
"node_modules/parse-passwd": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
- "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/parse5": {
"version": "7.1.2",
- "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz",
- "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"entities": "^4.4.0"
},
@@ -16650,9 +16420,8 @@
},
"node_modules/parseurl": {
"version": "1.3.3",
- "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
- "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.8"
}
@@ -16661,6 +16430,7 @@
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz",
"integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==",
+ "license": "MIT",
"dependencies": {
"no-case": "^3.0.4",
"tslib": "^2.0.3"
@@ -16670,6 +16440,7 @@
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/path-case/-/path-case-3.0.4.tgz",
"integrity": "sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==",
+ "license": "MIT",
"dependencies": {
"dot-case": "^3.0.4",
"tslib": "^2.0.3"
@@ -16677,81 +16448,74 @@
},
"node_modules/path-exists": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"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==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/path-is-inside": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
- "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==",
- "dev": true
+ "dev": true,
+ "license": "(WTFPL OR MIT)"
},
"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==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/path-parse": {
"version": "1.0.7",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/path-to-regexp": {
- "version": "0.1.10",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz",
- "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==",
- "dev": true
+ "version": "0.1.7",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/path-type": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/pend": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
- "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/performance-now": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
"integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/picocolors": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz",
"integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/picomatch": {
"version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8.6"
},
@@ -16761,9 +16525,8 @@
},
"node_modules/pidtree": {
"version": "0.6.0",
- "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz",
- "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==",
"dev": true,
+ "license": "MIT",
"bin": {
"pidtree": "bin/pidtree.js"
},
@@ -16773,27 +16536,24 @@
},
"node_modules/pify": {
"version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"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==",
"dev": true,
+ "license": "MIT",
"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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"pinkie": "^2.0.0"
},
@@ -16806,15 +16566,15 @@
"resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz",
"integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 6"
}
},
"node_modules/pkg-dir": {
"version": "4.2.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"find-up": "^4.0.0"
},
@@ -16824,9 +16584,8 @@
},
"node_modules/pkg-dir/node_modules/find-up": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"locate-path": "^5.0.0",
"path-exists": "^4.0.0"
@@ -16837,9 +16596,8 @@
},
"node_modules/pkg-dir/node_modules/locate-path": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-locate": "^4.1.0"
},
@@ -16849,9 +16607,8 @@
},
"node_modules/pkg-dir/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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-try": "^2.0.0"
},
@@ -16864,9 +16621,8 @@
},
"node_modules/pkg-dir/node_modules/p-locate": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-limit": "^2.2.0"
},
@@ -16876,15 +16632,15 @@
},
"node_modules/platform": {
"version": "1.3.3",
- "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.3.tgz",
- "integrity": "sha512-VJK1SRmXBpjwsB4YOHYSturx48rLKMzHgCqDH2ZDa6ZbMS/N5huoNqyQdK5Fj/xayu3fqbXckn5SeCS1EbMDZg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/playwright": {
"version": "1.47.2",
"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.47.2.tgz",
"integrity": "sha512-nx1cLMmQWqmA3UsnjaaokyoUpdVaaDhJhMoxX2qj3McpjnsqFHs516QAKYhqHAgOP+oCFTEOCOAaD1RgD/RQfA==",
"dev": true,
+ "license": "Apache-2.0",
"peer": true,
"dependencies": {
"playwright-core": "1.47.2"
@@ -16904,6 +16660,7 @@
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.47.2.tgz",
"integrity": "sha512-3JvMfF+9LJfe16l7AbSmU555PaTl2tPyQsVInqm3id16pdDfvZ8TTZ/pyzmkbDrZTQefyzU7AIHlZqQnxpqHVQ==",
"dev": true,
+ "license": "Apache-2.0",
"peer": true,
"bin": {
"playwright-core": "cli.js"
@@ -16918,6 +16675,7 @@
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
"dev": true,
"hasInstallScript": true,
+ "license": "MIT",
"optional": true,
"os": [
"darwin"
@@ -16932,6 +16690,7 @@
"resolved": "https://registry.npmjs.org/plur/-/plur-4.0.0.tgz",
"integrity": "sha512-4UGewrYgqDFw9vV6zNV+ADmPAUAfJPKtGvb/VdpQAx25X5f3xXdGdyOEVFwkl8Hl/tl7+xbeHqSEM+D5/TirUg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"irregular-plurals": "^3.2.0"
},
@@ -16947,14 +16706,13 @@
"resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz",
"integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
}
},
"node_modules/postcss": {
- "version": "8.4.47",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz",
- "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==",
+ "version": "8.4.35",
"dev": true,
"funding": [
{
@@ -16970,10 +16728,11 @@
"url": "https://github.com/sponsors/ai"
}
],
+ "license": "MIT",
"dependencies": {
"nanoid": "^3.3.7",
- "picocolors": "^1.1.0",
- "source-map-js": "^1.2.1"
+ "picocolors": "^1.0.0",
+ "source-map-js": "^1.0.2"
},
"engines": {
"node": "^10 || ^12 || >=14"
@@ -16981,9 +16740,8 @@
},
"node_modules/postcss-calc": {
"version": "9.0.1",
- "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz",
- "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"postcss-selector-parser": "^6.0.11",
"postcss-value-parser": "^4.2.0"
@@ -16997,9 +16755,8 @@
},
"node_modules/postcss-colormin": {
"version": "6.0.2",
- "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.0.2.tgz",
- "integrity": "sha512-TXKOxs9LWcdYo5cgmcSHPkyrLAh86hX1ijmyy6J8SbOhyv6ua053M3ZAM/0j44UsnQNIWdl8gb5L7xX2htKeLw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"browserslist": "^4.22.2",
"caniuse-api": "^3.0.0",
@@ -17015,9 +16772,8 @@
},
"node_modules/postcss-convert-values": {
"version": "6.0.2",
- "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.0.2.tgz",
- "integrity": "sha512-aeBmaTnGQ+NUSVQT8aY0sKyAD/BaLJenEKZ03YK0JnDE1w1Rr8XShoxdal2V2H26xTJKr3v5haByOhJuyT4UYw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"browserslist": "^4.22.2",
"postcss-value-parser": "^4.2.0"
@@ -17031,9 +16787,8 @@
},
"node_modules/postcss-discard-comments": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.1.tgz",
- "integrity": "sha512-f1KYNPtqYLUeZGCHQPKzzFtsHaRuECe6jLakf/RjSRqvF5XHLZnM2+fXLhb8Qh/HBFHs3M4cSLb1k3B899RYIg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^14 || ^16 || >=18.0"
},
@@ -17043,9 +16798,8 @@
},
"node_modules/postcss-discard-duplicates": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.1.tgz",
- "integrity": "sha512-1hvUs76HLYR8zkScbwyJ8oJEugfPV+WchpnA+26fpJ7Smzs51CzGBHC32RS03psuX/2l0l0UKh2StzNxOrKCYg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^14 || ^16 || >=18.0"
},
@@ -17055,9 +16809,8 @@
},
"node_modules/postcss-discard-empty": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.1.tgz",
- "integrity": "sha512-yitcmKwmVWtNsrrRqGJ7/C0YRy53i0mjexBDQ9zYxDwTWVBgbU4+C9jIZLmQlTDT9zhml+u0OMFJh8+31krmOg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^14 || ^16 || >=18.0"
},
@@ -17067,9 +16820,8 @@
},
"node_modules/postcss-discard-overridden": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.1.tgz",
- "integrity": "sha512-qs0ehZMMZpSESbRkw1+inkf51kak6OOzNRaoLd/U7Fatp0aN2HQ1rxGOrJvYcRAN9VpX8kUF13R2ofn8OlvFVA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^14 || ^16 || >=18.0"
},
@@ -17079,9 +16831,8 @@
},
"node_modules/postcss-loader": {
"version": "6.2.1",
- "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz",
- "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"cosmiconfig": "^7.0.0",
"klona": "^2.0.5",
@@ -17101,9 +16852,8 @@
},
"node_modules/postcss-loader/node_modules/cosmiconfig": {
"version": "7.1.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
- "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/parse-json": "^4.0.0",
"import-fresh": "^3.2.1",
@@ -17117,9 +16867,8 @@
},
"node_modules/postcss-loader/node_modules/lru-cache": {
"version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"yallist": "^4.0.0"
},
@@ -17129,9 +16878,8 @@
},
"node_modules/postcss-loader/node_modules/semver": {
"version": "7.6.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
- "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"lru-cache": "^6.0.0"
},
@@ -17144,15 +16892,13 @@
},
"node_modules/postcss-loader/node_modules/yallist": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/postcss-loader/node_modules/yaml": {
"version": "1.10.2",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
- "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": ">= 6"
}
@@ -17161,13 +16907,13 @@
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz",
"integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/postcss-merge-longhand": {
"version": "6.0.2",
- "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.2.tgz",
- "integrity": "sha512-+yfVB7gEM8SrCo9w2lCApKIEzrTKl5yS1F4yGhV3kSim6JzbfLGJyhR1B6X+6vOT0U33Mgx7iv4X9MVWuaSAfw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"postcss-value-parser": "^4.2.0",
"stylehacks": "^6.0.2"
@@ -17181,9 +16927,8 @@
},
"node_modules/postcss-merge-rules": {
"version": "6.0.3",
- "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.0.3.tgz",
- "integrity": "sha512-yfkDqSHGohy8sGYIJwBmIGDv4K4/WrJPX355XrxQb/CSsT4Kc/RxDi6akqn5s9bap85AWgv21ArcUWwWdGNSHA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"browserslist": "^4.22.2",
"caniuse-api": "^3.0.0",
@@ -17199,9 +16944,8 @@
},
"node_modules/postcss-minify-font-values": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.0.1.tgz",
- "integrity": "sha512-tIwmF1zUPoN6xOtA/2FgVk1ZKrLcCvE0dpZLtzyyte0j9zUeB8RTbCqrHZGjJlxOvNWKMYtunLrrl7HPOiR46w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"postcss-value-parser": "^4.2.0"
},
@@ -17214,9 +16958,8 @@
},
"node_modules/postcss-minify-gradients": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.1.tgz",
- "integrity": "sha512-M1RJWVjd6IOLPl1hYiOd5HQHgpp6cvJVLrieQYS9y07Yo8itAr6jaekzJphaJFR0tcg4kRewCk3kna9uHBxn/w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"colord": "^2.9.1",
"cssnano-utils": "^4.0.1",
@@ -17231,9 +16974,8 @@
},
"node_modules/postcss-minify-params": {
"version": "6.0.2",
- "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.0.2.tgz",
- "integrity": "sha512-zwQtbrPEBDj+ApELZ6QylLf2/c5zmASoOuA4DzolyVGdV38iR2I5QRMsZcHkcdkZzxpN8RS4cN7LPskOkTwTZw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"browserslist": "^4.22.2",
"cssnano-utils": "^4.0.1",
@@ -17248,9 +16990,8 @@
},
"node_modules/postcss-minify-selectors": {
"version": "6.0.2",
- "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.2.tgz",
- "integrity": "sha512-0b+m+w7OAvZejPQdN2GjsXLv5o0jqYHX3aoV0e7RBKPCsB7TYG5KKWBFhGnB/iP3213Ts8c5H4wLPLMm7z28Sg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"postcss-selector-parser": "^6.0.15"
},
@@ -17263,9 +17004,8 @@
},
"node_modules/postcss-modules-extract-imports": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz",
- "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": "^10 || ^12 || >= 14"
},
@@ -17275,9 +17015,8 @@
},
"node_modules/postcss-modules-local-by-default": {
"version": "4.0.4",
- "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz",
- "integrity": "sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"icss-utils": "^5.0.0",
"postcss-selector-parser": "^6.0.2",
@@ -17292,9 +17031,8 @@
},
"node_modules/postcss-modules-scope": {
"version": "3.1.1",
- "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz",
- "integrity": "sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"postcss-selector-parser": "^6.0.4"
},
@@ -17307,9 +17045,8 @@
},
"node_modules/postcss-modules-values": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz",
- "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"icss-utils": "^5.0.0"
},
@@ -17322,9 +17059,8 @@
},
"node_modules/postcss-normalize-charset": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.1.tgz",
- "integrity": "sha512-aW5LbMNRZ+oDV57PF9K+WI1Z8MPnF+A8qbajg/T8PP126YrGX1f9IQx21GI2OlGz7XFJi/fNi0GTbY948XJtXg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^14 || ^16 || >=18.0"
},
@@ -17334,9 +17070,8 @@
},
"node_modules/postcss-normalize-display-values": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.1.tgz",
- "integrity": "sha512-mc3vxp2bEuCb4LgCcmG1y6lKJu1Co8T+rKHrcbShJwUmKJiEl761qb/QQCfFwlrvSeET3jksolCR/RZuMURudw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"postcss-value-parser": "^4.2.0"
},
@@ -17349,9 +17084,8 @@
},
"node_modules/postcss-normalize-positions": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.1.tgz",
- "integrity": "sha512-HRsq8u/0unKNvm0cvwxcOUEcakFXqZ41fv3FOdPn916XFUrympjr+03oaLkuZENz3HE9RrQE9yU0Xv43ThWjQg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"postcss-value-parser": "^4.2.0"
},
@@ -17364,9 +17098,8 @@
},
"node_modules/postcss-normalize-repeat-style": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.1.tgz",
- "integrity": "sha512-Gbb2nmCy6tTiA7Sh2MBs3fj9W8swonk6lw+dFFeQT68B0Pzwp1kvisJQkdV6rbbMSd9brMlS8I8ts52tAGWmGQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"postcss-value-parser": "^4.2.0"
},
@@ -17379,9 +17112,8 @@
},
"node_modules/postcss-normalize-string": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.1.tgz",
- "integrity": "sha512-5Fhx/+xzALJD9EI26Aq23hXwmv97Zfy2VFrt5PLT8lAhnBIZvmaT5pQk+NuJ/GWj/QWaKSKbnoKDGLbV6qnhXg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"postcss-value-parser": "^4.2.0"
},
@@ -17394,9 +17126,8 @@
},
"node_modules/postcss-normalize-timing-functions": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.1.tgz",
- "integrity": "sha512-4zcczzHqmCU7L5dqTB9rzeqPWRMc0K2HoR+Bfl+FSMbqGBUcP5LRfgcH4BdRtLuzVQK1/FHdFoGT3F7rkEnY+g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"postcss-value-parser": "^4.2.0"
},
@@ -17409,9 +17140,8 @@
},
"node_modules/postcss-normalize-unicode": {
"version": "6.0.2",
- "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.0.2.tgz",
- "integrity": "sha512-Ff2VdAYCTGyMUwpevTZPZ4w0+mPjbZzLLyoLh/RMpqUqeQKZ+xMm31hkxBavDcGKcxm6ACzGk0nBfZ8LZkStKA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"browserslist": "^4.22.2",
"postcss-value-parser": "^4.2.0"
@@ -17425,9 +17155,8 @@
},
"node_modules/postcss-normalize-url": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.1.tgz",
- "integrity": "sha512-jEXL15tXSvbjm0yzUV7FBiEXwhIa9H88JOXDGQzmcWoB4mSjZIsmtto066s2iW9FYuIrIF4k04HA2BKAOpbsaQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"postcss-value-parser": "^4.2.0"
},
@@ -17440,9 +17169,8 @@
},
"node_modules/postcss-normalize-whitespace": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.1.tgz",
- "integrity": "sha512-76i3NpWf6bB8UHlVuLRxG4zW2YykF9CTEcq/9LGAiz2qBuX5cBStadkk0jSkg9a9TCIXbMQz7yzrygKoCW9JuA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"postcss-value-parser": "^4.2.0"
},
@@ -17455,9 +17183,8 @@
},
"node_modules/postcss-ordered-values": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.1.tgz",
- "integrity": "sha512-XXbb1O/MW9HdEhnBxitZpPFbIvDgbo9NK4c/5bOfiKpnIGZDoL2xd7/e6jW5DYLsWxBbs+1nZEnVgnjnlFViaA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"cssnano-utils": "^4.0.1",
"postcss-value-parser": "^4.2.0"
@@ -17471,9 +17198,8 @@
},
"node_modules/postcss-reduce-initial": {
"version": "6.0.2",
- "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.0.2.tgz",
- "integrity": "sha512-YGKalhNlCLcjcLvjU5nF8FyeCTkCO5UtvJEt0hrPZVCTtRLSOH4z00T1UntQPj4dUmIYZgMj8qK77JbSX95hSw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"browserslist": "^4.22.2",
"caniuse-api": "^3.0.0"
@@ -17487,9 +17213,8 @@
},
"node_modules/postcss-reduce-transforms": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.1.tgz",
- "integrity": "sha512-fUbV81OkUe75JM+VYO1gr/IoA2b/dRiH6HvMwhrIBSUrxq3jNZQZitSnugcTLDi1KkQh1eR/zi+iyxviUNBkcQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"postcss-value-parser": "^4.2.0"
},
@@ -17504,13 +17229,15 @@
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.6.tgz",
"integrity": "sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/postcss-safe-parser": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz",
"integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12.0"
},
@@ -17541,6 +17268,7 @@
"url": "https://github.com/sponsors/ai"
}
],
+ "license": "MIT",
"engines": {
"node": ">=12.0"
},
@@ -17549,10 +17277,9 @@
}
},
"node_modules/postcss-selector-parser": {
- "version": "6.1.2",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz",
- "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==",
+ "version": "6.0.15",
"dev": true,
+ "license": "MIT",
"dependencies": {
"cssesc": "^3.0.0",
"util-deprecate": "^1.0.2"
@@ -17563,9 +17290,8 @@
},
"node_modules/postcss-svgo": {
"version": "6.0.2",
- "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.2.tgz",
- "integrity": "sha512-IH5R9SjkTkh0kfFOQDImyy1+mTCb+E830+9SV1O+AaDcoHTvfsvt6WwJeo7KwcHbFnevZVCsXhDmjFiGVuwqFQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"postcss-value-parser": "^4.2.0",
"svgo": "^3.2.0"
@@ -17579,9 +17305,8 @@
},
"node_modules/postcss-unique-selectors": {
"version": "6.0.2",
- "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.2.tgz",
- "integrity": "sha512-8IZGQ94nechdG7Y9Sh9FlIY2b4uS8/k8kdKRX040XHsS3B6d1HrJAkXrBSsSu4SuARruSsUjW3nlSw8BHkaAYQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"postcss-selector-parser": "^6.0.15"
},
@@ -17594,15 +17319,15 @@
},
"node_modules/postcss-value-parser": {
"version": "4.2.0",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
- "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/prelude-ls": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
"integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.8.0"
}
@@ -17613,6 +17338,7 @@
"resolved": "https://registry.npmjs.org/wp-prettier/-/wp-prettier-3.0.3.tgz",
"integrity": "sha512-X4UlrxDTH8oom9qXlcjnydsjAOD2BmB6yFmvS4Z2zdTzqqpRWb+fbqrH412+l+OUXmbzJlSXjlMFYPgYG12IAA==",
"dev": true,
+ "license": "MIT",
"bin": {
"prettier": "bin/prettier.cjs"
},
@@ -17628,6 +17354,7 @@
"resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz",
"integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"fast-diff": "^1.1.2"
},
@@ -17637,9 +17364,8 @@
},
"node_modules/pretty-bytes": {
"version": "5.6.0",
- "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz",
- "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
},
@@ -17649,9 +17375,8 @@
},
"node_modules/pretty-format": {
"version": "29.7.0",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz",
- "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/schemas": "^29.6.3",
"ansi-styles": "^5.0.0",
@@ -17663,9 +17388,8 @@
},
"node_modules/pretty-format/node_modules/ansi-styles": {
"version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -17675,33 +17399,29 @@
},
"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==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.6.0"
}
},
"node_modules/process-nextick-args": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/progress": {
"version": "2.0.3",
- "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
- "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.4.0"
}
},
"node_modules/prompts": {
"version": "2.4.2",
- "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz",
- "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"kleur": "^3.0.3",
"sisteransi": "^1.0.5"
@@ -17712,9 +17432,8 @@
},
"node_modules/prop-types": {
"version": "15.8.1",
- "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
- "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"loose-envify": "^1.4.0",
"object-assign": "^4.1.1",
@@ -17723,15 +17442,13 @@
},
"node_modules/prop-types/node_modules/react-is": {
"version": "16.13.1",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
- "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/proxy-addr": {
"version": "2.0.7",
- "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
- "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"forwarded": "0.2.0",
"ipaddr.js": "1.9.1"
@@ -17742,9 +17459,8 @@
},
"node_modules/proxy-addr/node_modules/ipaddr.js": {
"version": "1.9.1",
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
- "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.10"
}
@@ -17754,6 +17470,7 @@
"resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.3.0.tgz",
"integrity": "sha512-0LdR757eTj/JfuU7TL2YCuAZnxWXu3tkJbg4Oq3geW/qFNT/32T0sp2HnZ9O0lMR4q3vwAt0+xCA8SR0WAD0og==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"agent-base": "^7.0.2",
"debug": "^4.3.4",
@@ -17773,6 +17490,7 @@
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
"integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"debug": "^4.3.4"
},
@@ -17785,6 +17503,7 @@
"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
"integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"agent-base": "^7.1.0",
"debug": "^4.3.4"
@@ -17798,6 +17517,7 @@
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz",
"integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"agent-base": "^7.0.2",
"debug": "4"
@@ -17811,6 +17531,7 @@
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
"integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": ">=12"
}
@@ -17819,19 +17540,20 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/proxy-from-env": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz",
- "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/ps-list": {
"version": "8.1.1",
"resolved": "https://registry.npmjs.org/ps-list/-/ps-list-8.1.1.tgz",
"integrity": "sha512-OPS9kEJYVmiO48u/B9qneqhkMvgCxT+Tm28VCEJpheTpl8cJ0ffZRRNgS5mrQRTrX5yRTpaJ+hRDeefXYmmorQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
},
@@ -17841,21 +17563,18 @@
},
"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==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/psl": {
"version": "1.9.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
- "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/pump": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
- "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"end-of-stream": "^1.1.0",
"once": "^1.3.1"
@@ -17863,9 +17582,8 @@
},
"node_modules/punycode": {
"version": "2.3.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
- "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
@@ -17875,15 +17593,15 @@
"resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz",
"integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/puppeteer-core": {
"version": "13.7.0",
- "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-13.7.0.tgz",
- "integrity": "sha512-rXja4vcnAzFAP1OVLq/5dWNfwBGuzcOARJ6qGV7oAZhnLmVRU8G5MsdeQEAOy332ZhkIOnn9jp15R89LKHyp2Q==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"cross-fetch": "3.1.5",
"debug": "4.3.4",
@@ -17904,15 +17622,13 @@
},
"node_modules/puppeteer-core/node_modules/devtools-protocol": {
"version": "0.0.981744",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.981744.tgz",
- "integrity": "sha512-0cuGS8+jhR67Fy7qG3i3Pc7Aw494sb9yG9QgpG97SFVWwolgYjlhJg7n+UaHxOQT30d1TYu/EYe9k01ivLErIg==",
- "dev": true
+ "dev": true,
+ "license": "BSD-3-Clause"
},
"node_modules/puppeteer-core/node_modules/extract-zip": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
- "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"debug": "^4.1.1",
"get-stream": "^5.1.0",
@@ -17930,15 +17646,13 @@
},
"node_modules/puppeteer-core/node_modules/proxy-from-env": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
- "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/puppeteer-core/node_modules/ws": {
"version": "8.5.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz",
- "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10.0.0"
},
@@ -17969,13 +17683,15 @@
"type": "opencollective",
"url": "https://opencollective.com/fast-check"
}
- ]
+ ],
+ "license": "MIT"
},
"node_modules/qs": {
"version": "6.13.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz",
"integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"side-channel": "^1.0.6"
},
@@ -17988,14 +17704,11 @@
},
"node_modules/querystringify": {
"version": "2.2.0",
- "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
- "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"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==",
"dev": true,
"funding": [
{
@@ -18010,19 +17723,20 @@
"type": "consulting",
"url": "https://feross.org/support"
}
- ]
+ ],
+ "license": "MIT"
},
"node_modules/queue-tick": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz",
"integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/quick-lru": {
"version": "5.1.1",
- "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
- "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -18032,33 +17746,29 @@
},
"node_modules/ramda": {
"version": "0.21.0",
- "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.21.0.tgz",
- "integrity": "sha512-HGd5aczYKQXGILB+abY290V7Xz62eFajpa6AtMdwEmQSakJmgSO7ks4eI3HdR34j+X2Vz4Thp9VAJbrCAMbO2w==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/randombytes": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
- "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"safe-buffer": "^5.1.0"
}
},
"node_modules/range-parser": {
"version": "1.2.1",
- "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
- "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/raw-body": {
"version": "2.5.2",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
- "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"bytes": "3.1.2",
"http-errors": "2.0.0",
@@ -18071,18 +17781,16 @@
},
"node_modules/raw-body/node_modules/bytes": {
"version": "3.1.2",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
- "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/raw-body/node_modules/iconv-lite": {
"version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"safer-buffer": ">= 2.1.2 < 3"
},
@@ -18094,6 +17802,7 @@
"version": "18.3.1",
"resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz",
"integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==",
+ "license": "MIT",
"dependencies": {
"loose-envify": "^1.1.0"
},
@@ -18105,6 +17814,7 @@
"version": "18.3.1",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz",
"integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==",
+ "license": "MIT",
"dependencies": {
"loose-envify": "^1.1.0",
"scheduler": "^0.23.2"
@@ -18115,24 +17825,53 @@
},
"node_modules/react-is": {
"version": "18.2.0",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
- "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/react-refresh": {
"version": "0.14.0",
- "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz",
- "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
+ "node_modules/react-router": {
+ "version": "6.27.0",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.27.0.tgz",
+ "integrity": "sha512-YA+HGZXz4jaAkVoYBE98VQl+nVzI+cVI2Oj/06F5ZM+0u3TgedN9Y9kmMRo2mnkSK2nCpNQn0DVob4HCsY/WLw==",
+ "dependencies": {
+ "@remix-run/router": "1.20.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.8"
+ }
+ },
+ "node_modules/react-router-dom": {
+ "version": "6.27.0",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.27.0.tgz",
+ "integrity": "sha512-+bvtFWMC0DgAFrfKXKG9Fc+BcXWRUO1aJIihbB79xaeq0v5UzfvnM5houGUm1Y461WVRcgAQ+Clh5rdb1eCx4g==",
+ "dependencies": {
+ "@remix-run/router": "1.20.0",
+ "react-router": "6.27.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.8",
+ "react-dom": ">=16.8"
+ }
+ },
"node_modules/read-pkg": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
"integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/normalize-package-data": "^2.4.0",
"normalize-package-data": "^2.5.0",
@@ -18148,6 +17887,7 @@
"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
"integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"find-up": "^4.1.0",
"read-pkg": "^5.2.0",
@@ -18165,6 +17905,7 @@
"resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
"integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"locate-path": "^5.0.0",
"path-exists": "^4.0.0"
@@ -18178,6 +17919,7 @@
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
"integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-locate": "^4.1.0"
},
@@ -18190,6 +17932,7 @@
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
"integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-try": "^2.0.0"
},
@@ -18205,6 +17948,7 @@
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
"integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-limit": "^2.2.0"
},
@@ -18217,6 +17961,7 @@
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
"integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
"dev": true,
+ "license": "(MIT OR CC0-1.0)",
"engines": {
"node": ">=8"
}
@@ -18225,13 +17970,15 @@
"version": "2.8.9",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
"integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/read-pkg/node_modules/normalize-package-data": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
"integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"hosted-git-info": "^2.1.4",
"resolve": "^1.10.0",
@@ -18244,6 +17991,7 @@
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
"dev": true,
+ "license": "ISC",
"bin": {
"semver": "bin/semver"
}
@@ -18253,15 +18001,15 @@
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
"integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
"dev": true,
+ "license": "(MIT OR CC0-1.0)",
"engines": {
"node": ">=8"
}
},
"node_modules/readable-stream": {
"version": "2.3.8",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
- "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
@@ -18274,15 +18022,13 @@
},
"node_modules/readable-stream/node_modules/safe-buffer": {
"version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/readdirp": {
"version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"picomatch": "^2.2.1"
},
@@ -18292,9 +18038,8 @@
},
"node_modules/rechoir": {
"version": "0.8.0",
- "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz",
- "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"resolve": "^1.20.0"
},
@@ -18307,6 +18052,7 @@
"resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
"integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"indent-string": "^4.0.0",
"strip-indent": "^3.0.0"
@@ -18315,19 +18061,12 @@
"node": ">=8"
}
},
- "node_modules/redux": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz",
- "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==",
- "dependencies": {
- "@babel/runtime": "^7.9.2"
- }
- },
"node_modules/reflect.getprototypeof": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz",
"integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1",
@@ -18346,15 +18085,13 @@
},
"node_modules/regenerate": {
"version": "1.4.2",
- "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
- "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/regenerate-unicode-properties": {
"version": "10.1.1",
- "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz",
- "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"regenerate": "^1.4.2"
},
@@ -18364,14 +18101,12 @@
},
"node_modules/regenerator-runtime": {
"version": "0.14.1",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
- "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
+ "license": "MIT"
},
"node_modules/regenerator-transform": {
"version": "0.15.2",
- "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz",
- "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/runtime": "^7.8.4"
}
@@ -18381,6 +18116,7 @@
"resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz",
"integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.6",
"define-properties": "^1.2.1",
@@ -18396,9 +18132,8 @@
},
"node_modules/regexpu-core": {
"version": "5.3.2",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz",
- "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/regjsgen": "^0.8.0",
"regenerate": "^1.4.2",
@@ -18413,9 +18148,8 @@
},
"node_modules/regjsparser": {
"version": "0.9.1",
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz",
- "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"jsesc": "~0.5.0"
},
@@ -18425,8 +18159,6 @@
},
"node_modules/regjsparser/node_modules/jsesc": {
"version": "0.5.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
- "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==",
"dev": true,
"bin": {
"jsesc": "bin/jsesc"
@@ -18436,70 +18168,65 @@
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.5.0.tgz",
"integrity": "sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/request-progress": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz",
- "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"throttleit": "^1.0.0"
}
},
"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==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/require-from-string": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
- "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
"dev": true,
+ "license": "MIT",
"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==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/requireindex": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.2.0.tgz",
"integrity": "sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.5"
}
},
"node_modules/requires-port": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
- "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/requizzle": {
"version": "0.2.4",
- "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.4.tgz",
- "integrity": "sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"lodash": "^4.17.21"
}
},
"node_modules/resolve": {
"version": "1.22.8",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
- "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-core-module": "^2.13.0",
"path-parse": "^1.0.7",
@@ -18514,24 +18241,21 @@
},
"node_modules/resolve-alpn": {
"version": "1.2.1",
- "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz",
- "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/resolve-bin": {
"version": "0.4.3",
- "resolved": "https://registry.npmjs.org/resolve-bin/-/resolve-bin-0.4.3.tgz",
- "integrity": "sha512-9u8TMpc+SEHXxQXblXHz5yRvRZERkCZimFN9oz85QI3uhkh7nqfjm6OGTLg+8vucpXGcY4jLK6WkylPmt7GSvw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"find-parent-dir": "~0.3.0"
}
},
"node_modules/resolve-cwd": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
- "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"resolve-from": "^5.0.0"
},
@@ -18541,9 +18265,8 @@
},
"node_modules/resolve-dir": {
"version": "0.1.1",
- "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz",
- "integrity": "sha512-QxMPqI6le2u0dCLyiGzgy92kjkkL6zO0XyvHzjdTNH3zM6e5Hz3BwG6+aEyNgiQ5Xz6PwTwgQEj3U50dByPKIA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"expand-tilde": "^1.2.2",
"global-modules": "^0.2.3"
@@ -18554,34 +18277,31 @@
},
"node_modules/resolve-from": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/resolve-url": {
"version": "0.2.1",
- "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
- "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==",
- "deprecated": "https://github.com/lydell/resolve-url#deprecated",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/resolve.exports": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz",
"integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
}
},
"node_modules/responselike": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz",
- "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"lowercase-keys": "^2.0.0"
},
@@ -18591,9 +18311,8 @@
},
"node_modules/restore-cursor": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
- "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"onetime": "^5.1.0",
"signal-exit": "^3.0.2"
@@ -18604,18 +18323,16 @@
},
"node_modules/retry": {
"version": "0.13.1",
- "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
- "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==",
"dev": true,
+ "license": "MIT",
"engines": {
"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==",
"dev": true,
+ "license": "MIT",
"engines": {
"iojs": ">=1.0.0",
"node": ">=0.10.0"
@@ -18625,13 +18342,13 @@
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz",
"integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/rimraf": {
"version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"glob": "^7.1.3"
},
@@ -18647,6 +18364,7 @@
"resolved": "https://registry.npmjs.org/robots-parser/-/robots-parser-3.0.1.tgz",
"integrity": "sha512-s+pyvQeIKIZ0dx5iJiQk1tPLJAWln39+MI5jtM8wnyws+G5azk+dMnMX0qfbqNetKKNgcWWOdi0sfm+FbQbgdQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10.0.0"
}
@@ -18656,6 +18374,7 @@
"resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-3.5.0.tgz",
"integrity": "sha512-wzgMaMFHQTnyi9YOwsx9LjOxYXJPzS8sYnFaKm6R5ysvTkwzHiB0vxnbHwchHQT65PTdBjDG21/kQBWI7q9O7A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"find-up": "^5.0.0",
"picocolors": "^1.0.0",
@@ -18671,6 +18390,7 @@
"resolved": "https://registry.npmjs.org/rtlcss-webpack-plugin/-/rtlcss-webpack-plugin-4.0.7.tgz",
"integrity": "sha512-ouSbJtgcLBBQIsMgarxsDnfgRqm/AS4BKls/mz/Xb6HSl+PdEzefTR+Wz5uWQx4odoX0g261Z7yb3QBz0MTm0g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"babel-runtime": "~6.25.0",
"rtlcss": "^3.5.0"
@@ -18678,18 +18398,16 @@
},
"node_modules/run-async": {
"version": "2.4.1",
- "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
- "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.12.0"
}
},
"node_modules/run-con": {
"version": "1.2.12",
- "resolved": "https://registry.npmjs.org/run-con/-/run-con-1.2.12.tgz",
- "integrity": "sha512-5257ILMYIF4RztL9uoZ7V9Q97zHtNHn5bN3NobeAnzB1P3ASLgg8qocM2u+R18ttp+VEM78N2LK8XcNVtnSRrg==",
"dev": true,
+ "license": "(BSD-2-Clause OR MIT OR Apache-2.0)",
"dependencies": {
"deep-extend": "^0.6.0",
"ini": "~3.0.0",
@@ -18702,17 +18420,14 @@
},
"node_modules/run-con/node_modules/ini": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/ini/-/ini-3.0.1.tgz",
- "integrity": "sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
"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==",
"dev": true,
"funding": [
{
@@ -18728,21 +18443,20 @@
"url": "https://feross.org/support"
}
],
+ "license": "MIT",
"dependencies": {
"queue-microtask": "^1.2.2"
}
},
"node_modules/rx": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz",
- "integrity": "sha512-CiaiuN6gapkdl+cZUr67W6I8jquN4lkak3vtIsIWCl4XIPP8ffsoyN6/+PuGXnQy8Cu8W2y9Xxh31Rq4M6wUug==",
- "dev": true
+ "dev": true,
+ "license": "Apache-2.0"
},
"node_modules/rxjs": {
"version": "6.6.7",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
- "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"tslib": "^1.9.0"
},
@@ -18752,15 +18466,15 @@
},
"node_modules/rxjs/node_modules/tslib": {
"version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
+ "dev": true,
+ "license": "0BSD"
},
"node_modules/safe-array-concat": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz",
"integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"get-intrinsic": "^1.2.4",
@@ -18778,12 +18492,11 @@
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
"integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/safe-buffer": {
"version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"dev": true,
"funding": [
{
@@ -18798,13 +18511,15 @@
"type": "consulting",
"url": "https://feross.org/support"
}
- ]
+ ],
+ "license": "MIT"
},
"node_modules/safe-regex-test": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz",
"integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.6",
"es-errors": "^1.3.0",
@@ -18819,15 +18534,13 @@
},
"node_modules/safer-buffer": {
"version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/sass": {
"version": "1.71.1",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.71.1.tgz",
- "integrity": "sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"chokidar": ">=3.0.0 <4.0.0",
"immutable": "^4.0.0",
@@ -18842,9 +18555,8 @@
},
"node_modules/sass-loader": {
"version": "12.6.0",
- "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz",
- "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"klona": "^2.0.4",
"neo-async": "^2.6.2"
@@ -18880,15 +18592,13 @@
},
"node_modules/sax": {
"version": "1.3.0",
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz",
- "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/saxes": {
"version": "6.0.0",
- "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz",
- "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"xmlchars": "^2.2.0"
},
@@ -18900,15 +18610,15 @@
"version": "0.23.2",
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz",
"integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==",
+ "license": "MIT",
"dependencies": {
"loose-envify": "^1.1.0"
}
},
"node_modules/schema-utils": {
"version": "3.3.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
- "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/json-schema": "^7.0.8",
"ajv": "^6.12.5",
@@ -18924,15 +18634,13 @@
},
"node_modules/select-hose": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
- "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/selfsigned": {
"version": "2.4.1",
- "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz",
- "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/node-forge": "^1.3.0",
"node-forge": "^1"
@@ -18943,18 +18651,16 @@
},
"node_modules/semver": {
"version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"dev": true,
+ "license": "ISC",
"bin": {
"semver": "bin/semver.js"
}
},
"node_modules/send": {
- "version": "0.19.0",
- "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz",
- "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==",
+ "version": "0.18.0",
"dev": true,
+ "license": "MIT",
"dependencies": {
"debug": "2.6.9",
"depd": "2.0.0",
@@ -18976,33 +18682,21 @@
},
"node_modules/send/node_modules/debug": {
"version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ms": "2.0.0"
}
},
"node_modules/send/node_modules/debug/node_modules/ms": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true
- },
- "node_modules/send/node_modules/encodeurl": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
"dev": true,
- "engines": {
- "node": ">= 0.8"
- }
+ "license": "MIT"
},
"node_modules/send/node_modules/mime": {
"version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
"dev": true,
+ "license": "MIT",
"bin": {
"mime": "cli.js"
},
@@ -19012,14 +18706,14 @@
},
"node_modules/send/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==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/sentence-case": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-3.0.4.tgz",
"integrity": "sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==",
+ "license": "MIT",
"dependencies": {
"no-case": "^3.0.4",
"tslib": "^2.0.3",
@@ -19028,18 +18722,16 @@
},
"node_modules/serialize-javascript": {
"version": "6.0.2",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
- "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"randombytes": "^2.1.0"
}
},
"node_modules/serve-index": {
"version": "1.9.1",
- "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
- "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"accepts": "~1.3.4",
"batch": "0.6.1",
@@ -19055,27 +18747,24 @@
},
"node_modules/serve-index/node_modules/debug": {
"version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ms": "2.0.0"
}
},
"node_modules/serve-index/node_modules/depd": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
- "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/serve-index/node_modules/http-errors": {
"version": "1.6.3",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
- "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"depd": "~1.1.2",
"inherits": "2.0.3",
@@ -19088,41 +18777,36 @@
},
"node_modules/serve-index/node_modules/inherits": {
"version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/serve-index/node_modules/ms": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/serve-index/node_modules/setprototypeof": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
- "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/serve-index/node_modules/statuses": {
"version": "1.5.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
- "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/serve-static": {
- "version": "1.16.2",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz",
- "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==",
+ "version": "1.15.0",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "encodeurl": "~2.0.0",
+ "encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"parseurl": "~1.3.3",
- "send": "0.19.0"
+ "send": "0.18.0"
},
"engines": {
"node": ">= 0.8.0"
@@ -19130,15 +18814,13 @@
},
"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==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/set-function-length": {
"version": "1.2.1",
- "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz",
- "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"define-data-property": "^1.1.2",
"es-errors": "^1.3.0",
@@ -19156,6 +18838,7 @@
"resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz",
"integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"define-data-property": "^1.1.4",
"es-errors": "^1.3.0",
@@ -19168,15 +18851,13 @@
},
"node_modules/setprototypeof": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
- "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/shallow-clone": {
"version": "0.1.2",
- "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz",
- "integrity": "sha512-J1zdXCky5GmNnuauESROVu31MQSnLoYvlyEn6j2Ztk6Q5EHFIhxkMhYcv6vuDzl2XEzoRr856QwzMgWM/TmZgw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-extendable": "^0.1.1",
"kind-of": "^2.0.1",
@@ -19189,9 +18870,8 @@
},
"node_modules/shallow-clone/node_modules/kind-of": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz",
- "integrity": "sha512-0u8i1NZ/mg0b+W3MGGw5I7+6Eib2nx72S/QvXa0hYjEkjTknYmEYQJwGu3mLC0BrhtJjtQafTkyRUQ75Kx0LVg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-buffer": "^1.0.2"
},
@@ -19201,18 +18881,16 @@
},
"node_modules/shallow-clone/node_modules/lazy-cache": {
"version": "0.2.7",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz",
- "integrity": "sha512-gkX52wvU/R8DVMMt78ATVPFMJqfW8FPz1GZ1sVHBVQHmu/WvhIWE4cE1GBzhJNFicDeYhnwp6Rl35BcAIM3YOQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"shebang-regex": "^1.0.0"
},
@@ -19222,18 +18900,16 @@
},
"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==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/shell-quote": {
"version": "1.8.1",
- "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz",
- "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==",
"dev": true,
+ "license": "MIT",
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -19243,6 +18919,7 @@
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz",
"integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"es-errors": "^1.3.0",
@@ -19258,15 +18935,13 @@
},
"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==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/simple-git": {
"version": "3.22.0",
- "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.22.0.tgz",
- "integrity": "sha512-6JujwSs0ac82jkGjMHiCnTifvf1crOiY/+tfs/Pqih6iow7VrpNKRRNdWm6RtaXpvvv/JGNYhlUtLhGFqHF+Yw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@kwsites/file-exists": "^1.1.1",
"@kwsites/promise-deferred": "^1.1.1",
@@ -19279,9 +18954,8 @@
},
"node_modules/sirv": {
"version": "2.0.4",
- "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz",
- "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@polka/url": "^1.0.0-next.24",
"mrmime": "^2.0.0",
@@ -19293,24 +18967,21 @@
},
"node_modules/sisteransi": {
"version": "1.0.5",
- "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
- "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/slash": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/slice-ansi": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz",
- "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.0.0",
"astral-regex": "^2.0.0",
@@ -19325,6 +18996,7 @@
"resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
"integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 6.0.0",
"npm": ">= 3.0.0"
@@ -19332,8 +19004,7 @@
},
"node_modules/snake-case": {
"version": "3.0.4",
- "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz",
- "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==",
+ "license": "MIT",
"dependencies": {
"dot-case": "^3.0.4",
"tslib": "^2.0.3"
@@ -19341,9 +19012,8 @@
},
"node_modules/sockjs": {
"version": "0.3.24",
- "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz",
- "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"faye-websocket": "^0.11.3",
"uuid": "^8.3.2",
@@ -19355,6 +19025,7 @@
"resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz",
"integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ip-address": "^9.0.5",
"smart-buffer": "^4.2.0"
@@ -19369,6 +19040,7 @@
"resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.4.tgz",
"integrity": "sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"agent-base": "^7.1.1",
"debug": "^4.3.4",
@@ -19383,6 +19055,7 @@
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
"integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"debug": "^4.3.4"
},
@@ -19392,27 +19065,24 @@
},
"node_modules/source-map": {
"version": "0.7.4",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
- "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
"dev": true,
+ "license": "BSD-3-Clause",
"engines": {
"node": ">= 8"
}
},
"node_modules/source-map-js": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
- "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
+ "version": "1.0.2",
"dev": true,
+ "license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/source-map-loader": {
"version": "3.0.2",
- "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz",
- "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"abab": "^2.0.5",
"iconv-lite": "^0.6.3",
@@ -19431,10 +19101,8 @@
},
"node_modules/source-map-resolve": {
"version": "0.5.3",
- "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
- "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
- "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated",
"dev": true,
+ "license": "MIT",
"dependencies": {
"atob": "^2.1.2",
"decode-uri-component": "^0.2.0",
@@ -19448,6 +19116,7 @@
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz",
"integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"buffer-from": "^1.0.0",
"source-map": "^0.6.0"
@@ -19458,21 +19127,18 @@
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true,
+ "license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/source-map-url": {
"version": "0.4.1",
- "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz",
- "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==",
- "deprecated": "See https://github.com/lydell/source-map-url#deprecated",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/spawnd": {
"version": "9.0.2",
- "resolved": "https://registry.npmjs.org/spawnd/-/spawnd-9.0.2.tgz",
- "integrity": "sha512-nl8DVHEDQ57IcKakzpjanspVChkMpGLuVwMR/eOn9cXE55Qr6luD2Kn06sA0ootRMdgrU4tInN6lA6ohTNvysw==",
"dev": true,
"dependencies": {
"signal-exit": "^4.1.0",
@@ -19484,9 +19150,8 @@
},
"node_modules/spawnd/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==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": ">=14"
},
@@ -19499,6 +19164,7 @@
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
"integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"spdx-expression-parse": "^3.0.0",
"spdx-license-ids": "^3.0.0"
@@ -19509,6 +19175,7 @@
"resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
"integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"spdx-exceptions": "^2.1.0",
"spdx-license-ids": "^3.0.0"
@@ -19518,13 +19185,15 @@
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz",
"integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==",
- "dev": true
+ "dev": true,
+ "license": "CC-BY-3.0"
},
"node_modules/spdx-expression-parse": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-4.0.0.tgz",
"integrity": "sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"spdx-exceptions": "^2.1.0",
"spdx-license-ids": "^3.0.0"
@@ -19534,13 +19203,13 @@
"version": "3.0.20",
"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz",
"integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==",
- "dev": true
+ "dev": true,
+ "license": "CC0-1.0"
},
"node_modules/spdy": {
"version": "4.0.2",
- "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz",
- "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"debug": "^4.1.0",
"handle-thing": "^2.0.0",
@@ -19554,9 +19223,8 @@
},
"node_modules/spdy-transport": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz",
- "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"debug": "^4.1.0",
"detect-node": "^2.0.4",
@@ -19568,9 +19236,8 @@
},
"node_modules/spdy-transport/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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
@@ -19585,6 +19252,7 @@
"resolved": "https://registry.npmjs.org/speedline-core/-/speedline-core-1.4.3.tgz",
"integrity": "sha512-DI7/OuAUD+GMpR6dmu8lliO2Wg5zfeh+/xsdyJZCzd8o5JgFUjCeLsBDuZjIQJdwXS3J0L/uZYrELKYqx+PXog==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/node": "*",
"image-ssim": "^0.2.0",
@@ -19598,13 +19266,15 @@
"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==",
- "dev": true
+ "dev": true,
+ "license": "BSD-3-Clause"
},
"node_modules/sshpk": {
"version": "1.18.0",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz",
"integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"asn1": "~0.2.3",
"assert-plus": "^1.0.0",
@@ -19627,9 +19297,8 @@
},
"node_modules/stack-utils": {
"version": "2.0.6",
- "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz",
- "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"escape-string-regexp": "^2.0.0"
},
@@ -19639,24 +19308,21 @@
},
"node_modules/stack-utils/node_modules/escape-string-regexp": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
- "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/stackframe": {
"version": "1.3.4",
- "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz",
- "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/statuses": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
- "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.8"
}
@@ -19666,6 +19332,7 @@
"resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz",
"integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"internal-slot": "^1.0.4"
},
@@ -19678,6 +19345,7 @@
"resolved": "https://registry.npmjs.org/streamx/-/streamx-2.20.1.tgz",
"integrity": "sha512-uTa0mU6WUC65iUvzKH4X9hEdvSW7rbPxPtwfWiLMSj3qTdQbAiUboZTxauKfpFuGIGa1C2BYijZ7wgdUXICJhA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"fast-fifo": "^1.3.2",
"queue-tick": "^1.0.1",
@@ -19689,24 +19357,21 @@
},
"node_modules/string_decoder": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"safe-buffer": "~5.1.0"
}
},
"node_modules/string_decoder/node_modules/safe-buffer": {
"version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/string-argv": {
"version": "0.3.2",
- "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz",
- "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.6.19"
}
@@ -19716,6 +19381,7 @@
"resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz",
"integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"char-regex": "^1.0.2",
"strip-ansi": "^6.0.0"
@@ -19726,9 +19392,8 @@
},
"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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
@@ -19740,15 +19405,15 @@
},
"node_modules/string-width/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==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/string.prototype.includes": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.0.tgz",
"integrity": "sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"define-properties": "^1.1.3",
"es-abstract": "^1.17.5"
@@ -19759,6 +19424,7 @@
"resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz",
"integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1",
@@ -19785,6 +19451,7 @@
"resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz",
"integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"define-properties": "^1.1.3",
"es-abstract": "^1.17.5"
@@ -19795,6 +19462,7 @@
"resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz",
"integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1",
@@ -19813,6 +19481,7 @@
"resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz",
"integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1",
@@ -19827,6 +19496,7 @@
"resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz",
"integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1",
@@ -19841,9 +19511,8 @@
},
"node_modules/strip-ansi": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-regex": "^5.0.1"
},
@@ -19856,15 +19525,15 @@
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
"integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/strip-final-newline": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
- "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
@@ -19874,6 +19543,7 @@
"resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
"integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"min-indent": "^1.0.0"
},
@@ -19883,9 +19553,8 @@
},
"node_modules/strip-json-comments": {
"version": "3.1.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
- "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
},
@@ -19895,9 +19564,8 @@
},
"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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"escape-string-regexp": "^1.0.2"
},
@@ -19907,9 +19575,8 @@
},
"node_modules/strip-outer/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==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.8.0"
}
@@ -19918,13 +19585,13 @@
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz",
"integrity": "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/stylehacks": {
"version": "6.0.2",
- "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.0.2.tgz",
- "integrity": "sha512-00zvJGnCu64EpMjX8b5iCZ3us2Ptyw8+toEkb92VdmkEaRaSGBNKAoK6aWZckhXxmQP8zWiTaFaiMGIU8Ve8sg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"browserslist": "^4.22.2",
"postcss-selector-parser": "^6.0.15"
@@ -19941,6 +19608,7 @@
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.16.1.tgz",
"integrity": "sha512-ErlzR/T3hhbV+a925/gbfc3f3Fep9/bnspMiJPorfGEmcBbXdS+oo6LrVtoUZ/w9fqD6o6k7PtUlCOsCRdjX/A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@csstools/selector-specificity": "^2.0.2",
"balanced-match": "^2.0.0",
@@ -19997,6 +19665,7 @@
"resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-6.0.0.tgz",
"integrity": "sha512-ZorSSdyMcxWpROYUvLEMm0vSZud2uB7tX1hzBZwvVY9SV/uly4AvvJPPhCcymZL3fcQhEQG5AELmrxWqtmzacw==",
"dev": true,
+ "license": "MIT",
"peerDependencies": {
"stylelint": "^14.0.0"
}
@@ -20006,6 +19675,7 @@
"resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-5.0.2.tgz",
"integrity": "sha512-b14BSZjcwW0hqbzm9b0S/ScN2+3CO3O4vcMNOw2KGf8lfVSwJ4p5TbNEXKwKl1+0FMtgRXZj6DqVUe/7nGnuBg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"postcss-scss": "^4.0.2",
"stylelint-config-recommended": "^6.0.0",
@@ -20020,6 +19690,7 @@
"resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-4.7.0.tgz",
"integrity": "sha512-TSUgIeS0H3jqDZnby1UO1Qv3poi1N8wUYIJY6D1tuUq2MN3lwp/rITVo0wD+1SWTmRm0tNmGO0b7nKInnqF6Hg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"postcss-media-query-parser": "^0.2.3",
"postcss-resolve-nested-selector": "^0.1.1",
@@ -20034,13 +19705,15 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz",
"integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/stylelint/node_modules/cosmiconfig": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
"integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/parse-json": "^4.0.0",
"import-fresh": "^3.2.1",
@@ -20057,6 +19730,7 @@
"resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
"integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"global-prefix": "^3.0.0"
},
@@ -20069,6 +19743,7 @@
"resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
"integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ini": "^1.3.5",
"kind-of": "^6.0.2",
@@ -20082,13 +19757,15 @@
"version": "1.3.8",
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
"integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/stylelint/node_modules/kind-of": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
"integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -20098,15 +19775,15 @@
"resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
"integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": ">= 6"
}
},
"node_modules/supports-color": {
"version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"has-flag": "^4.0.0"
},
@@ -20116,9 +19793,8 @@
},
"node_modules/supports-hyperlinks": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz",
- "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"has-flag": "^4.0.0",
"supports-color": "^7.0.0"
@@ -20129,9 +19805,8 @@
},
"node_modules/supports-preserve-symlinks-flag": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
- "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
},
@@ -20141,15 +19816,13 @@
},
"node_modules/svg-parser": {
"version": "2.0.4",
- "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz",
- "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/svg-react-loader": {
"version": "0.4.6",
- "resolved": "https://registry.npmjs.org/svg-react-loader/-/svg-react-loader-0.4.6.tgz",
- "integrity": "sha512-HVEypjWQsQuJdBIPzXGxpmQsQts7QwfQuYgK1rah6BVCMoLNSCh/ESKVNd7/tHq8DkWYHHTyaUMDA1FjqZYrgA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"css": "2.2.4",
"loader-utils": "1.1.0",
@@ -20161,36 +19834,32 @@
},
"node_modules/svg-react-loader/node_modules/big.js": {
"version": "3.2.0",
- "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
- "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "*"
}
},
"node_modules/svg-react-loader/node_modules/emojis-list": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
- "integrity": "sha512-knHEZMgs8BB+MInokmNTg/OyPlAddghe1YBgNwJBc5zsJi/uyIcXoSDsL/W9ymOsBoBGdPIHXYJ9+qKFwRwDng==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.10"
}
},
"node_modules/svg-react-loader/node_modules/json5": {
"version": "0.5.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
- "integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==",
"dev": true,
+ "license": "MIT",
"bin": {
"json5": "lib/cli.js"
}
},
"node_modules/svg-react-loader/node_modules/loader-utils": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
- "integrity": "sha512-gkD9aSEG9UGglyPcDJqY9YBTUtCLKaBK6ihD2VP1d1X60lTfFspNZNulGBBbUZLkPygy4LySYHyxBpq+VhjObQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"big.js": "^3.1.3",
"emojis-list": "^2.0.0",
@@ -20208,9 +19877,8 @@
},
"node_modules/svgo": {
"version": "3.2.0",
- "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.2.0.tgz",
- "integrity": "sha512-4PP6CMW/V7l/GmKRKzsLR8xxjdHTV4IMvhTnpuHwwBazSIlw5W/5SmPjN8Dwyt7lKbSJrRDgp4t9ph0HgChFBQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@trysound/sax": "0.2.0",
"commander": "^7.2.0",
@@ -20233,24 +19901,23 @@
},
"node_modules/svgo/node_modules/commander": {
"version": "7.2.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
- "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 10"
}
},
"node_modules/symbol-tree": {
"version": "3.2.4",
- "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
- "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/synckit": {
"version": "0.9.1",
"resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.1.tgz",
"integrity": "sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@pkgr/core": "^0.1.0",
"tslib": "^2.6.2"
@@ -20267,6 +19934,7 @@
"resolved": "https://registry.npmjs.org/table/-/table-6.8.2.tgz",
"integrity": "sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"ajv": "^8.0.1",
"lodash.truncate": "^4.4.2",
@@ -20283,6 +19951,7 @@
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
"integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.3",
"fast-uri": "^3.0.1",
@@ -20298,13 +19967,15 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/table/node_modules/slice-ansi": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
"integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.0.0",
"astral-regex": "^2.0.0",
@@ -20319,33 +19990,31 @@
},
"node_modules/taffydb": {
"version": "2.7.3",
- "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.7.3.tgz",
- "integrity": "sha512-GQ3gtYFSOAxSMN/apGtDKKkbJf+8izz5YfbGqIsUc7AMiQOapARZ76dhilRY2h39cynYxBFdafQo5HUL5vgkrg==",
- "dev": true
+ "dev": true,
+ "license": "BSD-2-Clause"
},
"node_modules/tannin": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/tannin/-/tannin-1.2.0.tgz",
"integrity": "sha512-U7GgX/RcSeUETbV7gYgoz8PD7Ni4y95pgIP/Z6ayI3CfhSujwKEBlGFTCRN+Aqnuyf4AN2yHL+L8x+TCGjb9uA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@tannin/plural-forms": "^1.1.0"
}
},
"node_modules/tapable": {
"version": "2.2.1",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
- "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"chownr": "^1.1.1",
"mkdirp-classic": "^0.5.2",
@@ -20355,9 +20024,8 @@
},
"node_modules/tar-stream": {
"version": "2.2.0",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
- "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"bl": "^4.0.3",
"end-of-stream": "^1.4.1",
@@ -20371,9 +20039,8 @@
},
"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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
@@ -20385,24 +20052,21 @@
},
"node_modules/tcomb": {
"version": "3.2.29",
- "resolved": "https://registry.npmjs.org/tcomb/-/tcomb-3.2.29.tgz",
- "integrity": "sha512-di2Hd1DB2Zfw6StGv861JoAF5h/uQVu/QJp2g8KVbtfKnoHdBQl5M32YWq6mnSYBQ1vFFrns5B1haWJL7rKaOQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/tcomb-validation": {
"version": "3.4.1",
- "resolved": "https://registry.npmjs.org/tcomb-validation/-/tcomb-validation-3.4.1.tgz",
- "integrity": "sha512-urVVMQOma4RXwiVCa2nM2eqrAomHROHvWPuj6UkDGz/eb5kcy0x6P0dVt6kzpUZtYMNoAqJLWmz1BPtxrtjtrA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"tcomb": "^3.0.0"
}
},
"node_modules/terminal-link": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz",
- "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-escapes": "^4.2.1",
"supports-hyperlinks": "^2.0.0"
@@ -20416,9 +20080,8 @@
},
"node_modules/terser": {
"version": "5.27.2",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.27.2.tgz",
- "integrity": "sha512-sHXmLSkImesJ4p5apTeT63DsV4Obe1s37qT8qvwHRmVxKTBH7Rv9Wr26VcAMmLbmk9UliiwK8z+657NyJHHy/w==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"@jridgewell/source-map": "^0.3.3",
"acorn": "^8.8.2",
@@ -20434,9 +20097,8 @@
},
"node_modules/terser-webpack-plugin": {
"version": "5.3.10",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz",
- "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jridgewell/trace-mapping": "^0.3.20",
"jest-worker": "^27.4.5",
@@ -20468,9 +20130,8 @@
},
"node_modules/terser-webpack-plugin/node_modules/jest-worker": {
"version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
- "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/node": "*",
"merge-stream": "^2.0.0",
@@ -20482,9 +20143,8 @@
},
"node_modules/terser-webpack-plugin/node_modules/supports-color": {
"version": "8.1.1",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
- "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"has-flag": "^4.0.0"
},
@@ -20497,24 +20157,21 @@
},
"node_modules/terser/node_modules/commander": {
"version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/terser/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==",
"dev": true,
+ "license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/terser/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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"buffer-from": "^1.0.0",
"source-map": "^0.6.0"
@@ -20525,6 +20182,7 @@
"resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
"integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"@istanbuljs/schema": "^0.1.2",
"glob": "^7.1.4",
@@ -20539,6 +20197,7 @@
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -20549,6 +20208,7 @@
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -20561,6 +20221,7 @@
"resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.0.tgz",
"integrity": "sha512-n1yg1mOj9DNpk3NeZOx7T6jchTbyJS3i3cucbNN6FcdPriMZx7NsgrGpWWdWZZGxD7ES1XB+3uoqHMgOKaN+fg==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"b4a": "^1.6.4"
}
@@ -20569,39 +20230,37 @@
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
"integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/third-party-web": {
"version": "0.23.4",
"resolved": "https://registry.npmjs.org/third-party-web/-/third-party-web-0.23.4.tgz",
"integrity": "sha512-kwYnSZRhEvv0SBW2fp8SBBKRglMoBjV8xz6C31m0ewqOtknB5UL+Ihg+M81hyFY5ldkZuGWPb+e4GVDkzf/gYg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/throttleit": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.1.tgz",
- "integrity": "sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==",
"dev": true,
+ "license": "MIT",
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/through": {
"version": "2.3.8",
- "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
- "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/thunky": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz",
- "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/tippy.js": {
"version": "6.3.7",
- "resolved": "https://registry.npmjs.org/tippy.js/-/tippy.js-6.3.7.tgz",
- "integrity": "sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ==",
+ "license": "MIT",
"dependencies": {
"@popperjs/core": "^2.9.0"
}
@@ -20611,6 +20270,7 @@
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz",
"integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=14.14"
}
@@ -20619,22 +20279,21 @@
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz",
"integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==",
- "dev": true
+ "dev": true,
+ "license": "BSD-3-Clause"
},
"node_modules/to-fast-properties": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
- "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
},
"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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-number": "^7.0.0"
},
@@ -20644,27 +20303,24 @@
},
"node_modules/toidentifier": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
- "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.6"
}
},
"node_modules/totalist": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz",
- "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/tough-cookie": {
"version": "4.1.3",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz",
- "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"psl": "^1.1.33",
"punycode": "^2.1.1",
@@ -20677,18 +20333,16 @@
},
"node_modules/tough-cookie/node_modules/universalify": {
"version": "0.2.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz",
- "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 4.0.0"
}
},
"node_modules/tr46": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz",
- "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"punycode": "^2.1.1"
},
@@ -20698,15 +20352,13 @@
},
"node_modules/traverse": {
"version": "0.6.6",
- "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz",
- "integrity": "sha512-kdf4JKs8lbARxWdp7RKdNzoJBhGUcIalSYibuGyHJbmk40pOysQ0+QPvlkCOICOivDWU2IJo2rkrxyTK2AH4fw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/tree-kill": {
"version": "1.2.2",
- "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz",
- "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==",
"dev": true,
+ "license": "MIT",
"bin": {
"tree-kill": "cli.js"
}
@@ -20716,15 +20368,15 @@
"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz",
"integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"escape-string-regexp": "^1.0.2"
},
@@ -20734,9 +20386,8 @@
},
"node_modules/trim-repeated/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==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.8.0"
}
@@ -20746,6 +20397,7 @@
"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz",
"integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=16"
},
@@ -20758,6 +20410,7 @@
"resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz",
"integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/json5": "^0.0.29",
"json5": "^1.0.2",
@@ -20770,6 +20423,7 @@
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"minimist": "^1.2.0"
},
@@ -20782,20 +20436,21 @@
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
"integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
},
"node_modules/tslib": {
"version": "2.6.2",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
- "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
+ "license": "0BSD"
},
"node_modules/tsutils": {
"version": "3.21.0",
"resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
"integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"tslib": "^1.8.1"
},
@@ -20810,13 +20465,15 @@
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
+ "dev": true,
+ "license": "0BSD"
},
"node_modules/tunnel-agent": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
"integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"safe-buffer": "^5.0.1"
},
@@ -20828,13 +20485,15 @@
"version": "0.14.5",
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
"integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==",
- "dev": true
+ "dev": true,
+ "license": "Unlicense"
},
"node_modules/type-check": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
"integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"prelude-ls": "^1.2.1"
},
@@ -20844,18 +20503,16 @@
},
"node_modules/type-detect": {
"version": "4.0.8",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
- "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
},
"node_modules/type-fest": {
"version": "0.21.3",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
- "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
"dev": true,
+ "license": "(MIT OR CC0-1.0)",
"engines": {
"node": ">=10"
},
@@ -20865,9 +20522,8 @@
},
"node_modules/type-is": {
"version": "1.6.18",
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
- "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"media-typer": "0.3.0",
"mime-types": "~2.1.24"
@@ -20881,6 +20537,7 @@
"resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz",
"integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"es-errors": "^1.3.0",
@@ -20895,6 +20552,7 @@
"resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz",
"integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"for-each": "^0.3.3",
@@ -20914,6 +20572,7 @@
"resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz",
"integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"available-typed-arrays": "^1.0.7",
"call-bind": "^1.0.7",
@@ -20934,6 +20593,7 @@
"resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz",
"integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"for-each": "^0.3.3",
@@ -20951,24 +20611,23 @@
},
"node_modules/typedarray": {
"version": "0.0.6",
- "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/typedarray-to-buffer": {
"version": "3.1.5",
"resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
"integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-typedarray": "^1.0.0"
}
},
"node_modules/typescript": {
"version": "5.3.3",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz",
- "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==",
"dev": true,
+ "license": "Apache-2.0",
"peer": true,
"bin": {
"tsc": "bin/tsc",
@@ -20980,15 +20639,15 @@
},
"node_modules/uc.micro": {
"version": "1.0.6",
- "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz",
- "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/unbox-primitive": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
"integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.2",
"has-bigints": "^1.0.2",
@@ -21001,9 +20660,8 @@
},
"node_modules/unbzip2-stream": {
"version": "1.4.3",
- "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz",
- "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"buffer": "^5.2.1",
"through": "^2.3.8"
@@ -21011,30 +20669,26 @@
},
"node_modules/underscore": {
"version": "1.13.6",
- "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz",
- "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/undici-types": {
"version": "5.26.5",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
- "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/unicode-canonical-property-names-ecmascript": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz",
- "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
},
"node_modules/unicode-match-property-ecmascript": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz",
- "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"unicode-canonical-property-names-ecmascript": "^2.0.0",
"unicode-property-aliases-ecmascript": "^2.0.0"
@@ -21045,18 +20699,16 @@
},
"node_modules/unicode-match-property-value-ecmascript": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz",
- "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
},
"node_modules/unicode-property-aliases-ecmascript": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz",
- "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
@@ -21066,6 +20718,7 @@
"resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz",
"integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"crypto-random-string": "^2.0.0"
},
@@ -21075,27 +20728,24 @@
},
"node_modules/universalify": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
- "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 10.0.0"
}
},
"node_modules/unpipe": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
- "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/untildify": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz",
- "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -21119,6 +20769,7 @@
"url": "https://github.com/sponsors/ai"
}
],
+ "license": "MIT",
"dependencies": {
"escalade": "^3.2.0",
"picocolors": "^1.1.0"
@@ -21134,6 +20785,7 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/upper-case/-/upper-case-2.0.2.tgz",
"integrity": "sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==",
+ "license": "MIT",
"dependencies": {
"tslib": "^2.0.3"
}
@@ -21142,31 +20794,28 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz",
"integrity": "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==",
+ "license": "MIT",
"dependencies": {
"tslib": "^2.0.3"
}
},
"node_modules/uri-js": {
"version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"punycode": "^2.1.0"
}
},
"node_modules/urix": {
"version": "0.1.0",
- "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
- "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==",
- "deprecated": "Please see https://github.com/lydell/urix#deprecated",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/url-loader": {
"version": "4.1.1",
- "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz",
- "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"loader-utils": "^2.0.0",
"mime-types": "^2.1.27",
@@ -21191,9 +20840,8 @@
},
"node_modules/url-parse": {
"version": "1.5.10",
- "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
- "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"querystringify": "^2.1.1",
"requires-port": "^1.0.0"
@@ -21201,24 +20849,21 @@
},
"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==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/utils-merge": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
- "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.4.0"
}
},
"node_modules/uuid": {
"version": "8.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
- "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
"dev": true,
+ "license": "MIT",
"bin": {
"uuid": "dist/bin/uuid"
}
@@ -21227,13 +20872,15 @@
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz",
"integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/v8-to-istanbul": {
"version": "9.3.0",
"resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz",
"integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"@jridgewell/trace-mapping": "^0.3.12",
"@types/istanbul-lib-coverage": "^2.0.1",
@@ -21248,6 +20895,7 @@
"resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
"integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"spdx-correct": "^3.0.0",
"spdx-expression-parse": "^3.0.0"
@@ -21258,6 +20906,7 @@
"resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
"integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"spdx-exceptions": "^2.1.0",
"spdx-license-ids": "^3.0.0"
@@ -21268,24 +20917,23 @@
"resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz",
"integrity": "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
"node_modules/validator": {
"version": "13.11.0",
- "resolved": "https://registry.npmjs.org/validator/-/validator-13.11.0.tgz",
- "integrity": "sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.10"
}
},
"node_modules/vary": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
- "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.8"
}
@@ -21298,6 +20946,7 @@
"engines": [
"node >=0.6.0"
],
+ "license": "MIT",
"dependencies": {
"assert-plus": "^1.0.0",
"core-util-is": "1.0.2",
@@ -21308,13 +20957,13 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
"integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/w3c-xmlserializer": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz",
- "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"xml-name-validator": "^4.0.0"
},
@@ -21324,9 +20973,8 @@
},
"node_modules/wait-on": {
"version": "7.2.0",
- "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-7.2.0.tgz",
- "integrity": "sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"axios": "^1.6.1",
"joi": "^17.11.0",
@@ -21343,9 +20991,8 @@
},
"node_modules/wait-on/node_modules/rxjs": {
"version": "7.8.1",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
- "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"tslib": "^2.1.0"
}
@@ -21355,15 +21002,15 @@
"resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz",
"integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"makeerror": "1.0.12"
}
},
"node_modules/watchpack": {
"version": "2.4.2",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz",
- "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"glob-to-regexp": "^0.4.1",
"graceful-fs": "^4.1.2"
@@ -21374,18 +21021,16 @@
},
"node_modules/wbuf": {
"version": "1.7.3",
- "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz",
- "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"minimalistic-assert": "^1.0.0"
}
},
"node_modules/wcwidth": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
- "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"defaults": "^1.0.3"
}
@@ -21394,22 +21039,21 @@
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-3.5.2.tgz",
"integrity": "sha512-c0rhqNcHXRkY/ogGDJQxZ9Im9D19hDihbzSQJrsioex+KnFgmMzBiy57Z1EjkhX/+OjyBpclDCzz2ITtjokFmg==",
- "dev": true
+ "dev": true,
+ "license": "Apache-2.0"
},
"node_modules/webidl-conversions": {
"version": "7.0.0",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
- "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
"dev": true,
+ "license": "BSD-2-Clause",
"engines": {
"node": ">=12"
}
},
"node_modules/webpack": {
"version": "5.94.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz",
- "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/estree": "^1.0.5",
"@webassemblyjs/ast": "^1.12.1",
@@ -21453,9 +21097,8 @@
},
"node_modules/webpack-bundle-analyzer": {
"version": "4.10.1",
- "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.1.tgz",
- "integrity": "sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@discoveryjs/json-ext": "0.5.7",
"acorn": "^8.0.4",
@@ -21480,18 +21123,16 @@
},
"node_modules/webpack-bundle-analyzer/node_modules/commander": {
"version": "7.2.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
- "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 10"
}
},
"node_modules/webpack-bundle-analyzer/node_modules/ws": {
"version": "7.5.10",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz",
- "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8.3.0"
},
@@ -21510,9 +21151,8 @@
},
"node_modules/webpack-cli": {
"version": "5.1.4",
- "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz",
- "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@discoveryjs/json-ext": "^0.5.0",
"@webpack-cli/configtest": "^2.1.1",
@@ -21555,18 +21195,16 @@
},
"node_modules/webpack-cli/node_modules/commander": {
"version": "10.0.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz",
- "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=14"
}
},
"node_modules/webpack-cli/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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"path-key": "^3.1.0",
"shebang-command": "^2.0.0",
@@ -21578,9 +21216,8 @@
},
"node_modules/webpack-cli/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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"shebang-regex": "^3.0.0"
},
@@ -21590,18 +21227,16 @@
},
"node_modules/webpack-cli/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==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/webpack-cli/node_modules/which": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"isexe": "^2.0.0"
},
@@ -21614,9 +21249,8 @@
},
"node_modules/webpack-dev-middleware": {
"version": "5.3.4",
- "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz",
- "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"colorette": "^2.0.10",
"memfs": "^3.4.3",
@@ -21637,9 +21271,8 @@
},
"node_modules/webpack-dev-middleware/node_modules/ajv": {
"version": "8.12.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
- "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.1",
"json-schema-traverse": "^1.0.0",
@@ -21653,9 +21286,8 @@
},
"node_modules/webpack-dev-middleware/node_modules/ajv-keywords": {
"version": "5.1.0",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
- "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.3"
},
@@ -21665,15 +21297,13 @@
},
"node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/webpack-dev-middleware/node_modules/schema-utils": {
"version": "4.2.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz",
- "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/json-schema": "^7.0.9",
"ajv": "^8.9.0",
@@ -21690,9 +21320,8 @@
},
"node_modules/webpack-dev-server": {
"version": "4.15.1",
- "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz",
- "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/bonjour": "^3.5.9",
"@types/connect-history-api-fallback": "^1.3.5",
@@ -21749,9 +21378,8 @@
},
"node_modules/webpack-dev-server/node_modules/ajv": {
"version": "8.12.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
- "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.1",
"json-schema-traverse": "^1.0.0",
@@ -21765,9 +21393,8 @@
},
"node_modules/webpack-dev-server/node_modules/ajv-keywords": {
"version": "5.1.0",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
- "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.3"
},
@@ -21777,15 +21404,13 @@
},
"node_modules/webpack-dev-server/node_modules/json-schema-traverse": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/webpack-dev-server/node_modules/schema-utils": {
"version": "4.2.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz",
- "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/json-schema": "^7.0.9",
"ajv": "^8.9.0",
@@ -21802,9 +21427,8 @@
},
"node_modules/webpack-merge": {
"version": "5.10.0",
- "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz",
- "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"clone-deep": "^4.0.1",
"flat": "^5.0.2",
@@ -21816,9 +21440,8 @@
},
"node_modules/webpack-merge/node_modules/clone-deep": {
"version": "4.0.1",
- "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
- "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-plain-object": "^2.0.4",
"kind-of": "^6.0.2",
@@ -21830,9 +21453,8 @@
},
"node_modules/webpack-merge/node_modules/is-plain-object": {
"version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"isobject": "^3.0.1"
},
@@ -21842,18 +21464,16 @@
},
"node_modules/webpack-merge/node_modules/kind-of": {
"version": "6.0.3",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/webpack-merge/node_modules/shallow-clone": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
- "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"kind-of": "^6.0.2"
},
@@ -21863,18 +21483,16 @@
},
"node_modules/webpack-sources": {
"version": "3.2.3",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
- "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10.13.0"
}
},
"node_modules/websocket-driver": {
"version": "0.7.4",
- "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz",
- "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"http-parser-js": ">=0.5.1",
"safe-buffer": ">=5.1.0",
@@ -21886,18 +21504,16 @@
},
"node_modules/websocket-extensions": {
"version": "0.1.4",
- "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz",
- "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": ">=0.8.0"
}
},
"node_modules/whatwg-encoding": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz",
- "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"iconv-lite": "0.6.3"
},
@@ -21907,18 +21523,16 @@
},
"node_modules/whatwg-mimetype": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz",
- "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
}
},
"node_modules/whatwg-url": {
"version": "11.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
- "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"tr46": "^3.0.0",
"webidl-conversions": "^7.0.0"
@@ -21929,9 +21543,8 @@
},
"node_modules/which": {
"version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"isexe": "^2.0.0"
},
@@ -21944,6 +21557,7 @@
"resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
"integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-bigint": "^1.0.1",
"is-boolean-object": "^1.1.0",
@@ -21960,6 +21574,7 @@
"resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz",
"integrity": "sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"function.prototype.name": "^1.1.6",
"has-tostringtag": "^1.0.2",
@@ -21985,13 +21600,15 @@
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
"integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/which-collection": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz",
"integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-map": "^2.0.3",
"is-set": "^2.0.3",
@@ -22007,15 +21624,15 @@
},
"node_modules/which-module": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz",
- "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/which-typed-array": {
"version": "1.1.15",
"resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz",
"integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"available-typed-arrays": "^1.0.7",
"call-bind": "^1.0.7",
@@ -22032,37 +21649,34 @@
},
"node_modules/wildcard": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz",
- "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/word-wrap": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
"integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/workerpool": {
"version": "6.2.1",
- "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz",
- "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==",
"dev": true,
+ "license": "Apache-2.0",
"peer": true
},
"node_modules/wp-hookdoc": {
"version": "0.2.0",
- "resolved": "https://registry.npmjs.org/wp-hookdoc/-/wp-hookdoc-0.2.0.tgz",
- "integrity": "sha512-BDVfqSA+L7Ho99McFu0ATwJRddaSVbUH/lgoe4RFP7Ktg3kiRtp7VHGIIdn+QhQN7ZtLmCBMpqtEChDvaGDppw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
@@ -22077,15 +21691,15 @@
},
"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==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/write-file-atomic": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz",
"integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"imurmurhash": "^0.1.4",
"signal-exit": "^3.0.7"
@@ -22095,10 +21709,9 @@
}
},
"node_modules/ws": {
- "version": "8.18.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz",
- "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==",
+ "version": "8.17.1",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10.0.0"
},
@@ -22120,24 +21733,23 @@
"resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz",
"integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/xml-name-validator": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz",
- "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": ">=12"
}
},
"node_modules/xml2js": {
"version": "0.4.17",
- "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.17.tgz",
- "integrity": "sha512-1O7wk/NTQN0UEOItIYTxK4qP4sMUVU60MbF4Nj0a8jd6eebMXOicVI/KFOEsYKKH4uBpx6XG9ZGZctXK5rtO5Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"sax": ">=0.6.0",
"xmlbuilder": "^4.1.0"
@@ -22145,9 +21757,8 @@
},
"node_modules/xmlbuilder": {
"version": "4.2.1",
- "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.2.1.tgz",
- "integrity": "sha512-oEePiEefhQhAeUnwRnIBLBWmk/fsWWbQ53EEWsRuzECbQ3m5o/Esmq6H47CYYwSLW+Ynt0rS9hd0pd2ogMAWjg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"lodash": "^4.0.0"
},
@@ -22157,48 +21768,39 @@
},
"node_modules/xmlchars": {
"version": "2.2.0",
- "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
- "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/xmlcreate": {
"version": "2.0.4",
- "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz",
- "integrity": "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==",
- "dev": true
+ "dev": true,
+ "license": "Apache-2.0"
},
"node_modules/y18n": {
"version": "5.0.8",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": ">=10"
}
},
"node_modules/yallist": {
"version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
- "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/yaml": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz",
- "integrity": "sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==",
+ "version": "2.3.4",
"dev": true,
- "bin": {
- "yaml": "bin.mjs"
- },
+ "license": "ISC",
"engines": {
"node": ">= 14"
}
},
"node_modules/yargs": {
"version": "17.7.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
- "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"cliui": "^8.0.1",
"escalade": "^3.1.1",
@@ -22214,18 +21816,16 @@
},
"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==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": ">=12"
}
},
"node_modules/yargs-unparser": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
- "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
"dev": true,
+ "license": "MIT",
"peer": true,
"dependencies": {
"camelcase": "^6.0.0",
@@ -22239,9 +21839,8 @@
},
"node_modules/yargs-unparser/node_modules/decamelize": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
- "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
"dev": true,
+ "license": "MIT",
"peer": true,
"engines": {
"node": ">=10"
@@ -22252,9 +21851,8 @@
},
"node_modules/yargs-unparser/node_modules/is-plain-obj": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
- "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
"dev": true,
+ "license": "MIT",
"peer": true,
"engines": {
"node": ">=8"
@@ -22262,9 +21860,8 @@
},
"node_modules/yauzl": {
"version": "2.10.0",
- "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
- "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"buffer-crc32": "~0.2.3",
"fd-slicer": "~1.1.0"
@@ -22272,9 +21869,8 @@
},
"node_modules/yocto-queue": {
"version": "0.1.0",
- "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
- "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
},
diff --git a/package.json b/package.json
index 5c68b0adc..7d6ad6a0b 100644
--- a/package.json
+++ b/package.json
@@ -37,13 +37,13 @@
},
"devDependencies": {
"@10up/cypress-wp-utils": "^0.4.0",
- "@wordpress/env": "^10.8.0",
+ "@wordpress/env": "^10.9.0",
"@wordpress/scripts": "27.9.0",
"cypress": "^13.15.0",
"cypress-file-upload": "^5.0.8",
"cypress-mochawesome-reporter": "^3.8.2",
"cypress-plugin-tab": "^1.0.5",
- "husky": "^8.0.3",
+ "husky": "^9.1.6",
"jsdoc": "^4.0.3",
"lint-staged": "^15.2.10",
"mochawesome-json-to-md": "^0.7.2",
@@ -53,8 +53,10 @@
"wp-hookdoc": "^0.2.0"
},
"dependencies": {
- "@wordpress/icons": "^10.8.0",
- "choices.js": "^10.2.0",
+ "@wordpress/icons": "^10.9.0",
+ "choices.js": "^11.0.2",
+ "classnames": "^2.5.1",
+ "react-router-dom": "^6.27.0",
"tippy.js": "^6.3.7"
}
}
diff --git a/src/js/features/classification/previewer.js b/src/js/features/classification/previewer.js
index 176ab31cc..80b51a3e7 100644
--- a/src/js/features/classification/previewer.js
+++ b/src/js/features/classification/previewer.js
@@ -262,9 +262,9 @@ import './previewer.scss';
return;
}
- const htmlData = buildPreviewUI( data.data );
+ const fragment = buildPreviewUIForEmbeddings( data.data );
previewWrapper.style.display = 'block';
- previewWrapper.innerHTML = htmlData;
+ previewWrapper.replaceChildren( fragment );
// remove all .tax-row--hide
document
@@ -283,6 +283,68 @@ import './previewer.scss';
};
previewEmbeddings();
+ function buildPreviewUIForEmbeddings( filteredItems ) {
+ // Create a document fragment to hold the generated DOM elements.
+ const fragment = document.createDocumentFragment();
+
+ // Iterate over the categories in filteredItems.
+ Object.keys( filteredItems ).forEach( ( categoryKey ) => {
+ const category = filteredItems[ categoryKey ];
+
+ // Create the category row container.
+ const taxRowDiv = document.createElement( 'div' );
+ taxRowDiv.className = `tax-row tax-row--${ categoryKey } ${
+ featureStatuses[ `${ categoryKey }Status` ]
+ ? ''
+ : 'tax-row--hide'
+ }`;
+
+ // Create and append the category label div.
+ const taxTypeDiv = document.createElement( 'div' );
+ taxTypeDiv.className = `tax-type tax-type--${ categoryKey }`;
+ taxTypeDiv.textContent = category.label;
+ taxRowDiv.appendChild( taxTypeDiv );
+
+ // Iterate over the items in the category.
+ category.data.forEach( ( item ) => {
+ let rating = item?.score || 0;
+ let name = item?.label || '';
+
+ const width = 300 + 300 * rating;
+ rating = ( rating * 100 ).toFixed( 2 );
+ name = name
+ .split( '/' )
+ .filter( ( i ) => '' !== i )
+ .join( ', ' );
+
+ // Create the item cell.
+ const taxCellDiv = document.createElement( 'div' );
+ taxCellDiv.className = 'tax-cell';
+ taxCellDiv.style.width = `${ width }px`;
+
+ // Create and append the rating span.
+ const taxScoreSpan = document.createElement( 'span' );
+ taxScoreSpan.className = 'tax-score';
+ taxScoreSpan.textContent = `${ rating }%`;
+ taxCellDiv.appendChild( taxScoreSpan );
+
+ // Create and append the label span.
+ const taxLabelSpan = document.createElement( 'span' );
+ taxLabelSpan.className = 'tax-label';
+ taxLabelSpan.textContent = name;
+ taxCellDiv.appendChild( taxLabelSpan );
+
+ // Append the cell to the category row.
+ taxRowDiv.appendChild( taxCellDiv );
+ } );
+
+ // Append the category row to the fragment.
+ fragment.appendChild( taxRowDiv );
+ } );
+
+ return fragment;
+ }
+
/**
* Builds user readable HTML data from the response by NLU.
*
diff --git a/src/js/settings/components/allowed-roles/index.js b/src/js/settings/components/allowed-roles/index.js
new file mode 100644
index 000000000..91d9ce1b0
--- /dev/null
+++ b/src/js/settings/components/allowed-roles/index.js
@@ -0,0 +1,61 @@
+/**
+ * WordPress dependencies
+ */
+import { useSelect, useDispatch } from '@wordpress/data';
+import { CheckboxControl } from '@wordpress/components';
+import { __ } from '@wordpress/i18n';
+
+/**
+ * Internal dependencies
+ */
+import { getFeature } from '../../utils/utils';
+import { STORE_NAME } from '../../data/store';
+import { SettingsRow } from '../settings-row';
+import { useFeatureContext } from '../feature-settings/context';
+
+/**
+ * React Component for selecting user roles to provide access to a specific feature.
+ *
+ * This component is utilized in the feature settings page under the "User Permissions" section.
+ * It allows administrators to specify which user roles are permitted to access the feature.
+ *
+ * @return {React.ReactElement} AllowedRoles component.
+ */
+export const AllowedRoles = () => {
+ const { featureName } = useFeatureContext();
+ const { setFeatureSettings } = useDispatch( STORE_NAME );
+ const roles = useSelect(
+ ( select ) => select( STORE_NAME ).getFeatureSettings( 'roles' ) || {}
+ );
+ const feature = getFeature( featureName );
+ const featureRoles = feature.roles || {};
+ return (
+
+ { Object.keys( featureRoles ).map( ( role ) => {
+ return (
+ {
+ setFeatureSettings( {
+ roles: {
+ ...roles,
+ [ role ]: value ? role : '0',
+ },
+ } );
+ } }
+ />
+ );
+ } ) }
+
+ );
+};
diff --git a/src/js/settings/components/classifai-onboarding/classifai-registration.js b/src/js/settings/components/classifai-onboarding/classifai-registration.js
new file mode 100644
index 000000000..06baf4f45
--- /dev/null
+++ b/src/js/settings/components/classifai-onboarding/classifai-registration.js
@@ -0,0 +1,48 @@
+/**
+ * External dependencies
+ */
+import { useNavigate } from 'react-router-dom';
+
+/**
+ * WordPress dependencies
+ */
+import { Button, Fill } from '@wordpress/components';
+import { __ } from '@wordpress/i18n';
+
+/**
+ * Internal dependencies
+ */
+import { ClassifAIRegistrationForm } from '../classifai-registration';
+import { useSetupPage } from './hooks';
+
+/**
+ * ClassifAI Registration Step Component for the Onboarding Process.
+ *
+ * This component is responsible for rendering the registration step in the ClassifAI onboarding process.
+ * It utilizes the ClassifAIRegistrationForm component to display the registration form.
+ *
+ * @return {React.ReactElement} ClassifAIRegistrationStep component.
+ */
+export const ClassifAIRegistrationStep = () => {
+ const navigate = useNavigate();
+ const { nextStepPath } = useSetupPage();
+ return (
+ <>
+
+ { __( 'Register ClassifAI', 'classifai' ) }
+
+
+
+ navigate( nextStepPath ) }
+ />
+
+ navigate( nextStepPath ) }>
+ { __( 'Skip for now', 'classifai' ) }
+
+
+
+
+ >
+ );
+};
diff --git a/src/js/settings/components/classifai-onboarding/configure-features.js b/src/js/settings/components/classifai-onboarding/configure-features.js
new file mode 100644
index 000000000..cd1fa6b81
--- /dev/null
+++ b/src/js/settings/components/classifai-onboarding/configure-features.js
@@ -0,0 +1,103 @@
+/**
+ * External dependencies
+ */
+import { useNavigate } from 'react-router-dom';
+
+/**
+ * WordPress dependencies
+ */
+import { useState } from '@wordpress/element';
+import { useSelect } from '@wordpress/data';
+import { Fill, SlotFillProvider, Button } from '@wordpress/components';
+import { __ } from '@wordpress/i18n';
+
+/**
+ * Internal dependencies
+ */
+import { FeatureSettings } from '..';
+import { FeatureContext } from '../feature-settings/context';
+import { getFeature, isFeatureActive } from '../../utils/utils';
+import { STORE_NAME } from '../../data/store';
+import { useSetupPage } from './hooks';
+
+/**
+ * React Component for configuring the AI providers step in the onboarding process.
+ *
+ * This component uses the FeatureSettings component to render the settings for each AI provider feature.
+ *
+ * @return {React.ReactElement} ConfigureFeatures component.
+ */
+export const ConfigureFeatures = () => {
+ const settings = useSelect( ( select ) =>
+ select( STORE_NAME ).getSettings()
+ );
+ const enabledFeatures = Object.keys( settings ).filter(
+ ( feature ) => settings[ feature ].status === '1'
+ );
+ const { nextStepPath } = useSetupPage();
+ const navigate = useNavigate();
+ const [ currentFeature, setCurrentFeature ] = useState(
+ enabledFeatures[ 0 ]
+ );
+ let featureIndex = enabledFeatures.findIndex(
+ ( ef ) => ef === currentFeature
+ );
+
+ const onSaveSuccess = () => {
+ if ( featureIndex + 1 !== enabledFeatures.length ) {
+ setCurrentFeature( enabledFeatures[ ++featureIndex ] );
+ } else {
+ // Navigate to the next step.
+ navigate( nextStepPath );
+ }
+ };
+
+ return (
+ <>
+
+ { __( 'Set up AI Providers', 'classifai' ) }
+
+
+
+ { enabledFeatures.map( ( feature, index ) => {
+ let icon = 'clock';
+ if ( isFeatureActive( settings[ feature ] ) ) {
+ icon = 'yes-alt';
+ } else if (
+ index < enabledFeatures.indexOf( currentFeature )
+ ) {
+ icon = 'warning';
+ }
+
+ return (
+ setCurrentFeature( feature ) }
+ className={ `classifai-tabs-item ${
+ feature === currentFeature && 'active-tab'
+ }` }
+ icon={ icon }
+ >
+ { getFeature( feature ).label }
+
+ );
+ } ) }
+
+
+
+
+
+
+
+ { __( 'Skip for now', 'classifai' ) }
+
+
+
+
+
+
+ >
+ );
+};
diff --git a/src/js/settings/components/classifai-onboarding/enable-features.js b/src/js/settings/components/classifai-onboarding/enable-features.js
new file mode 100644
index 000000000..62aca1cc7
--- /dev/null
+++ b/src/js/settings/components/classifai-onboarding/enable-features.js
@@ -0,0 +1,177 @@
+/**
+ * External dependencies
+ */
+import { useNavigate } from 'react-router-dom';
+
+/**
+ * WordPress dependencies
+ */
+import {
+ ToggleControl,
+ Flex,
+ FlexItem,
+ BaseControl,
+ Button,
+} from '@wordpress/components';
+import { __ } from '@wordpress/i18n';
+import apiFetch from '@wordpress/api-fetch';
+import { useState, useEffect } from '@wordpress/element';
+
+/**
+ * Internal dependencies
+ */
+import { FeatureContext } from '../feature-settings/context';
+import { EnableToggleControl } from '../feature-settings/enable-feature';
+import { SaveSettingsButton } from '../../components/feature-settings/save-settings-button';
+import { useSetupPage } from './hooks';
+
+/**
+ * React Component for the feature enabling step in the onboarding process.
+ *
+ * This component renders the initial step of the onboarding process, allowing users to enable or disable various features.
+ * It utilizes the EnableToggleControl component to display the settings for each feature.
+ *
+ * @return {React.ReactElement} EnableFeatures component.
+ */
+export const EnableFeatures = () => {
+ const [ registrationSettings, setRegistrationSettings ] = useState( {} );
+ const { features, services, dashboardUrl } = window.classifAISettings;
+ const { nextStepPath } = useSetupPage();
+ const navigate = useNavigate();
+
+ // Load the settings.
+ useEffect( () => {
+ ( async () => {
+ let regSettings = {};
+ try {
+ regSettings = await apiFetch( {
+ path: '/classifai/v1/registration',
+ } );
+ } catch ( error ) {
+ console.error( error ); // eslint-disable-line no-console
+ }
+
+ setRegistrationSettings( regSettings );
+ } )();
+ }, [ setRegistrationSettings ] );
+
+ const onSaveSuccess = () => {
+ if ( registrationSettings?.valid_license ) {
+ navigate(
+ nextStepPath?.replace(
+ '/classifai_registration',
+ '/configure_features'
+ )
+ );
+ } else {
+ navigate( nextStepPath );
+ }
+ };
+
+ const featureToggles = Object.keys( services ).map(
+ ( service, serviceIndex ) => (
+
+
+
+ { services[ service ] }
+
+
+ { Object.keys( features[ service ] ).map(
+ ( featureSlug ) => (
+
+
+
+ { ( {
+ feature,
+ status,
+ setFeatureSettings,
+ } ) => {
+ return (
+
+
+
+ {
+ feature.label
+ }
+
+
+
+
+ setFeatureSettings(
+ {
+ status: value
+ ? '1'
+ : '0', // TODO: Use boolean, currently using string for compatibility.
+ }
+ )
+ }
+ />
+
+
+ );
+ } }
+
+
+
+ )
+ ) }
+
+
+ { Object.keys( services ).length !== serviceIndex + 1 && (
+
+ ) }
+
+ )
+ );
+
+ return (
+ <>
+
+ { __( 'Welcome to ClassifAI', 'classifai' ) }
+
+
+
+
+
+
+
+
+
+
+ { __(
+ 'Set up ClassifAI to meet your needs',
+ 'classifai'
+ ) }
+
+ { featureToggles }
+
+ {
+ window.location.href = dashboardUrl;
+ } }
+ >
+ { __( 'Skip for now', 'classifai' ) }
+
+
+
+
+
+
+ >
+ );
+};
diff --git a/src/js/settings/components/classifai-onboarding/finish-step.js b/src/js/settings/components/classifai-onboarding/finish-step.js
new file mode 100644
index 000000000..3174fc8e3
--- /dev/null
+++ b/src/js/settings/components/classifai-onboarding/finish-step.js
@@ -0,0 +1,151 @@
+/**
+ * External dependencies
+ */
+import { useNavigate } from 'react-router-dom';
+
+/**
+ * WordPress dependencies
+ */
+import { Icon, Button } from '@wordpress/components';
+import { useSelect } from '@wordpress/data';
+import { __ } from '@wordpress/i18n';
+
+/**
+ * Internal dependencies
+ */
+import { STORE_NAME } from '../../data/store';
+import { isFeatureActive, getFeature } from '../../utils/utils';
+
+/**
+ * React Component for the final step in the onboarding process.
+ *
+ * This component displays a summary of the features that have been enabled during the onboarding process.
+ * It provides users with a clear overview of their selected settings before completing the onboarding.
+ *
+ * @return {React.ReactElement} FinishStep component.
+ */
+export const FinishStep = () => {
+ const {
+ features: __settings,
+ services,
+ dashboardUrl,
+ } = window.classifAISettings;
+ const navigate = useNavigate();
+ const settingsState = useSelect( ( select ) =>
+ select( STORE_NAME ).getSettings()
+ );
+ const enabledFeatureSlugs = Object.keys( settingsState ).filter(
+ ( feature ) => settingsState[ feature ].status === '1'
+ );
+ const settings = Object.keys( __settings ).reduce( ( a, c ) => {
+ const res = Object.keys( __settings[ c ] ).reduce( ( __a, __c ) => {
+ return {
+ ...__a,
+ [ __c ]: settingsState[ __c ],
+ };
+ }, {} );
+
+ return {
+ ...a,
+ [ c ]: res,
+ };
+ }, {} );
+
+ return (
+ <>
+
+ { __( 'Welcome to ClassifAI', 'classifai' ) }
+
+
+
+
+
+
+
+
+
+
+ { __(
+ 'ClassifAI configured successfully!',
+ 'classifai'
+ ) }
+
+ { Object.keys( services ).map( ( service ) => {
+ const enabledFeatures = Object.keys(
+ settings[ service ]
+ )
+ .map( ( featureSlug ) => {
+ const feature = getFeature( featureSlug );
+ const label = feature.label;
+
+ if (
+ ! enabledFeatureSlugs.includes(
+ featureSlug
+ )
+ ) {
+ return null;
+ }
+
+ return (
+
+ { isFeatureActive(
+ settings[ service ][
+ featureSlug
+ ]
+ ) ? (
+
+ ) : (
+
+ ) }{ ' ' }
+ { label }
+
+ );
+ } )
+ .filter( Boolean );
+
+ if ( ! enabledFeatures.length ) {
+ return [];
+ }
+
+ return (
+
+
+ { services[ service ] }
+
+
+
+ );
+ } ) }
+
+
+ navigate( '/language_processing' ) }
+ >
+ { __( 'Adjust ClassifAI settings', 'classifai' ) }
+
+ {
+ window.location.href = dashboardUrl;
+ } }
+ >
+ { __( 'Done', 'classifai' ) }
+
+
+
+
+ >
+ );
+};
diff --git a/src/js/settings/components/classifai-onboarding/hooks.js b/src/js/settings/components/classifai-onboarding/hooks.js
new file mode 100644
index 000000000..e0f9a6149
--- /dev/null
+++ b/src/js/settings/components/classifai-onboarding/hooks.js
@@ -0,0 +1,36 @@
+/**
+ * External dependencies
+ */
+import { useLocation } from 'react-router-dom';
+
+/**
+ * Internal dependencies
+ */
+import { getNextOnboardingStep } from '../../utils/utils';
+
+/**
+ * Custom hook to determine if the current page is a setup page and to retrieve the current step, next step, and next step path.
+ *
+ * This hook provides an object containing:
+ * - `isSetupPage`: A boolean indicating whether the current page is a setup page.
+ * - `step`: The current step in the setup process.
+ * - `nextStep`: The next step in the setup process.
+ * - `nextStepPath`: The URL path for the next step.
+ *
+ * @return {Object} An object containing the setup page status, current step, next step, and next step path.
+ */
+export const useSetupPage = () => {
+ const location = useLocation();
+ const isSetupPage =
+ location?.pathname?.startsWith( '/classifai_setup' ) || false;
+ const step = isSetupPage ? location?.pathname?.split( '/' )[ 2 ] || '' : '';
+ const nextStep = step ? getNextOnboardingStep( step ) : '';
+ const nextStepPath = nextStep ? `/classifai_setup/${ nextStep }` : '';
+
+ return {
+ isSetupPage,
+ step,
+ nextStep,
+ nextStepPath,
+ };
+};
diff --git a/src/js/settings/components/classifai-onboarding/index.js b/src/js/settings/components/classifai-onboarding/index.js
new file mode 100644
index 000000000..b685d91a0
--- /dev/null
+++ b/src/js/settings/components/classifai-onboarding/index.js
@@ -0,0 +1,26 @@
+/**
+ * External dependencies
+ */
+import { Outlet } from 'react-router-dom';
+
+// Export the steps of the onboarding process.
+export { EnableFeatures } from './enable-features';
+export { ConfigureFeatures } from './configure-features';
+export { FinishStep } from './finish-step';
+export { ClassifAIRegistrationStep } from './classifai-registration';
+
+/**
+ * ClassifAI Onboarding Component.
+ *
+ * This component handles the rendering of the entire onboarding process for ClassifAI.
+ * It guides users through the necessary steps to configure and enable various features.
+ *
+ * @return {React.ReactElement} ClassifAIOnboarding component.
+ */
+export const ClassifAIOnboarding = () => {
+ return (
+
+
+
+ );
+};
diff --git a/src/js/settings/components/classifai-registration/index.js b/src/js/settings/components/classifai-registration/index.js
new file mode 100644
index 000000000..0cb88c74b
--- /dev/null
+++ b/src/js/settings/components/classifai-registration/index.js
@@ -0,0 +1,262 @@
+/**
+ * External dependencies
+ */
+import { NavLink } from 'react-router-dom';
+
+/**
+ * WordPress dependencies
+ */
+import {
+ Panel,
+ PanelBody,
+ Spinner,
+ Button,
+ Slot,
+ Notice,
+ __experimentalInputControl as InputControl, // eslint-disable-line @wordpress/no-unsafe-wp-apis
+} from '@wordpress/components';
+import { __, sprintf } from '@wordpress/i18n';
+import apiFetch from '@wordpress/api-fetch';
+import { useState, useEffect } from '@wordpress/element';
+import { useDispatch, useSelect } from '@wordpress/data';
+import { store as noticesStore } from '@wordpress/notices';
+
+/**
+ * Internal dependencies
+ */
+import { SettingsRow } from '../settings-row';
+import { Notices } from '../feature-settings/notices';
+
+/**
+ * ClassifAI Registration Form Component.
+ *
+ * This component renders the registration settings form for ClassifAI, allowing users to input and save their registration details.
+ *
+ * @param {Object} props The component props.
+ * @param {Function} props.onSaveSuccess The callback function to be executed after successfully saving the settings.
+ *
+ * @return {React.ReactElement} The rendered ClassifAIRegistrationForm component.
+ */
+export const ClassifAIRegistrationForm = ( { onSaveSuccess = () => {} } ) => {
+ const [ settings, setSettings ] = useState( {} );
+ const [ isLoaded, setIsLoaded ] = useState( false );
+ const [ error, setError ] = useState( null );
+
+ // Load the settings.
+ useEffect( () => {
+ ( async () => {
+ let registrationSettings = {};
+ try {
+ registrationSettings = await apiFetch( {
+ path: '/classifai/v1/registration',
+ } );
+ } catch ( e ) {
+ console.error( e ); // eslint-disable-line no-console
+ setError(
+ sprintf(
+ /* translators: %s: error message */
+ __( 'Error: %s', 'classifai' ),
+ e.message ||
+ __(
+ 'An error occurred while loading registration settings. Please try again.',
+ 'classifai'
+ )
+ )
+ );
+ }
+
+ setSettings( registrationSettings );
+ setIsLoaded( true );
+ } )();
+ }, [ setSettings, setIsLoaded ] );
+
+ // If settings are not loaded yet, show a spinner.
+ if ( ! isLoaded ) {
+ return (
+
+
+
+ { __( 'Loading settings…', 'classifai' ) }
+
+
+ );
+ }
+
+ // If there is an error, show an error notice.
+ if ( error ) {
+ return (
+
+ { error }
+
+ );
+ }
+
+ return (
+ <>
+
+
+
+
+ {
+ setSettings( { ...settings, email: value } );
+ } }
+ />
+
+
+ {
+ // eslint-disable-next-line @wordpress/i18n-translator-comments
+ __(
+ 'Registration is 100% free and provides update notifications and upgrades inside the dashboard.',
+ 'classifai'
+ )
+ }{ ' ' }
+
+ { __(
+ 'Register for your key',
+ 'classifai'
+ ) }
+
+ >
+ }
+ >
+ {
+ setSettings( {
+ ...settings,
+ license_key: value,
+ } );
+ } }
+ />
+
+
+
+
+
+ { ( fills ) => <>{ fills }> }
+
+
+
+ >
+ );
+};
+
+/**
+ * Save Settings Button component.
+ *
+ * This component renders a button that allows users to save the settings for the ClassifAI registration form.
+ *
+ * @param {Object} props Component props.
+ * @param {Object} props.settings Settings object.
+ * @param {Function} props.setSettings Set settings function.
+ * @param {Function} props.onSaveSuccess Callback function to be executed after saving settings.
+ * @return {Object} SaveSettingsButton Component.
+ */
+export const SaveSettingsButton = ( {
+ settings,
+ setSettings,
+ onSaveSuccess = () => {},
+} ) => {
+ const { createErrorNotice, removeNotices } = useDispatch( noticesStore );
+ const notices = useSelect( ( select ) =>
+ select( noticesStore ).getNotices()
+ );
+ const [ isSaving, setIsSaving ] = useState( false );
+
+ /**
+ * Save settings for a feature.
+ */
+ const saveSettings = () => {
+ removeNotices( notices.map( ( { id } ) => id ) );
+ setIsSaving( true );
+ apiFetch( {
+ path: '/classifai/v1/registration/',
+ method: 'POST',
+ data: settings,
+ } )
+ .then( ( res ) => {
+ if ( res.errors && res.errors.length ) {
+ res.errors.forEach( ( error ) =>
+ createErrorNotice( error.message, {
+ id: 'error-registration',
+ } )
+ );
+ setSettings( res.settings );
+ setIsSaving( false );
+ return;
+ }
+
+ setSettings( res.settings );
+ onSaveSuccess();
+ setIsSaving( false );
+ } )
+ .catch( ( error ) => {
+ createErrorNotice(
+ error.message ||
+ __(
+ 'An error occurred while saving settings.',
+ 'classifai'
+ ),
+ {
+ id: 'error-registration',
+ }
+ );
+ setIsSaving( false );
+ } );
+ };
+
+ return (
+
+ { isSaving
+ ? __( 'Saving…', 'classifai' )
+ : __( 'Save Settings', 'classifai' ) }
+
+ );
+};
+
+/**
+ * ClassifAI Registration Component.
+ *
+ * This component serves as a wrapper for the ClassifAIRegistrationForm component.
+ *
+ * @return {React.ReactElement} The ClassifAIRegistration component.
+ */
+export const ClassifAIRegistration = () => {
+ return (
+
+
+
+ { __( 'ClassifAI Registration', 'classifai' ) }
+
+
+
+
+
+
+ );
+};
diff --git a/src/js/settings/components/classifai-settings/index.js b/src/js/settings/components/classifai-settings/index.js
new file mode 100644
index 000000000..8cb0f1df7
--- /dev/null
+++ b/src/js/settings/components/classifai-settings/index.js
@@ -0,0 +1,258 @@
+/**
+ * External dependencies
+ */
+import {
+ Route,
+ Routes,
+ Navigate,
+ HashRouter,
+ useParams,
+ NavLink,
+} from 'react-router-dom';
+
+/**
+ * WordPress dependencies
+ */
+import { useDispatch } from '@wordpress/data';
+import { SlotFillProvider } from '@wordpress/components';
+import { __, sprintf } from '@wordpress/i18n';
+import { useEffect } from '@wordpress/element';
+import apiFetch from '@wordpress/api-fetch';
+
+/**
+ * Internal dependencies
+ */
+import {
+ ClassifAIOnboarding,
+ FeatureSettings,
+ Header,
+ ServiceSettings,
+} from '..';
+import { STORE_NAME } from '../../data/store';
+import { FeatureContext } from '../feature-settings/context';
+import { ClassifAIRegistration } from '../classifai-registration';
+import {
+ ConfigureFeatures,
+ EnableFeatures,
+ FinishStep,
+ ClassifAIRegistrationStep,
+} from '../classifai-onboarding';
+import { useSetupPage } from '../classifai-onboarding/hooks';
+
+const { services, features } = window.classifAISettings;
+
+/**
+ * DefaultFeatureSettings component to navigate to the default feature settings.
+ * If no feature is selected, it will redirect to the first feature.
+ *
+ * @return {React.ReactElement} The DefaultFeatureSettings component.
+ */
+const DefaultFeatureSettings = () => {
+ const { service } = useParams();
+ const feature = Object.keys( features[ service ] || {} )[ 0 ];
+ return ;
+};
+
+/**
+ * FeatureSettingsWrapper component to render the feature settings.
+ * If the feature is not available from URL parameters, it will redirect to the first feature of selected service.
+ *
+ * @return {React.ReactElement} The FeatureSettingsWrapper component.
+ */
+const FeatureSettingsWrapper = () => {
+ const { service, feature } = useParams();
+ const serviceFeatures = Object.keys( features[ service ] || {} );
+
+ if ( ! serviceFeatures.includes( feature ) ) {
+ return ;
+ }
+
+ return (
+
+
+
+ );
+};
+
+/**
+ * ServiceSettingsWrapper component to render the service settings.
+ * If the service is not available from URL parameters, it will redirect to the language processing page.
+ *
+ * @return {React.ReactElement} The ServiceSettingsWrapper component.
+ */
+const ServiceSettingsWrapper = () => {
+ const { service } = useParams();
+
+ // If the service is not available, redirect to the language processing page.
+ if ( ! services[ service ] ) {
+ return ;
+ }
+
+ return ;
+};
+
+/**
+ * ServiceNavigation component to render the service navigation tabs.
+ *
+ * This component renders the service navigation tabs based on the available services.
+ *
+ * @return {React.ReactElement} The ServiceNavigation component.
+ */
+export const ServiceNavigation = () => {
+ const { isSetupPage } = useSetupPage();
+ if ( isSetupPage ) {
+ return null;
+ }
+
+ const serviceKeys = Object.keys( services || {} );
+ return (
+
+ { serviceKeys.map( ( service ) => (
+
+ isActive
+ ? 'active-tab classifai-tabs-item'
+ : 'classifai-tabs-item'
+ }
+ >
+ { services[ service ] }
+
+ ) ) }
+
+ isActive
+ ? 'active-tab classifai-tabs-item'
+ : 'classifai-tabs-item'
+ }
+ >
+ { __( 'ClassifAI Registration', 'classifai' ) }
+
+
+ );
+};
+
+/**
+ * Main ClassifAI Settings Component.
+ *
+ * This component serves as the primary entry point for the ClassifAI settings interface.
+ * It is responsible for rendering the header, service navigation, feature navigation, and feature settings based on the current URL path.
+ *
+ * @return {React.ReactElement} The ClassifAISettings component.
+ */
+export const ClassifAISettings = () => {
+ const { setSettings, setIsLoaded, setError } = useDispatch( STORE_NAME );
+
+ // Load the settings.
+ useEffect( () => {
+ ( async () => {
+ try {
+ const classifAISettings = await apiFetch( {
+ path: '/classifai/v1/settings',
+ } );
+ setSettings( classifAISettings );
+ } catch ( e ) {
+ console.error( e ); // eslint-disable-line no-console
+ setError(
+ sprintf(
+ /* translators: %s: error message */
+ __( 'Error: %s', 'classifai' ),
+ e.message ||
+ __(
+ 'An error occurred while loading the settings. Please try again.',
+ 'classifai'
+ )
+ )
+ );
+ }
+ setIsLoaded( true );
+ } )();
+ }, [ setSettings, setIsLoaded, setError ] );
+
+ // Render admin notices after the header.
+ useEffect( () => {
+ const notices = document.querySelectorAll(
+ 'div.updated, div.error, div.notice'
+ );
+ const target = document.querySelector( '.classifai-admin-notices' );
+
+ notices.forEach( ( notice ) => {
+ if ( ! target ) {
+ return;
+ }
+
+ target.appendChild( notice );
+ } );
+ }, [] );
+
+ return (
+
+
+
+
+
+
+
+ }
+ >
+ }
+ />
+ }
+ />
+
+ }
+ >
+
+ }
+ />
+ }
+ />
+ }
+ />
+ }
+ />
+ } />
+
+ }
+ />
+
+ }
+ />
+ { /* When no routes match, it will redirect to this route path. Note that it should be registered above. */ }
+
+ }
+ />
+
+
+
+
+ );
+};
diff --git a/src/js/settings/components/feature-additional-settings/classification-previewers/context.js b/src/js/settings/components/feature-additional-settings/classification-previewers/context.js
new file mode 100644
index 000000000..3409220e0
--- /dev/null
+++ b/src/js/settings/components/feature-additional-settings/classification-previewers/context.js
@@ -0,0 +1,13 @@
+/**
+ * WordPress dependencies
+ */
+import { createContext } from '@wordpress/element';
+
+/**
+ * Context for the PreviewerProvider.
+ *
+ * @return {React.Context} PreviewerProviderContext context.
+ */
+export const PreviewerProviderContext = createContext( {
+ isPreviewerOpen: false,
+} );
diff --git a/src/js/settings/components/feature-additional-settings/classification-previewers/ibm-watson-nlu.js b/src/js/settings/components/feature-additional-settings/classification-previewers/ibm-watson-nlu.js
new file mode 100644
index 000000000..4c5af18db
--- /dev/null
+++ b/src/js/settings/components/feature-additional-settings/classification-previewers/ibm-watson-nlu.js
@@ -0,0 +1,185 @@
+/**
+ * WordPress dependencies
+ */
+import { Card, CardHeader, CardBody, Notice } from '@wordpress/components';
+import { useState, useEffect, useContext } from '@wordpress/element';
+import { useSelect } from '@wordpress/data';
+import { __, sprintf } from '@wordpress/i18n';
+
+/**
+ * Internal dependencies
+ */
+import { normalizeScore } from './utils';
+import { PreviewerProviderContext } from './context';
+import { STORE_NAME } from '../../../data/store';
+
+/**
+ * React Component for displaying IBM Watson NLU classification results.
+ *
+ * This component is responsible for rendering the classification results obtained from the IBM Watson NLU service.
+ * It displays detailed classification data including categories, concepts, entities, and keywords for a specific post.
+ *
+ * @param {Object} props The component props.
+ * @param {number} props.postId The ID of the post for which to display the classification results.
+ *
+ * @return {React.ReactElement} The IBMWatsonNLUResults component.
+ */
+export function IBMWatsonNLUResults( { postId } ) {
+ const {
+ isPreviewUnderProcess,
+ setPreviewUnderProcess,
+ setIsPreviewerOpen,
+ } = useContext( PreviewerProviderContext );
+
+ const [ responseData, setResponseData ] = useState( null );
+ const [ errorMessage, setErrorMessage ] = useState( '' );
+ const settings = useSelect( ( select ) =>
+ select( STORE_NAME ).getFeatureSettings()
+ );
+
+ const taxMap = {
+ categories: 'category',
+ concepts: 'concept',
+ entities: 'entity',
+ keywords: 'keyword',
+ };
+
+ function formatLabel( label ) {
+ return label
+ .split( '/' )
+ .filter( ( i ) => '' !== i )
+ .join( ', ' );
+ }
+
+ useEffect( () => {
+ // Reset previous results.
+ if ( isPreviewUnderProcess ) {
+ setResponseData( null );
+ }
+ }, [ isPreviewUnderProcess ] );
+
+ useEffect( () => {
+ if ( ! postId ) {
+ return;
+ }
+
+ setPreviewUnderProcess( true );
+ setIsPreviewerOpen( true );
+
+ const formData = new FormData();
+
+ formData.append( 'action', 'get_post_classifier_preview_data' );
+ formData.append( 'post_id', postId );
+ formData.append( 'nonce', classifAISettings.nonce );
+
+ ( async () => {
+ const response = await fetch( ajaxurl, {
+ method: 'POST',
+ body: formData,
+ } );
+
+ if ( ! response.ok ) {
+ return;
+ }
+
+ const responseJSON = await response.json();
+ if ( responseJSON.success ) {
+ setResponseData( responseJSON.data );
+ } else {
+ setErrorMessage( responseJSON.data );
+ }
+
+ setPreviewUnderProcess( false );
+ } )();
+ }, [ postId ] );
+
+ if ( ! responseData ) {
+ return null;
+ }
+
+ const renderData = {
+ categories: responseData.categories,
+ concepts: responseData.concepts,
+ entities: responseData.entities,
+ keywords: responseData.keywords,
+ };
+
+ const card = Object.keys( renderData ).map( ( taxSlug ) => {
+ const tags = renderData[ taxSlug ].map( ( tag, _index ) => {
+ const threshold = settings[ `${ taxMap[ taxSlug ] }_threshold` ];
+ const score = normalizeScore( tag.score || tag.relevance );
+
+ const scoreClass =
+ score >= threshold
+ ? 'classifai__classification-previewer-result-tag--exceeds-threshold'
+ : '';
+
+ return (
+
+
+ { score }%
+
+
+ { formatLabel( tag.label || tag.text ) }
+
+
+ );
+ } );
+
+ return (
+
+
+
+ { taxSlug }
+
+
+
+ { tags.length
+ ? tags
+ : sprintf(
+ /* translators: %s: taxonomy label */
+ __(
+ `No classification data found for %s.`,
+ 'classifai'
+ ),
+ taxSlug
+ ) }
+
+
+ );
+ } );
+
+ if ( errorMessage ) {
+ return (
+
+ { errorMessage }
+
+ );
+ }
+
+ return card.length ? (
+ <>
+
+ { __(
+ 'Results for each category are sorted in descending order, starting with the term that has the highest score, indicating the best match based on the embedding data.',
+ 'classifai'
+ ) }
+
+ { card }
+ >
+ ) : null;
+}
diff --git a/src/js/settings/components/feature-additional-settings/classification-previewers/index.js b/src/js/settings/components/feature-additional-settings/classification-previewers/index.js
new file mode 100644
index 000000000..e0b279d0c
--- /dev/null
+++ b/src/js/settings/components/feature-additional-settings/classification-previewers/index.js
@@ -0,0 +1,2 @@
+export * from './ibm-watson-nlu';
+export * from './openai-embedding';
diff --git a/src/js/settings/components/feature-additional-settings/classification-previewers/openai-embedding.js b/src/js/settings/components/feature-additional-settings/classification-previewers/openai-embedding.js
new file mode 100644
index 000000000..cb8ca35fb
--- /dev/null
+++ b/src/js/settings/components/feature-additional-settings/classification-previewers/openai-embedding.js
@@ -0,0 +1,166 @@
+/**
+ * WordPress dependencies
+ */
+import { Card, CardHeader, CardBody, Notice } from '@wordpress/components';
+import { useState, useEffect, useContext } from '@wordpress/element';
+import { useSelect } from '@wordpress/data';
+import { __, sprintf } from '@wordpress/i18n';
+
+/**
+ * Internal dependencies
+ */
+import { normalizeScore } from './utils';
+import { PreviewerProviderContext } from './context';
+import { STORE_NAME } from '../../../data/store';
+
+/**
+ * React Component for displaying Azure OpenAI Embeddings classification results.
+ *
+ * This component is responsible for rendering the classification results obtained from the Azure OpenAI Embeddings service.
+ * It displays detailed classification data including categories and tags for a specific post.
+ *
+ * @param {Object} props The component props.
+ * @param {number} props.postId The ID of the post for which to display the classification results.
+ *
+ * @return {React.ReactElement} The AzureOpenAIEmbeddingsResults component.
+ */
+export function AzureOpenAIEmbeddingsResults( { postId } ) {
+ const {
+ isPreviewUnderProcess,
+ setPreviewUnderProcess,
+ setIsPreviewerOpen,
+ } = useContext( PreviewerProviderContext );
+
+ const [ responseData, setResponseData ] = useState( [] );
+ const [ errorMessage, setErrorMessage ] = useState( '' );
+ const settings = useSelect( ( select ) =>
+ select( STORE_NAME ).getFeatureSettings()
+ );
+
+ useEffect( () => {
+ // Reset previous results.
+ if ( isPreviewUnderProcess ) {
+ setResponseData( [] );
+ }
+ }, [ isPreviewUnderProcess ] );
+
+ useEffect( () => {
+ if ( ! postId ) {
+ return;
+ }
+
+ setPreviewUnderProcess( true );
+ setIsPreviewerOpen( true );
+ setErrorMessage( '' );
+
+ const formData = new FormData();
+
+ formData.append( 'post_id', postId );
+ formData.append(
+ 'action',
+ 'get_post_classifier_embeddings_preview_data'
+ );
+
+ formData.append( 'nonce', classifAISettings.nonce );
+
+ ( async () => {
+ const response = await fetch( ajaxurl, {
+ method: 'POST',
+ body: formData,
+ } );
+
+ if ( ! response.ok ) {
+ return;
+ }
+
+ const responseJSON = await response.json();
+
+ if ( responseJSON.success ) {
+ setResponseData( responseJSON.data );
+ } else {
+ setErrorMessage( responseJSON.data );
+ }
+
+ setPreviewUnderProcess( false );
+ } )();
+ }, [ postId ] );
+
+ const card = Object.keys( responseData ).map( ( taxSlug ) => {
+ const tags = responseData[ taxSlug ].data.map( ( tag, _index ) => {
+ const threshold = settings[ `${ taxSlug }_threshold` ];
+ const score = normalizeScore( tag.score );
+
+ const scoreClass =
+ score >= threshold
+ ? 'classifai__classification-previewer-result-tag--exceeds-threshold'
+ : '';
+
+ return (
+
+
+ { score }%
+
+
+ { tag.label }
+
+
+ );
+ } );
+
+ return (
+
+
+
+ { responseData[ taxSlug ].label }
+
+
+
+ { tags.length
+ ? tags
+ : sprintf(
+ /* translators: %s: taxonomy label */
+ __(
+ `No classification data found for %s.`,
+ 'classifai'
+ ),
+ responseData[ taxSlug ].label
+ ) }
+
+
+ );
+ } );
+
+ if ( errorMessage ) {
+ return (
+
+ { errorMessage }
+
+ );
+ }
+
+ return card.length ? (
+ <>
+
+ { __(
+ 'Results for each taxonomy are sorted in descending order, starting with the term that has the highest score, indicating the best match based on the embedding data.',
+ 'classifai'
+ ) }
+
+ { card }
+ >
+ ) : null;
+}
diff --git a/src/js/settings/components/feature-additional-settings/classification-previewers/utils.js b/src/js/settings/components/feature-additional-settings/classification-previewers/utils.js
new file mode 100644
index 000000000..15a0209f1
--- /dev/null
+++ b/src/js/settings/components/feature-additional-settings/classification-previewers/utils.js
@@ -0,0 +1,12 @@
+/**
+ * Normalize a score for display as a percentage.
+ *
+ * This function takes a score and normalizes it to a percentage format for display purposes.
+ *
+ * @param {number} score The score to normalize.
+ *
+ * @return {number} The normalized score as a percentage.
+ */
+export function normalizeScore( score ) {
+ return Number( ( score * 100 ).toFixed( 2 ) );
+}
diff --git a/src/js/settings/components/feature-additional-settings/classification.js b/src/js/settings/components/feature-additional-settings/classification.js
new file mode 100644
index 000000000..10ea466f0
--- /dev/null
+++ b/src/js/settings/components/feature-additional-settings/classification.js
@@ -0,0 +1,499 @@
+/**
+ * WordPress dependencies
+ */
+import { useSelect, useDispatch } from '@wordpress/data';
+import {
+ RadioControl,
+ CheckboxControl,
+ BaseControl,
+ SearchControl,
+ TextHighlight,
+ Spinner,
+ Button,
+ Fill,
+ Notice,
+} from '@wordpress/components';
+import apiFetch from '@wordpress/api-fetch';
+import { useState, useEffect, useContext, useRef } from '@wordpress/element';
+import { useDebounce } from '@wordpress/compose';
+import { __ } from '@wordpress/i18n';
+import { store as noticesStore } from '@wordpress/notices';
+
+/**
+ * Internal dependencies
+ */
+import { SettingsRow } from '../settings-row';
+import { STORE_NAME } from '../../data/store';
+import { isFeatureActive, usePostTypes } from '../../utils/utils';
+import { NLUFeatureSettings } from './nlu-feature';
+import {
+ AzureOpenAIEmbeddingsResults,
+ IBMWatsonNLUResults,
+} from './classification-previewers';
+import { PreviewerProviderContext } from './classification-previewers/context';
+
+/**
+ * Component for the Classification Method settings.
+ *
+ * This component is used within the ClassificationSettings component to allow users to configure the Classification Method.
+ *
+ * @return {React.ReactElement} The ClassificationMethodSettings component.
+ */
+const ClassificationMethodSettings = () => {
+ const featureSettings = useSelect( ( select ) =>
+ select( STORE_NAME ).getFeatureSettings()
+ );
+ const { setFeatureSettings } = useDispatch( STORE_NAME );
+
+ const classifaicationMethodOptions = [
+ {
+ label: __(
+ 'Recommend terms even if they do not exist on the site',
+ 'classifai'
+ ),
+ value: 'recommended_terms',
+ },
+ {
+ label: __(
+ 'Only recommend terms that already exist on the site',
+ 'classifai'
+ ),
+ value: 'existing_terms',
+ },
+ ];
+
+ if (
+ [ 'openai_embeddings', 'azure_openai_embeddings' ].includes(
+ featureSettings.provider
+ )
+ ) {
+ delete classifaicationMethodOptions[ 0 ];
+ if ( featureSettings.classification_method === 'recommended_terms' ) {
+ setFeatureSettings( {
+ classification_method: 'existing_terms',
+ } );
+ }
+ }
+
+ return (
+
+ {
+ setFeatureSettings( {
+ classification_method: value,
+ } );
+ } }
+ options={ classifaicationMethodOptions }
+ selected={ featureSettings.classification_method }
+ />
+
+ );
+};
+
+/**
+ * Provider component for the Classification Previewer.
+ *
+ * This component is used to provide the context for the Classification Previewer.
+ *
+ * @param {Object} props The component props.
+ * @param {Object} props.children The child components.
+ * @param {Object} props.value The context value.
+ *
+ * @return {React.ReactElement} The PreviewerProvider component.
+ */
+function PreviewerProvider( { children, value } ) {
+ return (
+
+ { children }
+
+ );
+}
+
+/**
+ * React Component for configuring the Classification feature settings.
+ *
+ * This component is used within the ClassifAI settings to allow users to configure the Classification feature.
+ *
+ * @return {React.ReactElement} The ClassificationSettings component.
+ */
+export const ClassificationSettings = () => {
+ const [ embedInProgress, setEmbedInProgress ] = useState( false );
+ const isEmbeddingInProgress = useRef( false );
+ const [ isPreviewerOpen, setIsPreviewerOpen ] = useState( false );
+ const [ selectedPostId, setSelectedPostId ] = useState( 0 );
+ const [ isPreviewUnderProcess, setPreviewUnderProcess ] = useState( null );
+
+ const featureSettings = useSelect( ( select ) =>
+ select( STORE_NAME ).getFeatureSettings()
+ );
+ const isSaving = useSelect( ( select ) =>
+ select( STORE_NAME ).getIsSaving()
+ );
+ const isConfigured = isFeatureActive( featureSettings );
+ const { setFeatureSettings } = useDispatch( STORE_NAME );
+ const { postTypesSelectOptions } = usePostTypes();
+ const { postStatuses } = window.classifAISettings;
+ const { createSuccessNotice } = useDispatch( noticesStore );
+
+ const previewerContextData = {
+ isPreviewerOpen,
+ setIsPreviewerOpen,
+ selectedPostId,
+ setSelectedPostId,
+ isPreviewUnderProcess,
+ setPreviewUnderProcess,
+ };
+
+ // Check if embeddings are in progress
+ useEffect( () => {
+ if ( ! isSaving ) {
+ const getEmbeddingsInProgress = async () => {
+ try {
+ const res = await apiFetch( {
+ path: '/classifai/v1/embeddings_in_progress',
+ } );
+ if ( res?.classifAIEmbedInProgress ) {
+ setEmbedInProgress( true );
+ isEmbeddingInProgress.current = true;
+ } else {
+ setEmbedInProgress( false );
+ clearInterval( intervalId );
+ if ( isEmbeddingInProgress.current ) {
+ createSuccessNotice(
+ __(
+ 'Generation of embeddings is completed.',
+ 'classifai'
+ ),
+ {
+ id: 'success-feature_classification',
+ }
+ );
+ }
+ isEmbeddingInProgress.current = false;
+ }
+ } catch ( error ) {}
+ };
+
+ const intervalId = setInterval( getEmbeddingsInProgress, 10000 );
+ getEmbeddingsInProgress();
+
+ return () => clearInterval( intervalId );
+ }
+ }, [ isSaving, createSuccessNotice ] );
+
+ return (
+ <>
+ { embedInProgress && (
+
+
+ { __(
+ 'Generation of embeddings is in progress.',
+ 'classifai'
+ ) }
+
+
+ ) }
+ { !! isConfigured && (
+
+
+
+
+
+
+
+
+ ) }
+
+ {
+ setFeatureSettings( {
+ classification_mode: value,
+ } );
+ } }
+ options={ [
+ {
+ label: __( 'Manual review', 'classifai' ),
+ value: 'manual_review',
+ },
+ {
+ label: __(
+ 'Automatic classification',
+ 'classifai'
+ ),
+ value: 'automatic_classification',
+ },
+ ] }
+ selected={ featureSettings.classification_mode }
+ />
+
+
+
+
+ { Object.keys( postStatuses || {} ).map( ( key ) => {
+ return (
+ {
+ setFeatureSettings( {
+ post_statuses: {
+ ...featureSettings.post_statuses,
+ [ key ]: value ? key : '0',
+ },
+ } );
+ } }
+ />
+ );
+ } ) }
+
+
+ { postTypesSelectOptions.map( ( option ) => {
+ const { value: key, label } = option;
+ return (
+ {
+ setFeatureSettings( {
+ post_types: {
+ ...featureSettings.post_types,
+ [ key ]: value ? key : '0',
+ },
+ } );
+ } }
+ />
+ );
+ } ) }
+
+ >
+ );
+};
+
+/**
+ * Component for the Classification Previewer.
+ *
+ * @return {React.ReactElement} The Previewer component.
+ */
+function Previewer() {
+ const { isPreviewerOpen, setIsPreviewerOpen } = useContext(
+ PreviewerProviderContext
+ );
+
+ return (
+
+
+
+
+
setIsPreviewerOpen( ! isPreviewerOpen ) }
+ variant="link"
+ >
+ { __( 'Close previewer', 'classifai' ) }
+
+
+ );
+}
+
+/**
+ * Component for displaying a spinner when the preview is in process.
+ *
+ * @return {React.ReactElement} The PreviewInProcess component.
+ */
+function PreviewInProcess() {
+ const { isPreviewUnderProcess } = useContext( PreviewerProviderContext );
+
+ if ( ! isPreviewUnderProcess ) {
+ return null;
+ }
+
+ return (
+
+
+
+ );
+}
+
+/**
+ * Component for selecting a post to preview.
+ *
+ * @param {Object} props The component props.
+ * @param {string} props.placeholder The placeholder text for the search control.
+ * @param {boolean} props.showLabel Whether to show the label for the search control.
+ *
+ * @return {React.ReactElement} The PostSelector component.
+ */
+function PostSelector( { placeholder = '', showLabel = true } ) {
+ const { setSelectedPostId } = useContext( PreviewerProviderContext );
+ const [ searchText, setSearchText ] = useState( '' );
+ const [ searchResults, setSearchResults ] = useState( [] );
+ const [ shouldSearch, setShouldSearch ] = useState( true );
+ const debouncedSearch = useDebounce( setSearchText, 1000 );
+
+ function selectPost( post ) {
+ setShouldSearch( false );
+ setSelectedPostId( post.id );
+ setSearchText( post.title );
+ setSearchResults( [] );
+ }
+
+ useEffect( () => {
+ if ( ! searchText ) {
+ setSearchResults( [] );
+ return;
+ }
+
+ if ( ! shouldSearch ) {
+ return;
+ }
+
+ ( async () => {
+ const response = await wp.apiRequest( {
+ path: '/wp/v2/posts',
+ data: {
+ search: searchText,
+ },
+ } );
+
+ if ( Array.isArray( response ) ) {
+ setSearchResults(
+ response.map( ( post ) => ( {
+ id: post.id,
+ title: post.title.rendered,
+ } ) )
+ );
+ }
+ } )();
+ }, [ searchText, shouldSearch ] );
+
+ const searchResultsHtml = searchResults.length
+ ? searchResults.map( ( post ) => (
+ selectPost( post ) }
+ onKeyDown={ ( event ) => {
+ if ( event.key === 'Enter' ) {
+ selectPost( post );
+ }
+ } }
+ className="classifai__classification-previewer-search-item"
+ tabIndex={ 0 }
+ role="button"
+ >
+
+
+ ) )
+ : [];
+
+ return (
+
+
+
{
+ setShouldSearch( true );
+ debouncedSearch( text );
+ } }
+ onClose={ () => {
+ setSearchText( '' );
+ setSelectedPostId( 0 );
+ setSearchResults( [] );
+ setShouldSearch( true );
+ } }
+ />
+ { searchResults.length ? (
+
+ { searchResultsHtml }
+
+ ) : null }
+
+
+ );
+}
+
+/**
+ * Component for displaying the results of the previewer.
+ *
+ * @return {React.ReactElement} The PreviewerResults component.
+ */
+function PreviewerResults() {
+ const { selectedPostId } = useContext( PreviewerProviderContext );
+ const activeProvider = useSelect(
+ ( select ) => select( STORE_NAME ).getFeatureSettings().provider
+ );
+
+ if ( ! selectedPostId ) {
+ return null;
+ }
+
+ if ( ! activeProvider ) {
+ return null;
+ }
+
+ return (
+
+ { ( 'azure_openai_embeddings' === activeProvider ||
+ 'openai_embeddings' === activeProvider ) && (
+
+ ) }
+ { 'ibm_watson_nlu' === activeProvider && (
+
+ ) }
+
+ );
+}
diff --git a/src/js/settings/components/feature-additional-settings/content-resizing.js b/src/js/settings/components/feature-additional-settings/content-resizing.js
new file mode 100644
index 000000000..a312112ab
--- /dev/null
+++ b/src/js/settings/components/feature-additional-settings/content-resizing.js
@@ -0,0 +1,59 @@
+/**
+ * WordPress dependencies
+ */
+import { useSelect, useDispatch } from '@wordpress/data';
+import { __ } from '@wordpress/i18n';
+
+/**
+ * Internal dependencies
+ */
+import { SettingsRow } from '../settings-row';
+import { STORE_NAME } from '../../data/store';
+import { PromptRepeater } from './prompt-repeater';
+
+/**
+ * Component for the Content Resizing feature settings.
+ *
+ * This component is used within the FeatureSettings component to allow users to configure the Content Resizing feature.
+ *
+ * @return {React.ReactElement} ContentResizingSettings component.
+ */
+export const ContentResizingSettings = () => {
+ const featureSettings = useSelect( ( select ) =>
+ select( STORE_NAME ).getFeatureSettings()
+ );
+ const { setFeatureSettings } = useDispatch( STORE_NAME );
+
+ return (
+ <>
+
+ {
+ setFeatureSettings( {
+ condense_text_prompt: prompts,
+ } );
+ } }
+ />
+
+
+ {
+ setFeatureSettings( {
+ expand_text_prompt: prompts,
+ } );
+ } }
+ />
+
+ >
+ );
+};
diff --git a/src/js/settings/components/feature-additional-settings/descriptive-text-generator.js b/src/js/settings/components/feature-additional-settings/descriptive-text-generator.js
new file mode 100644
index 000000000..5b3cf89a9
--- /dev/null
+++ b/src/js/settings/components/feature-additional-settings/descriptive-text-generator.js
@@ -0,0 +1,66 @@
+/**
+ * WordPress dependencies
+ */
+import { useSelect, useDispatch } from '@wordpress/data';
+// eslint-disable-next-line @wordpress/no-unsafe-wp-apis
+import { CheckboxControl } from '@wordpress/components';
+import { __ } from '@wordpress/i18n';
+
+/**
+ * Internal dependencies
+ */
+import { SettingsRow } from '../settings-row';
+import { STORE_NAME } from '../../data/store';
+
+/**
+ * Component for Descriptive Text Generator feature settings.
+ *
+ * This component is used within the FeatureSettings component to allow users to configure the Descriptive Text Generator feature.
+ *
+ * @return {React.ReactElement} DescriptiveTextGeneratorSettings component.
+ */
+export const DescriptiveTextGeneratorSettings = () => {
+ const featureSettings = useSelect( ( select ) =>
+ select( STORE_NAME ).getFeatureSettings()
+ );
+ const { setFeatureSettings } = useDispatch( STORE_NAME );
+
+ const options = {
+ alt: __( 'Alt text', 'classifai' ),
+ caption: __( 'Image caption', 'classifai' ),
+ description: __( 'Image description', 'classifai' ),
+ };
+ return (
+
+ { Object.keys( options ).map( ( option ) => {
+ return (
+ {
+ setFeatureSettings( {
+ descriptive_text_fields: {
+ ...featureSettings.descriptive_text_fields,
+ [ option ]: value ? option : '0',
+ },
+ } );
+ } }
+ />
+ );
+ } ) }
+
+ );
+};
diff --git a/src/js/settings/components/feature-additional-settings/excerpt-generation.js b/src/js/settings/components/feature-additional-settings/excerpt-generation.js
new file mode 100644
index 000000000..df1cf535e
--- /dev/null
+++ b/src/js/settings/components/feature-additional-settings/excerpt-generation.js
@@ -0,0 +1,100 @@
+/**
+ * WordPress dependencies
+ */
+import { useSelect, useDispatch } from '@wordpress/data';
+import { __ } from '@wordpress/i18n';
+import {
+ __experimentalInputControl as InputControl, // eslint-disable-line @wordpress/no-unsafe-wp-apis
+ CheckboxControl,
+} from '@wordpress/components';
+
+/**
+ * Internal dependencies
+ */
+import { SettingsRow } from '../settings-row';
+import { STORE_NAME } from '../../data/store';
+import { PromptRepeater } from './prompt-repeater';
+import { usePostTypes } from '../../utils/utils';
+
+/**
+ * Component for Excerpt Generation feature settings.
+ *
+ * This component is used within the FeatureSettings component to allow users to configure the Excerpt Generation feature.
+ *
+ * @return {React.ReactElement} ExcerptGenerationSettings component.
+ */
+export const ExcerptGenerationSettings = () => {
+ const featureSettings = useSelect( ( select ) =>
+ select( STORE_NAME ).getFeatureSettings()
+ );
+ const { excerptPostTypesOptions } = usePostTypes();
+ const { setFeatureSettings } = useDispatch( STORE_NAME );
+ const setPromts = ( prompts ) => {
+ setFeatureSettings( {
+ generate_excerpt_prompt: prompts,
+ } );
+ };
+
+ return (
+ <>
+
+
+
+
+ { ( excerptPostTypesOptions || [] ).map( ( option ) => {
+ const { value: key, label } = option;
+ return (
+ {
+ setFeatureSettings( {
+ post_types: {
+ ...featureSettings.post_types,
+ [ key ]: value ? key : '0',
+ },
+ } );
+ } }
+ />
+ );
+ } ) }
+
+
+
+ setFeatureSettings( { length: value } )
+ }
+ />
+
+ >
+ );
+};
diff --git a/src/js/settings/components/feature-additional-settings/image-tag-generator.js b/src/js/settings/components/feature-additional-settings/image-tag-generator.js
new file mode 100644
index 000000000..96472359a
--- /dev/null
+++ b/src/js/settings/components/feature-additional-settings/image-tag-generator.js
@@ -0,0 +1,53 @@
+/**
+ * WordPress dependencies
+ */
+import { useSelect, useDispatch } from '@wordpress/data';
+// eslint-disable-next-line @wordpress/no-unsafe-wp-apis
+import { SelectControl } from '@wordpress/components';
+import { __ } from '@wordpress/i18n';
+
+/**
+ * Internal dependencies
+ */
+import { SettingsRow } from '../settings-row';
+import { STORE_NAME } from '../../data/store';
+
+/**
+ * Component for the Image Tag Generator feature settings.
+ *
+ * This component is used within the FeatureSettings component to allow users to configure the Image Tag Generator feature.
+ *
+ * @return {React.ReactElement} ImageTagGeneratorSettings component.
+ */
+export const ImageTagGeneratorSettings = () => {
+ const featureSettings = useSelect( ( select ) =>
+ select( STORE_NAME ).getFeatureSettings()
+ );
+ const { setFeatureSettings } = useDispatch( STORE_NAME );
+
+ const attachmentTaxonomies = useSelect( ( select ) => {
+ const { getTaxonomies } = select( 'core' );
+ return getTaxonomies( { type: 'attachment' } ) || [];
+ }, [] );
+
+ const options = attachmentTaxonomies.map( ( taxonomy ) => {
+ return {
+ value: taxonomy.slug,
+ label: taxonomy.labels.name,
+ };
+ } );
+ return (
+
+ {
+ setFeatureSettings( {
+ tag_taxonomy: value,
+ } );
+ } }
+ value={ featureSettings.tag_taxonomy || 'classifai-image-tags' }
+ options={ options }
+ />
+
+ );
+};
diff --git a/src/js/settings/components/feature-additional-settings/index.js b/src/js/settings/components/feature-additional-settings/index.js
new file mode 100644
index 000000000..fd61ae513
--- /dev/null
+++ b/src/js/settings/components/feature-additional-settings/index.js
@@ -0,0 +1,90 @@
+/**
+ * WordPress dependencies
+ */
+import { Slot } from '@wordpress/components';
+import { PluginArea } from '@wordpress/plugins';
+
+/**
+ * Internal dependencies
+ */
+import { getScope } from '../../utils/utils';
+import { useFeatureContext } from '../feature-settings/context';
+import { DescriptiveTextGeneratorSettings } from './descriptive-text-generator';
+import { ImageTagGeneratorSettings } from './image-tag-generator';
+import { TextToSpeechSettings } from './text-to-speech';
+import { TitleGenerationSettings } from './title-generation';
+import { ContentResizingSettings } from './content-resizing';
+import { ExcerptGenerationSettings } from './excerpt-generation';
+import { ClassificationSettings } from './classification';
+import { ModerationSettings } from './moderation';
+import { Smart404Settings } from './smart-404';
+import { RecommendedContentSettings } from './recommended-content';
+
+/**
+ * Component for additional settings fields for individual features.
+ *
+ * This component is used to render additional settings fields for a feature.
+ * It determines which feature is current and renders the corresponding settings fields.
+ *
+ * @return {React.ReactElement} AdditionalSettingsFields component.
+ */
+const AdditionalSettingsFields = () => {
+ const { featureName } = useFeatureContext();
+
+ switch ( featureName ) {
+ case 'feature_classification':
+ return ;
+
+ case 'feature_title_generation':
+ return ;
+
+ case 'feature_excerpt_generation':
+ return ;
+
+ case 'feature_content_resizing':
+ return ;
+
+ case 'feature_descriptive_text_generator':
+ return ;
+
+ case 'feature_image_tags_generator':
+ return ;
+
+ case 'feature_text_to_speech_generation':
+ return ;
+
+ case 'feature_moderation':
+ return ;
+
+ case 'feature_smart_404':
+ return ;
+
+ case 'feature_recommended_content':
+ return ;
+
+ default:
+ return null;
+ }
+};
+
+/**
+ * Component for additional settings fields for a feature.
+ *
+ * This component is used to add additional settings for a feature.
+ * It also provides a slot for Third-party plugins to add additional settings for a feature.
+ *
+ * @return {React.ReactElement} FeatureAdditionalSettings component.
+ */
+export const FeatureAdditionalSettings = () => {
+ const { featureName } = useFeatureContext();
+
+ return (
+ <>
+
+
+ { ( fills ) => <> { fills }> }
+
+
+ >
+ );
+};
diff --git a/src/js/settings/components/feature-additional-settings/moderation.js b/src/js/settings/components/feature-additional-settings/moderation.js
new file mode 100644
index 000000000..48784e9ca
--- /dev/null
+++ b/src/js/settings/components/feature-additional-settings/moderation.js
@@ -0,0 +1,63 @@
+/**
+ * WordPress dependencies
+ */
+import { useSelect, useDispatch } from '@wordpress/data';
+// eslint-disable-next-line @wordpress/no-unsafe-wp-apis
+import { CheckboxControl } from '@wordpress/components';
+import { __ } from '@wordpress/i18n';
+
+/**
+ * Internal dependencies
+ */
+import { SettingsRow } from '../settings-row';
+import { STORE_NAME } from '../../data/store';
+
+/**
+ * Component for Moderation feature settings.
+ *
+ * This component is used within the FeatureSettings component to allow users to configure the Moderation feature.
+ *
+ * @return {React.ReactElement} ModerationSettings component.
+ */
+export const ModerationSettings = () => {
+ const featureSettings = useSelect( ( select ) =>
+ select( STORE_NAME ).getFeatureSettings()
+ );
+ const { setFeatureSettings } = useDispatch( STORE_NAME );
+ const contentTypes = {
+ comments: __( 'Comments', 'classifai' ),
+ };
+
+ return (
+
+ { Object.keys( contentTypes ).map( ( contentType ) => {
+ return (
+ {
+ setFeatureSettings( {
+ content_types: {
+ ...featureSettings.content_types,
+ [ contentType ]: value ? contentType : '0',
+ },
+ } );
+ } }
+ />
+ );
+ } ) }
+
+ );
+};
diff --git a/src/js/settings/components/feature-additional-settings/nlu-feature.js b/src/js/settings/components/feature-additional-settings/nlu-feature.js
new file mode 100644
index 000000000..326c9d15f
--- /dev/null
+++ b/src/js/settings/components/feature-additional-settings/nlu-feature.js
@@ -0,0 +1,163 @@
+/**
+ * WordPress dependencies
+ */
+import { useSelect, useDispatch } from '@wordpress/data';
+import {
+ CheckboxControl,
+ SelectControl,
+ __experimentalInputControl as InputControl, // eslint-disable-line @wordpress/no-unsafe-wp-apis
+} from '@wordpress/components';
+import { __, sprintf } from '@wordpress/i18n';
+
+/**
+ * Internal dependencies
+ */
+import { SettingsRow } from '../settings-row';
+import { STORE_NAME } from '../../data/store';
+import { useTaxonomies } from '../../utils/utils';
+
+/**
+ * Component for render settings fields when IBM Watson NLU is selected as the provider.
+ *
+ * This component is used within the ClassificationSettings component.
+ *
+ * @return {React.ReactElement} NLUFeatureSettings component.
+ */
+export const NLUFeatureSettings = () => {
+ const featureSettings = useSelect( ( select ) =>
+ select( STORE_NAME ).getFeatureSettings()
+ );
+ const { setFeatureSettings } = useDispatch( STORE_NAME );
+ const { taxonomies = [] } = useTaxonomies();
+
+ const nluFeatures = {
+ category: {
+ label: __( 'Category', 'classifai' ),
+ defaultThreshold: 70,
+ },
+ keyword: {
+ label: __( 'Keyword', 'classifai' ),
+ defaultThreshold: 70,
+ },
+ entity: {
+ label: __( 'Entity', 'classifai' ),
+ defaultThreshold: 70,
+ },
+ concept: {
+ label: __( 'Concept', 'classifai' ),
+ defaultThreshold: 70,
+ },
+ };
+
+ const options =
+ taxonomies
+ ?.filter( ( taxonomy ) => {
+ const intersection = ( taxonomy.types || [] ).filter(
+ ( type ) => featureSettings.post_types?.[ type ] === type
+ );
+ return intersection.length > 0;
+ } )
+ ?.map( ( taxonomy ) => ( {
+ label: taxonomy.name,
+ value: taxonomy.slug,
+ } ) ) || [];
+
+ let features = {};
+ if ( 'ibm_watson_nlu' === featureSettings.provider ) {
+ features = nluFeatures;
+ if ( options ) {
+ options.push(
+ {
+ label: __( 'Watson Category', 'classifai' ),
+ value: 'watson-category',
+ },
+ {
+ label: __( 'Watson Keyword', 'classifai' ),
+ value: 'watson-keyword',
+ },
+ {
+ label: __( 'Watson Entity', 'classifai' ),
+ value: 'watson-entity',
+ },
+ {
+ label: __( 'Watson Concept', 'classifai' ),
+ value: 'watson-concept',
+ }
+ );
+ }
+ } else {
+ options?.forEach( ( taxonomy ) => {
+ features[ taxonomy.value ] = {
+ label: taxonomy.label,
+ defaultThreshold: 75,
+ };
+ } );
+ }
+
+ return (
+ <>
+ { Object.keys( features ).map( ( feature ) => {
+ const { defaultThreshold, label } = features[ feature ];
+ return (
+
+ {
+ setFeatureSettings( {
+ [ feature ]: value ? 1 : 0,
+ } );
+ } }
+ />
+ {
+ setFeatureSettings( {
+ [ `${ feature }_threshold` ]: value,
+ } );
+ } }
+ />
+ { 'ibm_watson_nlu' === featureSettings.provider && (
+ ( {
+ label: taxonomy.label,
+ value: taxonomy.value,
+ } )
+ ) }
+ onChange={ ( value ) => {
+ setFeatureSettings( {
+ [ `${ feature }_taxonomy` ]: value,
+ } );
+ } }
+ />
+ ) }
+
+ );
+ } ) }
+ >
+ );
+};
diff --git a/src/js/settings/components/feature-additional-settings/prompt-repeater.js b/src/js/settings/components/feature-additional-settings/prompt-repeater.js
new file mode 100644
index 000000000..2605bb1f6
--- /dev/null
+++ b/src/js/settings/components/feature-additional-settings/prompt-repeater.js
@@ -0,0 +1,181 @@
+/**
+ * WordPress dependencies
+ */
+import {
+ Button,
+ __experimentalInputControl as InputControl, // eslint-disable-line @wordpress/no-unsafe-wp-apis
+ TextareaControl,
+ __experimentalConfirmDialog as ConfirmDialog, // eslint-disable-line @wordpress/no-unsafe-wp-apis
+} from '@wordpress/components';
+import { useState } from '@wordpress/element';
+import { __ } from '@wordpress/i18n';
+
+/**
+ * Component for the Prompt.
+ *
+ * This component allows users to add or remove prompts for various features such as Title Generation, Excerpt Generation and Descriptive Text Generation.
+ *
+ * @param {Object} props Component props.
+ *
+ * @return {React.ReactElement} PromptRepeater component.
+ */
+export const PromptRepeater = ( props ) => {
+ const [ showConfirmDialog, setShowConfirmDialog ] = useState( false );
+ const [ activeIndex, setActiveIndex ] = useState( null );
+ const { prompts = [], setPromts } = props;
+
+ const placeholder =
+ prompts?.filter( ( prompt ) => prompt.original )[ 0 ]?.prompt || '';
+
+ // Add a new prompt.
+ const addPrompt = () => {
+ setPromts( [
+ ...prompts,
+ { default: 0, original: 0, prompt: '', title: '' },
+ ] );
+ };
+
+ // Remove a prompt.
+ const removePrompt = ( index ) => {
+ const prompt = prompts.splice( index, 1 );
+ // Make the first prompt default if default prompt is removed.
+ if ( prompt[ 0 ]?.default ) {
+ prompts[ 0 ].default = 1;
+ }
+ setPromts( [ ...prompts ] );
+ };
+
+ // Update prompt.
+ const onChange = ( index, changes ) => {
+ // Remove default from all other prompts
+ if ( changes.default ) {
+ prompts.forEach( ( prompt, i ) => {
+ if ( i !== index ) {
+ prompt.default = 0;
+ }
+ } );
+ }
+
+ prompts[ index ] = {
+ ...prompts[ index ],
+ ...changes,
+ };
+ setPromts( [ ...prompts ] );
+ };
+
+ // Confirm dialog to remove prompt.
+ const handleConfirm = () => {
+ setShowConfirmDialog( false );
+ removePrompt( activeIndex );
+ };
+
+ return (
+
+ { prompts.map( ( prompt, index ) => (
+
+ { !! prompt.original && (
+ <>
+
+
+ { __(
+ 'ClassifAI default prompt: ',
+ 'classifai'
+ ) }
+
+ { prompt.prompt }
+
+ >
+ ) }
+ { ! prompt.original && (
+ <>
+
{
+ onChange( index, {
+ title: value,
+ } );
+ } }
+ help={ __(
+ 'Short description of prompt to use for identification.',
+ 'classifai'
+ ) }
+ className="classifai-prompt-title"
+ />
+ {
+ onChange( index, {
+ prompt: value,
+ } );
+ } }
+ className="classifai-prompt-text"
+ />
+ >
+ ) }
+
+ {
+ onChange( index, {
+ default: 1,
+ } );
+ } }
+ >
+ { !! prompt.default
+ ? __( 'Default prompt', 'classifai' )
+ : __( 'Set as default prompt', 'classifai' ) }
+
+ { ! prompt.original && (
+ <>
+ { '|' }
+ {
+ setActiveIndex( index );
+ setShowConfirmDialog( true );
+ } }
+ >
+ { __( 'Trash', 'classifai' ) }
+
+ >
+ ) }
+
+
+ ) ) }
+
setShowConfirmDialog( false ) }
+ confirmButtonText={ __( 'Remove' ) }
+ size="medium"
+ >
+ { __(
+ 'Are you sure you want to remove the prompt?',
+ 'classifai'
+ ) }
+
+
+ { __( 'Add new prompt', 'classifai' ) }
+
+
+ );
+};
diff --git a/src/js/settings/components/feature-additional-settings/recommended-content.js b/src/js/settings/components/feature-additional-settings/recommended-content.js
new file mode 100644
index 000000000..83f23c2f4
--- /dev/null
+++ b/src/js/settings/components/feature-additional-settings/recommended-content.js
@@ -0,0 +1,59 @@
+/**
+ * WordPress dependencies
+ */
+import { Fill, Notice } from '@wordpress/components';
+import { __ } from '@wordpress/i18n';
+
+/**
+ * Component for Notice about the deprecation of the Personalizer provider.
+ *
+ * This component displays a notice to inform users about the deprecation of the Personalizer provider.
+ *
+ * @return {React.ReactElement} The PersonalizerDeprecationNotice component.
+ */
+const PersonalizerDeprecationNotice = () => (
+
+
+
+ { __( 'As of September 2023', 'classifai' ) }
+
+ { ', ' }
+ { __(
+ 'new Personalizer resources can no longer be created in Azure. This is currently the only provider available for the Recommended Content feature and as such, this feature will not work unless you had previously created a Personalizer resource. The Azure AI Personalizer provider is deprecated and will be removed in a future release. We hope to replace this provider with another one in a coming release to continue to support this feature',
+ 'classifai'
+ ) }
+ { __( '(see ', 'classifai' ) }
+
+ { __( 'issue#392', 'classifai' ) }
+
+ { ').' }
+
+
+);
+
+/**
+ * Component for the Recommended Content settings.
+ *
+ * This component displays a notice to inform users about the deprecation of the Personalizer provider.
+ *
+ * @return {React.ReactElement} The RecommendedContentSettings component.
+ */
+export const RecommendedContentSettings = () => {
+ return (
+
+
+
+ );
+};
diff --git a/src/js/settings/components/feature-additional-settings/smart-404.js b/src/js/settings/components/feature-additional-settings/smart-404.js
new file mode 100644
index 000000000..2d1582603
--- /dev/null
+++ b/src/js/settings/components/feature-additional-settings/smart-404.js
@@ -0,0 +1,158 @@
+/**
+ * WordPress dependencies
+ */
+import { useSelect, useDispatch } from '@wordpress/data';
+import {
+ CheckboxControl,
+ SelectControl,
+ __experimentalInputControl as InputControl, // eslint-disable-line @wordpress/no-unsafe-wp-apis
+} from '@wordpress/components';
+import { __ } from '@wordpress/i18n';
+
+/**
+ * Internal dependencies
+ */
+import { SettingsRow } from '../settings-row';
+import { STORE_NAME } from '../../data/store';
+
+/**
+ * Component for Smart 404 feature settings.
+ *
+ * This component is used within the FeatureSettings component to allow users to configure the Smart 404 feature.
+ *
+ * @return {React.ReactElement} Smart404Settings component.
+ */
+export const Smart404Settings = () => {
+ const featureSettings = useSelect( ( select ) =>
+ select( STORE_NAME ).getFeatureSettings()
+ );
+ const { setFeatureSettings } = useDispatch( STORE_NAME );
+ const featureName = 'feature_smart_404';
+
+ return (
+ <>
+
+ {
+ setFeatureSettings( {
+ num: value,
+ } );
+ } }
+ />
+
+
+ {
+ setFeatureSettings( {
+ num_search: value,
+ } );
+ } }
+ />
+
+
+ {
+ setFeatureSettings( {
+ threshold: value,
+ } );
+ } }
+ />
+
+
+ {
+ setFeatureSettings( {
+ rescore: value ? '1' : '0',
+ } );
+ } }
+ />
+
+
+ {
+ setFeatureSettings( {
+ fallback: value ? '1' : '0',
+ } );
+ } }
+ />
+
+
+ {
+ setFeatureSettings( {
+ score_function: value,
+ } );
+ } }
+ options={ [
+ { label: __( 'Cosine', 'classifai' ), value: 'cosine' },
+ {
+ label: __( 'Dot Product', 'classifai' ),
+ value: 'dot_product',
+ },
+ {
+ label: __( 'L1 Norm', 'classifai' ),
+ value: 'l1_norm',
+ },
+ {
+ label: __( 'L2 Norm', 'classifai' ),
+ value: 'l2_norm',
+ },
+ ] }
+ />
+
+ >
+ );
+};
diff --git a/src/js/settings/components/feature-additional-settings/text-to-speech.js b/src/js/settings/components/feature-additional-settings/text-to-speech.js
new file mode 100644
index 000000000..4f5362e87
--- /dev/null
+++ b/src/js/settings/components/feature-additional-settings/text-to-speech.js
@@ -0,0 +1,60 @@
+/**
+ * WordPress dependencies
+ */
+import { useSelect, useDispatch } from '@wordpress/data';
+// eslint-disable-next-line @wordpress/no-unsafe-wp-apis
+import { CheckboxControl } from '@wordpress/components';
+import { __ } from '@wordpress/i18n';
+
+/**
+ * Internal dependencies
+ */
+import { SettingsRow } from '../settings-row';
+import { STORE_NAME } from '../../data/store';
+import { usePostTypes } from '../../utils/utils';
+
+/**
+ * Component for Text to Speech feature settings.
+ *
+ * This component is used within the FeatureSettings component to allow users to configure the Text to Speech feature.
+ *
+ * @return {React.ReactElement} TextToSpeechSettings component.
+ */
+export const TextToSpeechSettings = () => {
+ const featureSettings = useSelect( ( select ) =>
+ select( STORE_NAME ).getFeatureSettings()
+ );
+ const { setFeatureSettings } = useDispatch( STORE_NAME );
+ const { postTypesSelectOptions } = usePostTypes();
+
+ return (
+
+ { postTypesSelectOptions.map( ( option ) => {
+ const { value: key, label } = option;
+ return (
+ {
+ setFeatureSettings( {
+ post_types: {
+ ...featureSettings.post_types,
+ [ key ]: value ? key : '0',
+ },
+ } );
+ } }
+ />
+ );
+ } ) }
+
+ );
+};
diff --git a/src/js/settings/components/feature-additional-settings/title-generation.js b/src/js/settings/components/feature-additional-settings/title-generation.js
new file mode 100644
index 000000000..e696434e3
--- /dev/null
+++ b/src/js/settings/components/feature-additional-settings/title-generation.js
@@ -0,0 +1,46 @@
+/**
+ * WordPress Dependencies
+ */
+import { useSelect, useDispatch } from '@wordpress/data';
+import { __ } from '@wordpress/i18n';
+
+/**
+ * Internal dependencies
+ */
+import { SettingsRow } from '../settings-row';
+import { STORE_NAME } from '../../data/store';
+import { PromptRepeater } from './prompt-repeater';
+
+/**
+ * Component for Title Generation feature settings.
+ *
+ * This component is used within the FeatureSettings component to allow users to configure the Title Generation feature.
+ *
+ * @return {React.ReactElement} TitleGenerationSettings component.
+ */
+export const TitleGenerationSettings = () => {
+ const featureSettings = useSelect( ( select ) =>
+ select( STORE_NAME ).getFeatureSettings()
+ );
+ const { setFeatureSettings } = useDispatch( STORE_NAME );
+ const setPromts = ( prompts ) => {
+ setFeatureSettings( {
+ generate_title_prompt: prompts,
+ } );
+ };
+
+ return (
+
+
+
+ );
+};
diff --git a/src/js/settings/components/feature-settings/context.js b/src/js/settings/components/feature-settings/context.js
new file mode 100644
index 000000000..2f2194879
--- /dev/null
+++ b/src/js/settings/components/feature-settings/context.js
@@ -0,0 +1,22 @@
+/**
+ * WordPress dependencies
+ */
+import { createContext, useContext } from '@wordpress/element';
+
+/**
+ * Context for the FeatureSettings.
+ */
+export const FeatureContext = createContext( {
+ featureName: '',
+} );
+
+/**
+ * Custom hook to access the FeatureContext.
+ *
+ * This hook provides a convenient way to access the FeatureContext.
+ *
+ * @return {Object} The current context value for FeatureContext.
+ */
+export const useFeatureContext = () => {
+ return useContext( FeatureContext );
+};
diff --git a/src/js/settings/components/feature-settings/enable-feature.js b/src/js/settings/components/feature-settings/enable-feature.js
new file mode 100644
index 000000000..c17b3fdea
--- /dev/null
+++ b/src/js/settings/components/feature-settings/enable-feature.js
@@ -0,0 +1,51 @@
+/**
+ * WordPress dependencies
+ */
+import { __ } from '@wordpress/i18n';
+import { ToggleControl } from '@wordpress/components';
+import { decodeEntities } from '@wordpress/html-entities';
+
+/**
+ * Internal dependencies
+ */
+import { getFeature } from '../../utils/utils';
+import { SettingsRow } from '../settings-row';
+import { useFeatureSettings } from '../../data/hooks';
+
+/**
+ * Enable Feature Toggle component.
+ *
+ * @param {Object} props Component props.
+ * @param {Object} props.children Component children.
+ */
+export const EnableToggleControl = ( { children } ) => {
+ const { featureName, getFeatureSettings, setFeatureSettings } =
+ useFeatureSettings();
+ const status = getFeatureSettings( 'status' ) || '0';
+ const feature = getFeature( featureName );
+
+ if ( children && 'function' === typeof children ) {
+ return children( { feature, status, setFeatureSettings } );
+ }
+
+ const enableDescription = decodeEntities(
+ feature?.enable_description || __( 'Enable feature', 'classifai' )
+ );
+
+ return (
+
+
+ setFeatureSettings( {
+ status: value ? '1' : '0', // TODO: Use boolean, currently using string for backward compatibility.
+ } )
+ }
+ />
+
+ );
+};
diff --git a/src/js/settings/components/feature-settings/index.js b/src/js/settings/components/feature-settings/index.js
new file mode 100644
index 000000000..cc2d031cd
--- /dev/null
+++ b/src/js/settings/components/feature-settings/index.js
@@ -0,0 +1,127 @@
+/**
+ * WordPress dependencies
+ */
+import { __, sprintf } from '@wordpress/i18n';
+import { Panel, PanelBody, Spinner, Notice, Slot } from '@wordpress/components';
+import { useDispatch, useSelect } from '@wordpress/data';
+import { useEffect } from '@wordpress/element';
+
+/**
+ * Internal dependencies
+ */
+import { getFeature } from '../../utils/utils';
+import { UserPermissions } from '../user-permissions';
+import { STORE_NAME } from '../../data/store';
+import { ProviderSettings } from '../provider-settings';
+import { EnableToggleControl } from './enable-feature';
+import { SaveSettingsButton, SaveButtonSlot } from './save-settings-button';
+import { Notices } from './notices';
+import { useFeatureContext } from './context';
+import { FeatureAdditionalSettings } from '../feature-additional-settings';
+
+/**
+ * Component to display a notice when the Smart 404 feature is enabled but ElasticPress is not active.
+ *
+ * @return {React.ReactElement} The ElasticPressRequiredNotice component.
+ */
+const ElasticPressRequiredNotice = () => (
+
+
+ { __(
+ 'The Smart 404 Feature requires the ElasticPress plugin to be installed and active prior to use.',
+ 'classifai'
+ ) }
+
+
+);
+
+/**
+ * Feature Settings component.
+ *
+ * This is the main component for the feature settings page. It renders the settings panel for the selected feature.
+ *
+ * @param {Object} props Component props.
+ * @param {Function} props.onSaveSuccess Callback function to be executed after saving settings.
+ */
+export const FeatureSettings = ( { onSaveSuccess = () => {} } ) => {
+ const { featureName } = useFeatureContext();
+ const { setCurrentFeature } = useDispatch( STORE_NAME );
+
+ useEffect( () => {
+ setCurrentFeature( featureName );
+ }, [ featureName, setCurrentFeature ] );
+
+ const { isLoaded, error } = useSelect( ( select ) => {
+ return {
+ isLoaded: select( STORE_NAME ).getIsLoaded(),
+ error: select( STORE_NAME ).getError(),
+ };
+ } );
+
+ const feature = getFeature( featureName );
+ const featureTitle = feature?.label || __( 'Feature', 'classifai' );
+
+ // Show loading spinner if settings are not loaded yet.
+ if ( ! isLoaded ) {
+ return (
+
+
+
+ { __( 'Loading settings…', 'classifai' ) }
+
+
+ );
+ }
+
+ // Show error notice if settings failed to load.
+ if ( error ) {
+ return (
+
+ { error }
+
+ );
+ }
+
+ // Show ElasticPress required notice if the feature is Smart 404 and ElasticPress is not active.
+ if (
+ 'feature_smart_404' === featureName &&
+ ! window.classifAISettings?.isEPinstalled
+ ) {
+ return ;
+ }
+
+ return (
+ <>
+
+
+ { ( fills ) => <>{ fills }> }
+
+
+
+
+
+
+
+
+
+
+ { ( fills ) => <>{ fills }> }
+
+
+
+
+
+
+ >
+ );
+};
diff --git a/src/js/settings/components/feature-settings/notices.js b/src/js/settings/components/feature-settings/notices.js
new file mode 100644
index 000000000..fc9920d8c
--- /dev/null
+++ b/src/js/settings/components/feature-settings/notices.js
@@ -0,0 +1,33 @@
+/**
+ * WordPress dependencies
+ */
+import { useDispatch, useSelect } from '@wordpress/data';
+import { store as noticesStore } from '@wordpress/notices';
+import { NoticeList } from '@wordpress/components';
+
+/**
+ * Component for displaying notices for a specific feature.
+ *
+ * @param {Object} props Component props.
+ * @param {string} props.feature Feature name.
+ *
+ * @return {React.ReactElement} Notices component.
+ */
+export const Notices = ( { feature } ) => {
+ const { removeNotice } = useDispatch( noticesStore );
+ const notices = useSelect( ( select ) =>
+ select( noticesStore ).getNotices()
+ );
+
+ const featureNotices = notices.filter(
+ ( notice ) =>
+ notice.id === `error-${ feature }` ||
+ notice.id === `success-${ feature }`
+ );
+
+ if ( featureNotices.length === 0 ) {
+ return null;
+ }
+
+ return ;
+};
diff --git a/src/js/settings/components/feature-settings/save-settings-button.js b/src/js/settings/components/feature-settings/save-settings-button.js
new file mode 100644
index 000000000..8cb36698d
--- /dev/null
+++ b/src/js/settings/components/feature-settings/save-settings-button.js
@@ -0,0 +1,128 @@
+/**
+ * WordPress dependencies
+ */
+import { __ } from '@wordpress/i18n';
+import { Button, Slot } from '@wordpress/components';
+import { useSelect, useDispatch } from '@wordpress/data';
+import { store as noticesStore } from '@wordpress/notices';
+import apiFetch from '@wordpress/api-fetch';
+
+/**
+ * Internal dependencies
+ */
+import { STORE_NAME } from '../../data/store';
+import { useFeatureSettings } from '../../data/hooks';
+import { useSetupPage } from '../classifai-onboarding/hooks';
+
+/**
+ * Save Settings Button component.
+ *
+ * This component renders a button that allows users to save the settings for a feature.
+ * It also handles the saving of settings via the REST API.
+ *
+ * @param {Object} props Component props.
+ * @param {Function} props.onSaveSuccess Callback function to be executed after saving settings.
+ * @param {string} props.label Button label.
+ */
+export const SaveSettingsButton = ( {
+ onSaveSuccess = () => {},
+ label = __( 'Save Settings', 'classifai' ),
+} ) => {
+ const { featureName } = useFeatureSettings();
+ const { isSetupPage, step } = useSetupPage();
+ const { createErrorNotice, removeNotices, removeNotice } =
+ useDispatch( noticesStore );
+ const notices = useSelect( ( select ) =>
+ select( noticesStore ).getNotices()
+ );
+ const { setIsSaving, setSettings } = useDispatch( STORE_NAME );
+ const isSaving = useSelect( ( select ) =>
+ select( STORE_NAME ).getIsSaving()
+ );
+ const settings = useSelect( ( select ) =>
+ select( STORE_NAME ).getSettings()
+ );
+
+ /**
+ * Save settings for a feature.
+ */
+ const saveSettings = () => {
+ // Remove existing notices.
+ if ( removeNotices ) {
+ removeNotices( notices.map( ( { id } ) => id ) );
+ } else if ( removeNotice ) {
+ notices.forEach( ( { id } ) => removeNotice( id ) );
+ }
+ setIsSaving( true );
+
+ const data = {
+ settings: featureName
+ ? { [ featureName ]: settings[ featureName ] }
+ : settings,
+ };
+
+ if ( isSetupPage ) {
+ data.is_setup = true;
+ data.step = step;
+ }
+
+ apiFetch( {
+ path: '/classifai/v1/settings/',
+ method: 'POST',
+ data,
+ } )
+ .then( ( res ) => {
+ if ( res.errors && res.errors.length ) {
+ res.errors.forEach( ( error ) => {
+ createErrorNotice( error.message, {
+ id: `error-${ featureName }`,
+ } );
+ } );
+ setSettings( res.settings );
+ setIsSaving( false );
+ return;
+ }
+ onSaveSuccess();
+ setSettings( res.settings );
+ setIsSaving( false );
+ } )
+ .catch( ( error ) => {
+ createErrorNotice(
+ error.message ||
+ __(
+ 'An error occurred while saving settings.',
+ 'classifai'
+ ),
+ {
+ id: `error-${ featureName }`,
+ }
+ );
+ setIsSaving( false );
+ } );
+ };
+
+ return (
+
+ { isSaving ? __( 'Saving…', 'classifai' ) : label }
+
+ );
+};
+
+export const SaveButtonSlot = ( { children } ) => {
+ return (
+ <>
+
+ { ( fills ) => <>{ fills }> }
+
+ { children }
+
+ { ( fills ) => <>{ fills }> }
+
+ >
+ );
+};
diff --git a/src/js/settings/components/header/index.js b/src/js/settings/components/header/index.js
new file mode 100644
index 000000000..eeb3f1229
--- /dev/null
+++ b/src/js/settings/components/header/index.js
@@ -0,0 +1,222 @@
+/**
+ * External dependencies
+ */
+import { NavLink } from 'react-router-dom';
+
+/**
+ * WordPress dependencies
+ */
+import {
+ DropdownMenu,
+ MenuGroup,
+ MenuItem,
+ VisuallyHidden,
+ Icon,
+} from '@wordpress/components';
+import { external, help, cog, tool } from '@wordpress/icons';
+import { __ } from '@wordpress/i18n';
+
+/**
+ * Internal dependencies
+ */
+import { ClassifAILogo } from '../../utils/icons';
+import { useSetupPage } from '../classifai-onboarding/hooks';
+
+/**
+ * Header component for the ClassifAI settings.
+ *
+ * This component renders the header for the ClassifAI settings page and the onboarding process.
+ *
+ * @return {React.ReactElement} Header component.
+ */
+export const Header = () => {
+ const { isSetupPage, step } = useSetupPage();
+ const onBoardingSteps = {
+ enable_features: {
+ step: __( '1', 'classifai' ),
+ title: __( 'Enable Features', 'classifai' ),
+ },
+ classifai_registration: {
+ step: __( '2', 'classifai' ),
+ title: __( 'Register ClassifAI', 'classifai' ),
+ },
+ configure_features: {
+ step: __( '3', 'classifai' ),
+ title: __( 'Access AI', 'classifai' ),
+ },
+ finish: {
+ step: __( '4', 'classifai' ),
+ title: __( 'Finish', 'classifai' ),
+ },
+ };
+
+ return (
+
+ );
+};
diff --git a/src/js/settings/components/index.js b/src/js/settings/components/index.js
new file mode 100644
index 000000000..a6aa466e8
--- /dev/null
+++ b/src/js/settings/components/index.js
@@ -0,0 +1,8 @@
+export * from './header';
+export * from './classifai-onboarding';
+export * from './classifai-settings';
+export * from './service-settings';
+export * from './feature-settings';
+export * from './user-permissions';
+export * from './allowed-roles';
+export * from './settings-row';
diff --git a/src/js/settings/components/provider-settings/amazon-polly.js b/src/js/settings/components/provider-settings/amazon-polly.js
new file mode 100644
index 000000000..b10e24a86
--- /dev/null
+++ b/src/js/settings/components/provider-settings/amazon-polly.js
@@ -0,0 +1,166 @@
+/**
+ * WordPress dependencies
+ */
+import { useSelect, useDispatch } from '@wordpress/data';
+import {
+ __experimentalInputControl as InputControl, // eslint-disable-line @wordpress/no-unsafe-wp-apis
+ SelectControl,
+} from '@wordpress/components';
+import { __ } from '@wordpress/i18n';
+
+/**
+ * Internal dependencies
+ */
+import { SettingsRow } from '../settings-row';
+import { STORE_NAME } from '../../data/store';
+
+/**
+ * Component for Amazon Polly Provider settings.
+ *
+ * This component is used within the ProviderSettings component to allow users to configure the Amazon Polly Provider settings.
+ *
+ * @param {Object} props Component props.
+ * @param {boolean} props.isConfigured Whether the provider is configured.
+ *
+ * @return {React.ReactElement} AmazonPollySettings component.
+ */
+export const AmazonPollySettings = ( { isConfigured = false } ) => {
+ const providerName = 'aws_polly';
+ const providerSettings = useSelect(
+ ( select ) =>
+ select( STORE_NAME ).getFeatureSettings( providerName ) || {}
+ );
+ const { setProviderSettings } = useDispatch( STORE_NAME );
+ const onChange = ( data ) => setProviderSettings( providerName, data );
+
+ return (
+ <>
+ { ! isConfigured && (
+ <>
+
+
+ onChange( { access_key_id: value } )
+ }
+ />
+
+
+
+ onChange( { secret_access_key: value } )
+ }
+ />
+
+
+ { ' ' }
+ { __(
+ 'Enter the AWS Region. eg: ',
+ 'classifai'
+ ) }
+
+ { ' ' }
+ { __( 'us-east-1', 'classifai' ) }{ ' ' }
+
+ .
+ >
+ }
+ >
+
+ onChange( { aws_region: value } )
+ }
+ />
+
+ >
+ ) }
+
+ { __( 'Amazon Polly offers ', 'classifai' ) }
+
+ { __( 'Long-Form', 'classifai' ) }
+
+ ,{ ' ' }
+
+ { __( 'Neural', 'classifai' ) }{ ' ' }
+
+ { __(
+ ' and Standard text-to-speech voices. Please check the ',
+ 'classifai'
+ ) }
+
+ { __( 'documentation', 'classifai' ) }
+ { ' ' }
+ { __(
+ 'to review pricing for Long-Form, Neural and Standard usage.',
+ 'classifai'
+ ) }
+ >
+ }
+ >
+
+ onChange( { voice_engine: value } )
+ }
+ value={ providerSettings.voice_engine || 'standard' }
+ options={ [
+ {
+ label: __( 'Standard', 'classifai' ),
+ value: 'standard',
+ },
+ {
+ label: __( 'Neural', 'classifai' ),
+ value: 'neural',
+ },
+ {
+ label: __( 'Long Form', 'classifai' ),
+ value: 'long-form',
+ },
+ ] }
+ />
+
+
+ onChange( { voice: value } ) }
+ value={ providerSettings.voice || '' }
+ options={ ( providerSettings.voices || [] )
+ .filter( ( voice ) =>
+ voice.SupportedEngines?.includes(
+ providerSettings.voice_engine
+ )
+ )
+ .map( ( voice ) => {
+ return {
+ value: voice.Id,
+ label: `${ voice?.LanguageName } - ${ voice?.Name } (${ voice?.Gender })`,
+ };
+ } ) }
+ />
+
+ >
+ );
+};
diff --git a/src/js/settings/components/provider-settings/azure-ai-vision.js b/src/js/settings/components/provider-settings/azure-ai-vision.js
new file mode 100644
index 000000000..f34a27e21
--- /dev/null
+++ b/src/js/settings/components/provider-settings/azure-ai-vision.js
@@ -0,0 +1,124 @@
+/**
+ * WordPress dependencies
+ */
+import { useSelect, useDispatch } from '@wordpress/data';
+// eslint-disable-next-line @wordpress/no-unsafe-wp-apis
+import { __experimentalInputControl as InputControl } from '@wordpress/components';
+import { __ } from '@wordpress/i18n';
+
+/**
+ * Internal dependencies
+ */
+import { SettingsRow } from '../settings-row';
+import { STORE_NAME } from '../../data/store';
+import { useFeatureContext } from '../feature-settings/context';
+
+/**
+ * Component for Azure AI Vision Provider settings.
+ *
+ * This component is used within the ProviderSettings component to allow users to configure the Azure AI Vision Provider settings.
+ *
+ * @param {Object} props Component props.
+ * @param {boolean} props.isConfigured Whether the provider is configured.
+ *
+ * @return {React.ReactElement} AzureAIVisionSettings component.
+ */
+export const AzureAIVisionSettings = ( { isConfigured = false } ) => {
+ const providerName = 'ms_computer_vision';
+ const { featureName } = useFeatureContext();
+ const providerSettings = useSelect(
+ ( select ) =>
+ select( STORE_NAME ).getFeatureSettings( providerName ) || {}
+ );
+ const { setProviderSettings } = useDispatch( STORE_NAME );
+ const onChange = ( data ) => setProviderSettings( providerName, data );
+
+ const Description = () => (
+ <>
+ { __(
+ 'Supported protocol and hostname endpoints, e.g.,',
+ 'classifai'
+ ) }
+
+ { __( 'https://EXAMPLE.openai.azure.com', 'classifai' ) }
+
+ >
+ );
+
+ return (
+ <>
+ { ! isConfigured && (
+ <>
+ }
+ >
+
+ onChange( { endpoint_url: value } )
+ }
+ />
+
+
+
+ onChange( { api_key: value } )
+ }
+ />
+
+ >
+ ) }
+ { 'feature_descriptive_text_generator' === featureName && (
+
+
+ onChange( {
+ descriptive_confidence_threshold: value,
+ } )
+ }
+ />
+
+ ) }
+ { 'feature_image_tags_generator' === featureName && (
+
+
+ onChange( {
+ tag_confidence_threshold: value,
+ } )
+ }
+ />
+
+ ) }
+ >
+ );
+};
diff --git a/src/js/settings/components/provider-settings/azure-openai.js b/src/js/settings/components/provider-settings/azure-openai.js
new file mode 100644
index 000000000..9a6b9b016
--- /dev/null
+++ b/src/js/settings/components/provider-settings/azure-openai.js
@@ -0,0 +1,119 @@
+/**
+ * WordPress dependencies
+ */
+import { useSelect, useDispatch } from '@wordpress/data';
+// eslint-disable-next-line @wordpress/no-unsafe-wp-apis
+import { __experimentalInputControl as InputControl } from '@wordpress/components';
+import { __ } from '@wordpress/i18n';
+
+/**
+ * Internal dependencies
+ */
+import { SettingsRow } from '../settings-row';
+import { STORE_NAME } from '../../data/store';
+import { useFeatureContext } from '../feature-settings/context';
+
+/**
+ * Component for Azure OpenAI Provider settings.
+ *
+ * This component is used within the ProviderSettings component to allow users to configure the Azure OpenAI Provider settings.
+ *
+ * @param {Object} props Component props.
+ * @param {string} props.providerName The provider name.
+ * @param {boolean} props.isConfigured Whether the provider is configured.
+ *
+ * @return {React.ReactElement} AzureOpenAISettings component.
+ */
+export const AzureOpenAISettings = ( {
+ providerName = 'azure_openai',
+ isConfigured = false,
+} ) => {
+ const { featureName } = useFeatureContext();
+ const providerSettings = useSelect(
+ ( select ) =>
+ select( STORE_NAME ).getFeatureSettings( providerName ) || {}
+ );
+ const { setProviderSettings } = useDispatch( STORE_NAME );
+ const onChange = ( data ) => setProviderSettings( providerName, data );
+
+ const Description = () => (
+ <>
+ { __(
+ 'Supported protocol and hostname endpoints, e.g.,',
+ 'classifai'
+ ) }
+
+ { __( 'https://EXAMPLE.openai.azure.com', 'classifai' ) }
+
+ >
+ );
+
+ return (
+ <>
+ { ! isConfigured && (
+ <>
+ }
+ >
+
+ onChange( { endpoint_url: value } )
+ }
+ />
+
+
+
+ onChange( { api_key: value } )
+ }
+ />
+
+
+
+ onChange( { deployment: value } )
+ }
+ />
+
+ >
+ ) }
+ { [
+ 'feature_content_resizing',
+ 'feature_title_generation',
+ ].includes( featureName ) && (
+
+
+ onChange( { number_of_suggestions: value } )
+ }
+ />
+
+ ) }
+ >
+ );
+};
diff --git a/src/js/settings/components/provider-settings/azure-personlizer.js b/src/js/settings/components/provider-settings/azure-personlizer.js
new file mode 100644
index 000000000..d4b3c4872
--- /dev/null
+++ b/src/js/settings/components/provider-settings/azure-personlizer.js
@@ -0,0 +1,58 @@
+/**
+ * WordPress dependencies
+ */
+import { useSelect, useDispatch } from '@wordpress/data';
+// eslint-disable-next-line @wordpress/no-unsafe-wp-apis
+import { __experimentalInputControl as InputControl } from '@wordpress/components';
+import { __ } from '@wordpress/i18n';
+
+/**
+ * Internal dependencies
+ */
+import { SettingsRow } from '../settings-row';
+import { STORE_NAME } from '../../data/store';
+
+/**
+ * Component for Azure Personalizer Provider settings.
+ *
+ * This component is used within the ProviderSettings component to allow users to configure the Azure Personalizer Provider settings.
+ *
+ * @param {Object} props Component props.
+ * @param {boolean} props.isConfigured Whether the provider is configured.
+ *
+ * @return {React.ReactElement} AzurePersonalizerSettings component.
+ */
+export const AzurePersonalizerSettings = ( { isConfigured = false } ) => {
+ const providerName = 'ms_azure_personalizer';
+ const providerSettings = useSelect(
+ ( select ) =>
+ select( STORE_NAME ).getFeatureSettings( providerName ) || {}
+ );
+ const { setProviderSettings } = useDispatch( STORE_NAME );
+ const onChange = ( data ) => setProviderSettings( providerName, data );
+
+ if ( isConfigured ) {
+ return null;
+ }
+
+ return (
+ <>
+
+
+ onChange( { endpoint_url: value } )
+ }
+ />
+
+
+ onChange( { api_key: value } ) }
+ />
+
+ >
+ );
+};
diff --git a/src/js/settings/components/provider-settings/azure-text-to-speech.js b/src/js/settings/components/provider-settings/azure-text-to-speech.js
new file mode 100644
index 000000000..f486c5a79
--- /dev/null
+++ b/src/js/settings/components/provider-settings/azure-text-to-speech.js
@@ -0,0 +1,101 @@
+/**
+ * WordPress dependencies
+ */
+import { useSelect, useDispatch } from '@wordpress/data';
+import {
+ __experimentalInputControl as InputControl, // eslint-disable-line @wordpress/no-unsafe-wp-apis
+ SelectControl,
+} from '@wordpress/components';
+import { __ } from '@wordpress/i18n';
+
+/**
+ * Internal dependencies
+ */
+import { SettingsRow } from '../settings-row';
+import { STORE_NAME } from '../../data/store';
+
+/**
+ * Component for Azure Text to Speech Provider settings.
+ *
+ * This component is used within the ProviderSettings component to allow users to configure the Azure Text to Speech Provider settings.
+ *
+ * @param {Object} props Component props.
+ * @param {boolean} props.isConfigured Whether the provider is configured.
+ *
+ * @return {React.ReactElement} AzureTextToSpeechSettings component.
+ */
+export const AzureTextToSpeechSettings = ( { isConfigured = false } ) => {
+ const providerName = 'ms_azure_text_to_speech';
+ const providerSettings = useSelect(
+ ( select ) =>
+ select( STORE_NAME ).getFeatureSettings( providerName ) || {}
+ );
+ const { setProviderSettings } = useDispatch( STORE_NAME );
+ const onChange = ( data ) => setProviderSettings( providerName, data );
+
+ const Description = () => (
+ <>
+ { __( 'Text to Speech region endpoint, e.g. ', 'classifai' ) }
+
+ { __(
+ 'https://LOCATION.tts.speech.microsoft.com/',
+ 'classifai'
+ ) }
+
+ { '. ' }
+ { __( ' Replace ', 'classifai' ) }
+ { __( 'LOCATION', 'classifai' ) }
+ { __(
+ ' with the Location/Region you selected for the resource in Azure.',
+ 'classifai'
+ ) }
+ >
+ );
+
+ return (
+ <>
+ { ! isConfigured && (
+ <>
+ }
+ >
+
+ onChange( { endpoint_url: value } )
+ }
+ />
+
+
+
+ onChange( { api_key: value } )
+ }
+ />
+
+ >
+ ) }
+ { !! providerSettings.voices?.length && (
+
+ onChange( { voice: value } ) }
+ value={ providerSettings.voice || '' }
+ options={ ( providerSettings.voices || [] ).map(
+ ( ele ) => ( {
+ label: `${ ele.LocaleName } (${ ele.DisplayName }/${ ele.Gender })`,
+ value: `${ ele.ShortName }|${ ele.Gender }`,
+ } )
+ ) }
+ />
+
+ ) }
+ >
+ );
+};
diff --git a/src/js/settings/components/provider-settings/google-gemini-api.js b/src/js/settings/components/provider-settings/google-gemini-api.js
new file mode 100644
index 000000000..5ac90eeb3
--- /dev/null
+++ b/src/js/settings/components/provider-settings/google-gemini-api.js
@@ -0,0 +1,66 @@
+/**
+ * WordPress dependencies
+ */
+import { useSelect, useDispatch } from '@wordpress/data';
+// eslint-disable-next-line @wordpress/no-unsafe-wp-apis
+import { __experimentalInputControl as InputControl } from '@wordpress/components';
+import { __ } from '@wordpress/i18n';
+
+/**
+ * Internal dependencies
+ */
+import { SettingsRow } from '../settings-row';
+import { STORE_NAME } from '../../data/store';
+
+/**
+ * Component for Google AI (Gemini API) Provider settings.
+ *
+ * This component is used within the ProviderSettings component to allow users to configure the Google AI (Gemini API) Provider settings.
+ *
+ * @param {Object} props Component props.
+ * @param {boolean} props.isConfigured Whether the provider is configured.
+ *
+ * @return {React.ReactElement} GoogleAIGeminiAPISettings component.
+ */
+export const GoogleAIGeminiAPISettings = ( { isConfigured = false } ) => {
+ const providerName = 'googleai_gemini_api';
+ const providerSettings = useSelect(
+ ( select ) =>
+ select( STORE_NAME ).getFeatureSettings( providerName ) || {}
+ );
+ const { setProviderSettings } = useDispatch( STORE_NAME );
+ const onChange = ( data ) => setProviderSettings( providerName, data );
+
+ if ( isConfigured ) {
+ return null;
+ }
+
+ const Description = () => (
+ <>
+ { __( "Don't have an Google AI (Gemini API) key?", 'classifai' ) }{ ' ' }
+
+ { __( 'Get an API key', 'classifai' ) }
+ { ' ' }
+ { __( 'now.', 'classifai' ) }
+ >
+ );
+
+ return (
+ <>
+ }
+ >
+ onChange( { api_key: value } ) }
+ />
+
+ >
+ );
+};
diff --git a/src/js/settings/components/provider-settings/ibm-watson-nlu.js b/src/js/settings/components/provider-settings/ibm-watson-nlu.js
new file mode 100644
index 000000000..6283c6361
--- /dev/null
+++ b/src/js/settings/components/provider-settings/ibm-watson-nlu.js
@@ -0,0 +1,121 @@
+/**
+ * WordPress dependencies
+ */
+import { useSelect, useDispatch } from '@wordpress/data';
+import { useState } from '@wordpress/element';
+import {
+ __experimentalInputControl as InputControl, // eslint-disable-line @wordpress/no-unsafe-wp-apis
+ Button,
+} from '@wordpress/components';
+import { __ } from '@wordpress/i18n';
+
+/**
+ * Internal dependencies
+ */
+import { SettingsRow } from '../settings-row';
+import { STORE_NAME } from '../../data/store';
+
+/**
+ * Component for IBM Watson NLU Provider settings.
+ *
+ * This component is used within the ProviderSettings component to allow users to configure the IBM Watson NLU Provider settings.
+ *
+ * @param {Object} props Component props.
+ * @param {boolean} props.isConfigured Whether the provider is configured.
+ *
+ * @return {React.ReactElement} IBMWatsonNLUSettings component.
+ */
+export const IBMWatsonNLUSettings = ( { isConfigured = false } ) => {
+ const providerName = 'ibm_watson_nlu';
+ const providerSettings = useSelect(
+ ( select ) =>
+ select( STORE_NAME ).getFeatureSettings( providerName ) || {}
+ );
+ const [ useAPIkey, setUseAPIkey ] = useState(
+ ! providerSettings.username || 'apikey' === providerSettings.username
+ );
+ const { setProviderSettings } = useDispatch( STORE_NAME );
+ const onChange = ( data ) => setProviderSettings( providerName, data );
+
+ if ( isConfigured ) {
+ return null;
+ }
+
+ const Description = () => (
+ <>
+ { __( "Don't have an IBM Cloud account yet?", 'classifai' ) }{ ' ' }
+
+ { __( 'Register for one', 'classifai' ) }
+
+ { __( ' and set up a ', 'classifai' ) }
+
+ { __( 'Natural Language Understanding', 'classifai' ) }
+
+ { __( ' Resource to get your API key.', 'classifai' ) }
+ >
+ );
+
+ return (
+ <>
+
+
+ onChange( { endpoint_url: value } )
+ }
+ />
+
+ { ! useAPIkey && (
+
+
+ onChange( { username: value } )
+ }
+ />
+
+ ) }
+ }
+ >
+ {
+ const data = { password: value };
+ if ( useAPIkey ) {
+ data.username = 'apikey';
+ }
+ onChange( data );
+ } }
+ />
+
+
+ {
+ setUseAPIkey( ! useAPIkey );
+ } }
+ >
+ { useAPIkey
+ ? __( 'Use a username/password instead?', 'classifai' )
+ : __( 'Use an API Key instead?', 'classifai' ) }
+
+
+ >
+ );
+};
diff --git a/src/js/settings/components/provider-settings/index.js b/src/js/settings/components/provider-settings/index.js
new file mode 100644
index 000000000..8567c4978
--- /dev/null
+++ b/src/js/settings/components/provider-settings/index.js
@@ -0,0 +1,185 @@
+/**
+ * WordPress dependencies
+ */
+import { __ } from '@wordpress/i18n';
+import { SelectControl, Slot, Icon, Tooltip } from '@wordpress/components';
+import { useDispatch, useSelect } from '@wordpress/data';
+import { useState } from '@wordpress/element';
+import { PluginArea } from '@wordpress/plugins';
+
+/**
+ * Internal dependencies
+ */
+import { getFeature, getScope, isProviderConfigured } from '../../utils/utils';
+import { SettingsRow } from '../settings-row';
+import { STORE_NAME } from '../../data/store';
+import { OpenAIChatGPTSettings } from './openai-chatgpt';
+import { GoogleAIGeminiAPISettings } from './google-gemini-api';
+import { AzureOpenAISettings } from './azure-openai';
+import { useFeatureContext } from '../feature-settings/context';
+import { IBMWatsonNLUSettings } from './ibm-watson-nlu';
+import { OpenAIModerationSettings } from './openai-moderation';
+import { OpenAIEmbeddingsSettings } from './openai-embeddings';
+import { OpenAIWhisperSettings } from './openai-whisper';
+import { AzureAIVisionSettings } from './azure-ai-vision';
+import { AzurePersonalizerSettings } from './azure-personlizer';
+import { OpenAIDallESettings } from './openai-dalle';
+import { AmazonPollySettings } from './amazon-polly';
+import { AzureTextToSpeechSettings } from './azure-text-to-speech';
+import { OpenAITextToSpeachSettings } from './openai-text-to-speech';
+
+/**
+ * Component for rendering provider setting fields based on the selected provider.
+ *
+ * @param {Object} props Component props.
+ * @param {string} props.provider The selected provider.
+ * @param {boolean} props.isConfigured Whether the provider is configured.
+ *
+ * @return {React.ReactElement} ProviderFields component.
+ */
+const ProviderFields = ( { provider, isConfigured } ) => {
+ switch ( provider ) {
+ case 'openai_chatgpt':
+ return ;
+
+ case 'googleai_gemini_api':
+ return ;
+
+ case 'azure_openai':
+ case 'azure_openai_embeddings':
+ return (
+
+ );
+
+ case 'ibm_watson_nlu':
+ return ;
+
+ case 'openai_embeddings':
+ return ;
+
+ case 'openai_whisper':
+ return ;
+
+ case 'openai_moderation':
+ return ;
+
+ case 'openai_dalle':
+ return ;
+
+ case 'ms_computer_vision':
+ return ;
+
+ case 'ms_azure_personalizer':
+ return ;
+
+ case 'aws_polly':
+ return ;
+
+ case 'ms_azure_text_to_speech':
+ return ;
+
+ case 'openai_text_to_speech':
+ return ;
+
+ default:
+ return null;
+ }
+};
+
+/**
+ * Provider Settings component.
+ *
+ * This component is used within the FeatureSettings component to allow users to configure the provider settings.
+ *
+ * @return {React.ReactElement} ProviderSettings component.
+ */
+export const ProviderSettings = () => {
+ const [ editProvider, setEditProvider ] = useState( false );
+ const { featureName } = useFeatureContext();
+ const { setFeatureSettings } = useDispatch( STORE_NAME );
+ const feature = getFeature( featureName );
+ const provider = useSelect(
+ ( select ) =>
+ select( STORE_NAME ).getFeatureSettings( 'provider' ) ||
+ Object.keys( feature?.providers || {} )[ 0 ]
+ );
+ const featureSettings = useSelect( ( select ) =>
+ select( STORE_NAME ).getFeatureSettings()
+ );
+
+ const providerLabel = feature.providers[ provider ] || '';
+ const providers = Object.keys( feature?.providers || {} ).map(
+ ( value ) => {
+ return {
+ value,
+ label: feature.providers[ value ] || '',
+ };
+ }
+ );
+
+ const configured =
+ isProviderConfigured( featureSettings ) &&
+ featureName !== editProvider &&
+ providerLabel;
+
+ return (
+ <>
+ { configured && (
+ <>
+
+ <>
+
+ <>
+ { providerLabel }
+ >
+ { ' ' }
+
+ { /* The fragment is necessary here. `Tooltip` tries to pass `refs` to `Icon` which isn't
+ wrapped inside forwardRef(), without which it throws an error. DO NOT REMOVE THE FRAGMENTS. */ }
+ <>
+
+ setEditProvider( featureName )
+ }
+ />
+ >
+
+ >
+
+ >
+ ) }
+ <>
+ { ! configured && (
+
+
+ setFeatureSettings( { provider: value } )
+ }
+ value={ provider }
+ options={ providers }
+ />
+
+ ) }
+
+
+ { ( fills ) => <> { fills }> }
+
+
+ >
+ >
+ );
+};
diff --git a/src/js/settings/components/provider-settings/openai-chatgpt.js b/src/js/settings/components/provider-settings/openai-chatgpt.js
new file mode 100644
index 000000000..12cf8191b
--- /dev/null
+++ b/src/js/settings/components/provider-settings/openai-chatgpt.js
@@ -0,0 +1,87 @@
+/**
+ * WordPress dependencies
+ */
+import { useSelect, useDispatch } from '@wordpress/data';
+// eslint-disable-next-line @wordpress/no-unsafe-wp-apis
+import { __experimentalInputControl as InputControl } from '@wordpress/components';
+import { __ } from '@wordpress/i18n';
+
+/**
+ * Internal dependencies
+ */
+import { SettingsRow } from '../settings-row';
+import { STORE_NAME } from '../../data/store';
+import { useFeatureContext } from '../feature-settings/context';
+
+/**
+ * Component for OpenAI ChatGPT Provider settings.
+ *
+ * This component is used within the ProviderSettings component to allow users to configure the OpenAI ChatGPT Provider settings.
+ *
+ * @param {Object} props Component props.
+ * @param {boolean} props.isConfigured Whether the provider is configured.
+ *
+ * @return {React.ReactElement} OpenAIChatGPTSettings component.
+ */
+export const OpenAIChatGPTSettings = ( { isConfigured = false } ) => {
+ const { featureName } = useFeatureContext();
+ const providerName = 'openai_chatgpt';
+ const providerSettings = useSelect(
+ ( select ) =>
+ select( STORE_NAME ).getFeatureSettings( providerName ) || {}
+ );
+ const { setProviderSettings } = useDispatch( STORE_NAME );
+ const onChange = ( data ) => setProviderSettings( providerName, data );
+
+ const Description = () => (
+ <>
+ { __( "Don't have an OpenAI account yet? ", 'classifai' ) }
+
+ { __( 'Sign up for one', 'classifai' ) }
+ { ' ' }
+ { __( 'in order to get your API key.', 'classifai' ) }
+ >
+ );
+
+ return (
+ <>
+ { ! isConfigured && (
+ }
+ >
+ onChange( { api_key: value } ) }
+ />
+
+ ) }
+ { [
+ 'feature_content_resizing',
+ 'feature_title_generation',
+ ].includes( featureName ) && (
+
+
+ onChange( { number_of_suggestions: value } )
+ }
+ />
+
+ ) }
+ >
+ );
+};
diff --git a/src/js/settings/components/provider-settings/openai-dalle.js b/src/js/settings/components/provider-settings/openai-dalle.js
new file mode 100644
index 000000000..9431c06b5
--- /dev/null
+++ b/src/js/settings/components/provider-settings/openai-dalle.js
@@ -0,0 +1,158 @@
+/**
+ * WordPress dependencies
+ */
+import {
+ __experimentalInputControl as InputControl, // eslint-disable-line @wordpress/no-unsafe-wp-apis
+ SelectControl,
+} from '@wordpress/components';
+import { __ } from '@wordpress/i18n';
+
+/**
+ * Internal dependencies
+ */
+import { SettingsRow } from '../settings-row';
+import { useSelect, useDispatch } from '@wordpress/data';
+import { STORE_NAME } from '../../data/store';
+
+/**
+ * Component for OpenAI DALL-E Provider settings.
+ *
+ * This component is used within the ProviderSettings component to allow users to configure the OpenAI DALL-E Provider settings.
+ *
+ * @param {Object} props Component props.
+ * @param {boolean} props.isConfigured Whether the provider is configured.
+ *
+ * @return {React.ReactElement} OpenAIDallESettings component.
+ */
+export const OpenAIDallESettings = ( { isConfigured = false } ) => {
+ const providerName = 'openai_dalle';
+ const providerSettings = useSelect(
+ ( select ) =>
+ select( STORE_NAME ).getFeatureSettings( providerName ) || {}
+ );
+ const { setProviderSettings } = useDispatch( STORE_NAME );
+ const onChange = ( data ) => setProviderSettings( providerName, data );
+
+ const Description = () => (
+ <>
+ { __( "Don't have an OpenAI account yet? ", 'classifai' ) }
+
+ { __( 'Sign up for one', 'classifai' ) }
+ { ' ' }
+ { __( 'in order to get your API key.', 'classifai' ) }
+ >
+ );
+
+ return (
+ <>
+ { ! isConfigured && (
+ }
+ >
+ onChange( { api_key: value } ) }
+ />
+
+ ) }
+
+
+ onChange( { number_of_images: value } )
+ }
+ value={ providerSettings.number_of_images || '1' }
+ options={ Array.from( { length: 10 }, ( v, i ) => ( {
+ label: i + 1,
+ value: i + 1,
+ } ) ) }
+ />
+
+
+ onChange( { quality: value } ) }
+ value={ providerSettings.quality || 'standard' }
+ options={ [
+ {
+ label: __( 'Standard', 'classifai' ),
+ value: 'standard',
+ },
+ {
+ label: __( 'High Definition', 'classifai' ),
+ value: 'hd',
+ },
+ ] }
+ />
+
+
+ onChange( { image_size: value } ) }
+ value={ providerSettings.image_size || '1024x1024' }
+ options={ [
+ {
+ label: __( '1024x1024 (square)', 'classifai' ),
+ value: '1024x1024',
+ },
+ {
+ label: __( '1792x1024 (landscape)', 'classifai' ),
+ value: '1792x1024',
+ },
+ {
+ label: __( '1024x1792 (portrait)', 'classifai' ),
+ value: '1024x1792',
+ },
+ ] }
+ />
+
+
+ onChange( { style: value } ) }
+ value={ providerSettings.style || 'vivid' }
+ options={ [
+ {
+ label: __( 'Vivid', 'classifai' ),
+ value: 'vivid',
+ },
+ {
+ label: __( 'Natural', 'classifai' ),
+ value: 'natural',
+ },
+ ] }
+ />
+
+ >
+ );
+};
diff --git a/src/js/settings/components/provider-settings/openai-embeddings.js b/src/js/settings/components/provider-settings/openai-embeddings.js
new file mode 100644
index 000000000..8e7afe11c
--- /dev/null
+++ b/src/js/settings/components/provider-settings/openai-embeddings.js
@@ -0,0 +1,41 @@
+/**
+ * WordPress dependencies
+ */
+import { useSelect, useDispatch } from '@wordpress/data';
+
+/**
+ * Internal dependencies
+ */
+import { STORE_NAME } from '../../data/store';
+import { OpenAISettings } from './openai';
+
+/**
+ * React Component for OpenAI Embeddings settings.
+ *
+ * This component is used within the ProviderSettings component to allow users to configure the OpenAI Embeddings settings.
+ *
+ * @param {Object} props Component props.
+ * @param {boolean} props.isConfigured Whether the provider is configured.
+ *
+ * @return {React.ReactElement} OpenAIEmbeddingsSettings component.
+ */
+export const OpenAIEmbeddingsSettings = ( { isConfigured = false } ) => {
+ const providerName = 'openai_embeddings';
+ const providerSettings = useSelect(
+ ( select ) =>
+ select( STORE_NAME ).getFeatureSettings( providerName ) || {}
+ );
+ const { setProviderSettings } = useDispatch( STORE_NAME );
+ const onChange = ( data ) => setProviderSettings( providerName, data );
+
+ if ( isConfigured ) {
+ return null;
+ }
+
+ return (
+
+ );
+};
diff --git a/src/js/settings/components/provider-settings/openai-moderation.js b/src/js/settings/components/provider-settings/openai-moderation.js
new file mode 100644
index 000000000..5491ccc1b
--- /dev/null
+++ b/src/js/settings/components/provider-settings/openai-moderation.js
@@ -0,0 +1,41 @@
+/**
+ * WordPress dependencies
+ */
+import { useSelect, useDispatch } from '@wordpress/data';
+
+/**
+ * Internal dependencies
+ */
+import { STORE_NAME } from '../../data/store';
+import { OpenAISettings } from './openai';
+
+/**
+ * Component for OpenAI Moderation settings.
+ *
+ * This component is used within the ProviderSettings component to allow users to configure the OpenAI Moderation settings.
+ *
+ * @param {Object} props Component props.
+ * @param {boolean} props.isConfigured Whether the provider is configured.
+ *
+ * @return {React.ReactElement} OpenAIModerationSettings component.
+ */
+export const OpenAIModerationSettings = ( { isConfigured = false } ) => {
+ const providerName = 'openai_moderation';
+ const providerSettings = useSelect(
+ ( select ) =>
+ select( STORE_NAME ).getFeatureSettings( providerName ) || {}
+ );
+ const { setProviderSettings } = useDispatch( STORE_NAME );
+ const onChange = ( data ) => setProviderSettings( providerName, data );
+
+ if ( isConfigured ) {
+ return null;
+ }
+
+ return (
+
+ );
+};
diff --git a/src/js/settings/components/provider-settings/openai-text-to-speech.js b/src/js/settings/components/provider-settings/openai-text-to-speech.js
new file mode 100644
index 000000000..127b71706
--- /dev/null
+++ b/src/js/settings/components/provider-settings/openai-text-to-speech.js
@@ -0,0 +1,196 @@
+/**
+ * WordPress dependencies
+ */
+import {
+ __experimentalInputControl as InputControl, // eslint-disable-line @wordpress/no-unsafe-wp-apis
+ SelectControl,
+} from '@wordpress/components';
+import { __ } from '@wordpress/i18n';
+
+/**
+ * Internal dependencies
+ */
+import { SettingsRow } from '../settings-row';
+import { useSelect, useDispatch } from '@wordpress/data';
+import { STORE_NAME } from '../../data/store';
+
+/**
+ * Component for OpenAI Text to Speech Provider settings.
+ *
+ * This component is used within the ProviderSettings component to allow users to configure the OpenAI Text to Speech Provider settings.
+ *
+ * @param {Object} props Component props.
+ * @param {boolean} props.isConfigured Whether the provider is configured.
+ *
+ * @return {React.ReactElement} OpenAITextToSpeachSettings component.
+ */
+export const OpenAITextToSpeachSettings = ( { isConfigured = false } ) => {
+ const providerName = 'openai_text_to_speech';
+ const providerSettings = useSelect(
+ ( select ) =>
+ select( STORE_NAME ).getFeatureSettings( providerName ) || {}
+ );
+ const { setProviderSettings } = useDispatch( STORE_NAME );
+ const onChange = ( data ) => setProviderSettings( providerName, data );
+
+ const Description = () => (
+ <>
+ { __( "Don't have an OpenAI account yet? ", 'classifai' ) }
+
+ { __( 'Sign up for one', 'classifai' ) }
+ { ' ' }
+ { __( 'in order to get your API key.', 'classifai' ) }
+ >
+ );
+
+ return (
+ <>
+ { ! isConfigured && (
+ }
+ >
+ onChange( { api_key: value } ) }
+ />
+
+ ) }
+
+ { __( 'Select a ', 'classifai' ) }
+
+ { __( 'model', 'classifai' ) }
+
+ { __( ' depending on your requirement.', 'classifai' ) }
+ >
+ }
+ >
+ onChange( { tts_model: value } ) }
+ value={ providerSettings.tts_model || 'tts-1' }
+ options={ [
+ {
+ label: __(
+ 'Text-to-speech 1 (Optimized for speed)',
+ 'classifai'
+ ),
+ value: 'tts-1',
+ },
+ {
+ label: __(
+ 'Text-to-speech 1 HD (Optimized for quality)',
+ 'classifai'
+ ),
+ value: 'tts-1-hd',
+ },
+ ] }
+ />
+
+
+ { __( 'Select the speech ', 'classifai' ) }
+
+ { __( 'voice', 'classifai' ) }
+
+ .
+ >
+ }
+ >
+ onChange( { voice: value } ) }
+ value={ providerSettings.voice || 'alloy' }
+ options={ [
+ {
+ label: __( 'Alloy (male)', 'classifai' ),
+ value: 'alloy',
+ },
+ {
+ label: __( 'Echo (male)', 'classifai' ),
+ value: 'echo',
+ },
+ {
+ label: __( 'Fable (male)', 'classifai' ),
+ value: 'fable',
+ },
+ {
+ label: __( 'Onyx (male)', 'classifai' ),
+ value: 'onyx',
+ },
+ {
+ label: __( 'Nova (female)', 'classifai' ),
+ value: 'nova',
+ },
+ {
+ label: __( 'Shimmer (female)', 'classifai' ),
+ value: 'shimmer',
+ },
+ ] }
+ />
+
+
+ onChange( { format: value } ) }
+ value={ providerSettings.format || '.mp3' }
+ options={ [
+ {
+ label: __( '.mp3', 'classifai' ),
+ value: 'mp3',
+ },
+ {
+ label: __( '.wav', 'classifai' ),
+ value: 'wav',
+ },
+ ] }
+ />
+
+
+ onChange( { speed: value } ) }
+ value={ providerSettings.speed || 1 }
+ type="number"
+ step="0.25"
+ min="0.25"
+ max="4"
+ />
+
+ >
+ );
+};
diff --git a/src/js/settings/components/provider-settings/openai-whisper.js b/src/js/settings/components/provider-settings/openai-whisper.js
new file mode 100644
index 000000000..a2aeb4cc5
--- /dev/null
+++ b/src/js/settings/components/provider-settings/openai-whisper.js
@@ -0,0 +1,41 @@
+/**
+ * WordPress dependencies
+ */
+import { useSelect, useDispatch } from '@wordpress/data';
+
+/**
+ * Internal dependencies
+ */
+import { STORE_NAME } from '../../data/store';
+import { OpenAISettings } from './openai';
+
+/**
+ * Component for OpenAI Whisper settings.
+ *
+ * This component is used within the ProviderSettings component to allow users to configure the OpenAI Whisper settings.
+ *
+ * @param {Object} props Component props.
+ * @param {boolean} props.isConfigured Whether the provider is configured.
+ *
+ * @return {React.ReactElement} OpenAIWhisperSettings component.
+ */
+export const OpenAIWhisperSettings = ( { isConfigured = false } ) => {
+ const providerName = 'openai_whisper';
+ const providerSettings = useSelect(
+ ( select ) =>
+ select( STORE_NAME ).getFeatureSettings( providerName ) || {}
+ );
+ const { setProviderSettings } = useDispatch( STORE_NAME );
+ const onChange = ( data ) => setProviderSettings( providerName, data );
+
+ if ( isConfigured ) {
+ return null;
+ }
+
+ return (
+
+ );
+};
diff --git a/src/js/settings/components/provider-settings/openai.js b/src/js/settings/components/provider-settings/openai.js
new file mode 100644
index 000000000..0b2c5c374
--- /dev/null
+++ b/src/js/settings/components/provider-settings/openai.js
@@ -0,0 +1,47 @@
+// eslint-disable-next-line @wordpress/no-unsafe-wp-apis
+import { __experimentalInputControl as InputControl } from '@wordpress/components';
+import { __ } from '@wordpress/i18n';
+import { SettingsRow } from '../settings-row';
+
+/**
+ * Component for OpenAI Provider settings.
+ *
+ * This component is used within the ProviderSettings component to allow users to configure the OpenAI Provider settings.
+ * This is the base component for OpenAI settings.
+ *
+ * @param {Object} props Component props.
+ * @param {Object} props.providerSettings The provider settings.
+ * @param {Function} props.onChange Function to call when the provider settings change.
+ *
+ * @return {React.ReactElement} OpenAISettings component.
+ */
+export const OpenAISettings = ( { providerSettings, onChange } ) => {
+ const Description = () => (
+ <>
+ { __( "Don't have an OpenAI account yet? ", 'classifai' ) }
+
+ { __( 'Sign up for one', 'classifai' ) }
+ { ' ' }
+ { __( 'in order to get your API key.', 'classifai' ) }
+ >
+ );
+
+ return (
+ <>
+ }
+ >
+ onChange( { api_key: value } ) }
+ />
+
+ >
+ );
+};
diff --git a/src/js/settings/components/service-settings/index.js b/src/js/settings/components/service-settings/index.js
new file mode 100644
index 000000000..1a321592d
--- /dev/null
+++ b/src/js/settings/components/service-settings/index.js
@@ -0,0 +1,55 @@
+/**
+ * External dependencies
+ */
+import { NavLink, Outlet, useParams } from 'react-router-dom';
+
+/**
+ * WordPress dependencies
+ */
+import { __ } from '@wordpress/i18n';
+import { useDispatch } from '@wordpress/data';
+import { useEffect } from '@wordpress/element';
+
+/**
+ * Internal dependencies
+ */
+import { STORE_NAME } from '../../data/store';
+const { features } = window.classifAISettings;
+
+/**
+ * ServiceSettings component to render the feature navigation tabs and the feature settings.
+ *
+ * @return {Object} The ServiceSettings component.
+ */
+export const ServiceSettings = () => {
+ const { setCurrentService } = useDispatch( STORE_NAME );
+ const { service } = useParams();
+ useEffect( () => {
+ setCurrentService( service );
+ }, [ service, setCurrentService ] );
+
+ const serviceFeatures = features[ service ] || {};
+ return (
+
+
+ { Object.keys( serviceFeatures ).map( ( feature ) => (
+
+ isActive
+ ? 'active-tab classifai-tabs-item'
+ : 'classifai-tabs-item'
+ }
+ >
+ { serviceFeatures[ feature ]?.label ||
+ __( 'Feature', 'classifai' ) }
+
+ ) ) }
+
+
+
+
+
+ );
+};
diff --git a/src/js/settings/components/settings-row/index.js b/src/js/settings/components/settings-row/index.js
new file mode 100644
index 000000000..341d65999
--- /dev/null
+++ b/src/js/settings/components/settings-row/index.js
@@ -0,0 +1,25 @@
+/**
+ * External dependencies
+ */
+import classNames from 'classnames';
+
+/**
+ * Settings row component.
+ *
+ * @param {Object} props All the props passed to this function.
+ * @param {string} props.label Settings label.
+ * @param {Object} props.children The children of the component.
+ */
+export const SettingsRow = ( props ) => {
+ return (
+
+
{ props.label }
+
+ { props.children }
+
+ { props.description }
+
+
+
+ );
+};
diff --git a/src/js/settings/components/user-permissions/index.js b/src/js/settings/components/user-permissions/index.js
new file mode 100644
index 000000000..033ae379a
--- /dev/null
+++ b/src/js/settings/components/user-permissions/index.js
@@ -0,0 +1,84 @@
+/**
+ * WordPress dependencies
+ */
+import { PanelBody, ToggleControl } from '@wordpress/components';
+import { __ } from '@wordpress/i18n';
+import { useDispatch, useSelect } from '@wordpress/data';
+
+/**
+ * Internal dependencies
+ */
+import { UserSelector } from '../../../components';
+import { AllowedRoles } from '../allowed-roles';
+import { SettingsRow } from '../settings-row';
+import { STORE_NAME } from '../../data/store';
+import { useUserPermissionsPreferences } from '../../utils/utils';
+
+/**
+ * Component for User Permissions settings.
+ *
+ * This component is used within the FeatureSettings component to allow users to configure the User Permissions settings.
+ *
+ * @return {React.ReactElement} UserPermissions component.
+ */
+export const UserPermissions = () => {
+ const { isOpen, setIsOpen } = useUserPermissionsPreferences();
+ const { setFeatureSettings } = useDispatch( STORE_NAME );
+ // eslint-disable-next-line camelcase
+ const { users, user_based_opt_out } = useSelect( ( select ) => {
+ return {
+ users: select( STORE_NAME ).getFeatureSettings( 'users' ),
+ user_based_opt_out:
+ select( STORE_NAME ).getFeatureSettings( 'user_based_opt_out' ),
+ };
+ } );
+ return (
+ {
+ setIsOpen( opened );
+ } }
+ className="classifai-settings__user-permissions"
+ >
+
+
+
+ {
+ setFeatureSettings( {
+ users: value,
+ } );
+ } }
+ />
+
+
+
+ {
+ setFeatureSettings( {
+ user_based_opt_out: value ? '1' : 'no',
+ } );
+ } }
+ className="classifai-settings__user-based-opt-out"
+ />
+
+
+ );
+};
diff --git a/src/js/settings/data/actions.js b/src/js/settings/data/actions.js
new file mode 100644
index 000000000..f08ae7ab7
--- /dev/null
+++ b/src/js/settings/data/actions.js
@@ -0,0 +1,63 @@
+export const setFeatureSettings =
+ ( settings, feature = null ) =>
+ ( { select, dispatch } ) => {
+ const currentFeature = feature || select.getCurrentFeature();
+ const featureSettings = select.getFeatureSettings( null, feature );
+
+ dispatch( {
+ type: 'SET_FEATURE_SETTINGS',
+ feature: currentFeature,
+ payload: {
+ ...featureSettings,
+ ...settings,
+ },
+ } );
+ };
+
+export const setProviderSettings =
+ ( provider, settings ) =>
+ ( { select, dispatch } ) => {
+ const currentFeature = select.getCurrentFeature();
+ const featureSettings = select.getFeatureSettings();
+ dispatch( {
+ type: 'SET_FEATURE_SETTINGS',
+ feature: currentFeature,
+ payload: {
+ ...featureSettings,
+ [ provider ]: {
+ ...( featureSettings[ provider ] || {} ),
+ ...settings,
+ },
+ },
+ } );
+ };
+
+export const setSettings = ( settings ) => ( {
+ type: 'SET_SETTINGS',
+ payload: settings,
+} );
+
+export const setCurrentService = ( service ) => ( {
+ type: 'SET_CURRENT_SERVICE',
+ payload: service,
+} );
+
+export const setCurrentFeature = ( feature ) => ( {
+ type: 'SET_CURRENT_FEATURE',
+ payload: feature,
+} );
+
+export const setIsLoaded = ( isLoaded ) => ( {
+ type: 'SET_IS_LOADED',
+ payload: isLoaded,
+} );
+
+export const setIsSaving = ( isSaving ) => ( {
+ type: 'SET_IS_SAVING',
+ payload: isSaving,
+} );
+
+export const setError = ( error ) => ( {
+ type: 'SET_ERROR',
+ payload: error,
+} );
diff --git a/src/js/settings/data/hooks.js b/src/js/settings/data/hooks.js
new file mode 100644
index 000000000..0c02561b5
--- /dev/null
+++ b/src/js/settings/data/hooks.js
@@ -0,0 +1,39 @@
+/**
+ * WordPress dependencies
+ */
+import { useContext } from '@wordpress/element';
+import { useDispatch, useSelect } from '@wordpress/data';
+
+/**
+ * Internal dependencies
+ */
+import { STORE_NAME } from '../data/store';
+import { FeatureContext } from '../components/feature-settings/context';
+
+/**
+ * Custom hook to get and set feature settings.
+ *
+ * @return {Object} The feature settings.
+ */
+export const useFeatureSettings = () => {
+ let { featureName } = useContext( FeatureContext );
+
+ if ( ! featureName ) {
+ featureName = null;
+ }
+
+ const { setFeatureSettings } = useDispatch( STORE_NAME );
+
+ const getFeatureSettings = useSelect( ( select ) => {
+ const store = select( STORE_NAME );
+
+ return ( key ) => store.getFeatureSettings( key, featureName );
+ } );
+
+ return {
+ featureName,
+ getFeatureSettings,
+ setFeatureSettings: ( settings ) =>
+ setFeatureSettings( settings, featureName ),
+ };
+};
diff --git a/src/js/settings/data/reducer.js b/src/js/settings/data/reducer.js
new file mode 100644
index 000000000..86cccdf92
--- /dev/null
+++ b/src/js/settings/data/reducer.js
@@ -0,0 +1,73 @@
+import { getInitialFeature, getInitialService } from '../utils/utils';
+
+const { classifAISettings } = window;
+const initialService = getInitialService();
+const initialFeature = getInitialFeature( initialService );
+const DEFAULT_STATE = {
+ currentService: initialService,
+ currentFeature: initialFeature,
+ settings: classifAISettings.settings || {},
+ isLoaded: false,
+ isSaving: false,
+ error: null,
+};
+
+/**
+ * Reducer for managing the settings data.
+ *
+ * @param {Object} state Current state.
+ * @param {Object} action Dispatched action.
+ *
+ * @return {Object} Updated state.
+ */
+export const reducer = ( state = DEFAULT_STATE, action ) => {
+ switch ( action.type ) {
+ case 'SET_SETTINGS':
+ return {
+ ...state,
+ settings: action.payload,
+ };
+
+ case 'SET_FEATURE_SETTINGS':
+ return {
+ ...state,
+ settings: {
+ ...state.settings,
+ [ action.feature ]: action.payload,
+ },
+ };
+
+ case 'SET_CURRENT_SERVICE':
+ return {
+ ...state,
+ currentService: action.payload,
+ };
+
+ case 'SET_CURRENT_FEATURE':
+ return {
+ ...state,
+ currentFeature: action.payload,
+ };
+
+ case 'SET_IS_LOADED':
+ return {
+ ...state,
+ isLoaded: action.payload,
+ };
+
+ case 'SET_IS_SAVING':
+ return {
+ ...state,
+ isSaving: action.payload,
+ };
+
+ case 'SET_ERROR':
+ return {
+ ...state,
+ error: action.payload,
+ };
+
+ default:
+ return state;
+ }
+};
diff --git a/src/js/settings/data/selectors.js b/src/js/settings/data/selectors.js
new file mode 100644
index 000000000..15252ce8e
--- /dev/null
+++ b/src/js/settings/data/selectors.js
@@ -0,0 +1,23 @@
+export const getSettings = ( state, feature ) => {
+ if ( feature ) {
+ return state.settings?.[ feature ] || state.settings;
+ }
+ return state.settings;
+};
+
+export const getFeatureSettings = ( state, key, feature ) => {
+ if ( key ) {
+ return state.settings?.[ feature || state.currentFeature ]?.[ key ];
+ }
+ return state.settings?.[ feature || state.currentFeature ] || {};
+};
+
+export const getCurrentService = ( state ) => state.currentService;
+
+export const getCurrentFeature = ( state ) => state.currentFeature;
+
+export const getIsLoaded = ( state ) => state.isLoaded;
+
+export const getIsSaving = ( state ) => state.isSaving;
+
+export const getError = ( state ) => state.error;
diff --git a/src/js/settings/data/store.js b/src/js/settings/data/store.js
new file mode 100644
index 000000000..50e3aaa46
--- /dev/null
+++ b/src/js/settings/data/store.js
@@ -0,0 +1,25 @@
+/**
+ * WordPress dependencies
+ */
+import { createReduxStore, register } from '@wordpress/data';
+
+/**
+ * Internal dependencies
+ */
+import { reducer } from './reducer';
+import * as selectors from './selectors';
+import * as actions from './actions';
+
+export const STORE_NAME = 'classifai-settings';
+
+/**
+ * Store for the settings data.
+ */
+export const store = createReduxStore( STORE_NAME, {
+ reducer,
+ selectors,
+ actions,
+} );
+
+// Register the store.
+register( store );
diff --git a/src/js/settings/index.js b/src/js/settings/index.js
new file mode 100644
index 000000000..f4135d149
--- /dev/null
+++ b/src/js/settings/index.js
@@ -0,0 +1,28 @@
+/**
+ * WordPress dependencies
+ */
+import domReady from '@wordpress/dom-ready';
+import { createRoot, render } from '@wordpress/element';
+
+/**
+ * Internal dependencies
+ */
+import './data/store';
+import '../../scss/settings.scss';
+import { ClassifAISettings } from './components';
+
+/**
+ * Render the ClassifAI settings component.
+ */
+domReady( () => {
+ const adminEl = document.getElementById( 'classifai-settings' );
+
+ if ( adminEl ) {
+ if ( createRoot ) {
+ const settingsRoot = createRoot( adminEl );
+ settingsRoot.render( );
+ } else {
+ render( , adminEl );
+ }
+ }
+} );
diff --git a/src/js/settings/utils/icons.js b/src/js/settings/utils/icons.js
new file mode 100644
index 000000000..fd6d51f34
--- /dev/null
+++ b/src/js/settings/utils/icons.js
@@ -0,0 +1,57 @@
+/**
+ * WordPress dependencies
+ */
+import { SVG, Path } from '@wordpress/components';
+
+/**
+ * ClassifAI Logo SVG component.
+ *
+ * @return {React.ReactElement} ClassifAI Logo SVG component.
+ */
+export const ClassifAILogo = (
+
+
+
+
+
+
+
+
+
+
+
+
+
+);
diff --git a/src/js/settings/utils/utils.js b/src/js/settings/utils/utils.js
new file mode 100644
index 000000000..e9736398c
--- /dev/null
+++ b/src/js/settings/utils/utils.js
@@ -0,0 +1,291 @@
+/**
+ * WordPress dependencies
+ */
+import { useSelect, useDispatch } from '@wordpress/data';
+import { useMemo } from '@wordpress/element';
+import { store as coreStore } from '@wordpress/core-data';
+
+// Update URL based on the current tab and feature selected
+export const updateUrl = ( key, value ) => {
+ const urlParams = new URLSearchParams( window.location.search );
+ urlParams.set( key, value );
+
+ if ( window.history.pushState ) {
+ const newUrl =
+ window.location.protocol +
+ '//' +
+ window.location.host +
+ window.location.pathname +
+ '?' +
+ urlParams.toString() +
+ window.location.hash;
+
+ window.history.replaceState( { path: newUrl }, '', newUrl );
+ } else {
+ window.location.search = urlParams.toString();
+ }
+};
+
+/**
+ * Get the feature settings for the given feature name.
+ *
+ * @param {string} featureName The feature name.
+ * @return {Object} The feature settings.
+ */
+export const getFeature = ( featureName ) => {
+ const features = getFeatures();
+ return features[ featureName ];
+};
+
+/**
+ * Get the features object.
+ * The features object is a combination of all the features from all the services.
+ *
+ * @return {Object} The features object.
+ */
+export const getFeatures = () => {
+ let features = {};
+ for ( const key in window.classifAISettings?.features || {} ) {
+ features = {
+ ...features,
+ ...( window.classifAISettings.features[ key ] || {} ),
+ };
+ }
+
+ return features;
+};
+
+/**
+ * Get the initial service based on the URL query.
+ *
+ * @return {string} The initial service based on the URL query.
+ */
+export const getInitialService = () => {
+ const { services } = window.classifAISettings;
+ const urlParams = new URLSearchParams( window.location.search );
+ const requestedTab = urlParams.get( 'tab' );
+ const initialService = Object.keys( services || {} ).includes(
+ requestedTab
+ )
+ ? requestedTab
+ : 'language_processing';
+ return initialService;
+};
+
+/**
+ * Get the initial feature based on the URL query.
+ *
+ * @param {string} service The current service.
+ * @return {string} The initial feature based on the URL query.
+ */
+export const getInitialFeature = ( service ) => {
+ const { features } = window.classifAISettings;
+ const urlParams = new URLSearchParams( window.location.search );
+ const requestedFeature = urlParams.get( 'feature' );
+ const serviceFeatures = features[ service ] || {};
+ const initialFeature = Object.keys( serviceFeatures ).includes(
+ requestedFeature
+ )
+ ? requestedFeature
+ : Object.keys( serviceFeatures )[ 0 ] || 'feature_classification';
+ return initialFeature;
+};
+
+/**
+ * Get the scope name for the given string.
+ *
+ * @param {string} name The name to convert to a valid scope name.
+ * @return {string} returns the scope name
+ */
+export const getScope = ( name ) => {
+ return ( name || '' ).replace( /_/g, '-' );
+};
+
+/**
+ * Check if the provider is configured.
+ *
+ * @param {Object} featureSettings The feature settings.
+ * @return {boolean} True if the provider is configured, false otherwise.
+ */
+export const isProviderConfigured = ( featureSettings ) => {
+ const selectedProvider = featureSettings?.provider;
+ if ( ! selectedProvider ) {
+ return false;
+ }
+
+ return featureSettings[ selectedProvider ]?.authenticated || false;
+};
+
+/**
+ * Returns a helper object that contains:
+ * An `options` object from the available post types, to be passed to a `SelectControl`.
+ *
+ * @return {Object} The helper object related to post types.
+ */
+export const usePostTypes = () => {
+ const postTypes = useSelect( ( select ) => {
+ const { getPostTypes } = select( coreStore );
+ const excludedPostTypes = [ 'attachment' ];
+ const filteredPostTypes = getPostTypes( { per_page: -1 } )?.filter(
+ ( { viewable, slug } ) =>
+ viewable && ! excludedPostTypes.includes( slug )
+ );
+ return filteredPostTypes;
+ }, [] );
+
+ const postTypesSelectOptions = useMemo(
+ () =>
+ ( postTypes || [] ).map( ( { labels, slug } ) => ( {
+ label: labels.singular_name,
+ value: slug,
+ } ) ),
+ [ postTypes ]
+ );
+
+ const excerptPostTypes = useSelect( ( select ) => {
+ const { getPostTypes } = select( coreStore );
+ const filteredPostTypes = getPostTypes( { per_page: -1 } )?.filter(
+ ( { viewable, supports } ) => viewable && supports?.excerpt
+ );
+ return filteredPostTypes;
+ }, [] );
+
+ const excerptPostTypesOptions = useMemo( () => {
+ return ( excerptPostTypes || [] ).map( ( { labels, slug } ) => ( {
+ label: labels.singular_name,
+ value: slug,
+ } ) );
+ }, [ excerptPostTypes ] );
+
+ return { postTypesSelectOptions, postTypes, excerptPostTypesOptions };
+};
+
+/**
+ * Post Statuses Hook.
+ * Returns a helper object that contains:
+ * An `options` object from the available post statuses.
+ *
+ * @return {Object} The helper object related to post statuses.
+ */
+export const useTaxonomies = () => {
+ const taxonomyOptions = useSelect( ( select ) => {
+ // Remove the NLUs taxonomies from the list of taxonomies
+ const excludedTaxonomies = [
+ 'watson-category',
+ 'watson-keyword',
+ 'watson-concept',
+ 'watson-entity',
+ ];
+ return select( 'core' )
+ .getTaxonomies()
+ ?.filter( ( { slug } ) => ! excludedTaxonomies.includes( slug ) );
+ }, [] );
+
+ const taxonomies = useMemo( () => taxonomyOptions, [ taxonomyOptions ] );
+
+ return { taxonomies };
+};
+
+/**
+ * User Permissions Preferences Hook.
+ *
+ * Exports a hook that returns the user permissions preferences.
+ * It uses the `core/preferences` store to manage the user permissions panel state.
+ * @return {Object} The user permissions preferences.
+ */
+export const useUserPermissionsPreferences = () => {
+ let cache;
+ const { set, setPersistenceLayer } =
+ useDispatch( 'core/preferences' ) || {};
+ if ( setPersistenceLayer ) {
+ setPersistenceLayer( {
+ async get() {
+ if ( cache ) {
+ return cache;
+ }
+
+ const preferences = JSON.parse(
+ window.localStorage.getItem(
+ 'CLASSIFAI_SETTINGS_PREFERENCES'
+ )
+ );
+ if ( preferences ) {
+ cache = preferences;
+ } else {
+ cache = {};
+ }
+ return cache;
+ },
+ set( preferences ) {
+ cache = preferences;
+ window.localStorage.setItem(
+ 'CLASSIFAI_SETTINGS_PREFERENCES',
+ JSON.stringify( preferences )
+ );
+ },
+ } );
+ }
+
+ const isOpen = useSelect( ( select ) => {
+ const { get } = select( 'core/preferences' ) || {};
+ if ( ! get ) {
+ return false;
+ }
+
+ const open = get( 'classifai/settings', 'user-permissions-panel-open' );
+ if ( open === undefined ) {
+ return false;
+ }
+ return open;
+ }, [] );
+
+ const setIsOpen = ( value ) => {
+ if ( ! set ) {
+ return;
+ }
+
+ set( 'classifai/settings', 'user-permissions-panel-open', value );
+ };
+
+ return { isOpen, setIsOpen };
+};
+
+/**
+ * Returns true if a feature is enabled and authenticated.
+ *
+ * @param {Object} feature The feature object.
+ * @return {boolean} True if the feature is enabled and authenticated, false otherwise.
+ */
+export const isFeatureActive = ( feature ) => {
+ const isEnabled = '1' === feature.status;
+ const provider = feature?.provider;
+ const authenticated = feature[ provider ].authenticated;
+
+ return isEnabled && authenticated;
+};
+
+/**
+ * Returns the onboarding steps.
+ *
+ * @return {Array} Array of onboarding steps.
+ */
+export const getOnboardingSteps = () => {
+ return [
+ 'enable_features',
+ 'classifai_registration',
+ 'configure_features',
+ 'finish',
+ ];
+};
+
+/**
+ * Get the next step in the onboarding process.
+ *
+ * @param {string} currentStep
+ * @return {string} The next step in the onboarding process.
+ */
+export const getNextOnboardingStep = ( currentStep ) => {
+ const steps = getOnboardingSteps();
+ const currentIndex = steps.indexOf( currentStep );
+ return steps[ currentIndex + 1 ];
+};
diff --git a/src/scss/admin.scss b/src/scss/admin.scss
index 62ef171e2..b9ad1e95f 100644
--- a/src/scss/admin.scss
+++ b/src/scss/admin.scss
@@ -576,13 +576,6 @@ input.classifai-button {
margin-top: 20px;
}
- h2.classifai-setup-title {
- font-size: 22px;
- padding: 0px;
- font-weight: 400;
- margin: 0px;
- }
-
.classifai-step1-content,
.classifai-step4-content {
max-width: 400px;
diff --git a/src/scss/settings.scss b/src/scss/settings.scss
new file mode 100644
index 000000000..6cba5f189
--- /dev/null
+++ b/src/scss/settings.scss
@@ -0,0 +1,574 @@
+#classifai-settings {
+ font-size: 14px;
+ box-sizing: border-box;
+
+ #classifai-header {
+ background-color: #fff;
+ box-sizing: border-box;
+ display: block;
+ left: 0;
+ right: 0;
+ top: 0;
+ position: sticky;
+ z-index: 1001;
+ margin-left: -20px;
+ padding: 0px;
+ box-shadow: 0px 10px 10px 0px #f0f0f1;
+
+ @media screen and (max-width: 782px) {
+ margin-left: -10px;
+ padding: 0px;
+ }
+
+ body.admin-bar & {
+ @media (min-width: 601px) {
+ top: 46px;
+ }
+
+ @media (min-width: 783px) {
+ top: 32px;
+ }
+ }
+
+ .classifai-header-layout {
+ justify-content: space-between;
+ padding: 18px 28px;
+ display: flex;
+ align-items: center;
+ margin: 0 auto;
+
+ @media screen and (max-width: 782px) {
+ padding: 18px;
+ }
+ }
+
+ #classifai-logo {
+ line-height: 0;
+ width: 180px;
+ }
+
+ #classifai-header-controls {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ }
+ }
+
+ .components-notice {
+ &, &__content {
+ margin: 0;
+ }
+
+ &.personalizer-deprecation-notice,
+ &.is-info {
+ margin-bottom: 16px;
+ }
+ }
+
+ .components-notice-list {
+ display: flex;
+ flex-direction: column;
+ gap: 8px;
+ margin-block-end: 16px;
+ }
+
+ .settings-panel {
+ .settings-row {
+ display: flex;
+ justify-content: flex-start;
+ align-items: flex-start;
+ flex-direction: row;
+ }
+
+ @media (max-width: 600px) {
+ .settings-row {
+ flex-direction: column;
+ }
+ }
+
+ .settings-label {
+ align-items: center;
+ font-weight: bold;
+ flex-shrink: 0;
+ flex: 30%;
+ padding: 12px 0px;
+ }
+
+ .settings-control {
+ align-items: center;
+ flex: 70%;
+ padding: 12px 10px;
+ }
+
+ .settings-description {
+ margin-top: 8px;
+ font-size: 13px;
+ }
+
+ .settings-allowed-roles .settings-control .components-checkbox-control {
+ margin-bottom: 8px;
+ }
+
+ .classifai-settings__users .settings-control label.components-form-token-field__label {
+ display: none;
+ }
+
+ @media screen and (max-width: 782px) {
+ margin-top: 16px;
+ }
+ }
+
+ .save-settings-button{
+ margin-top: 16px;
+ display: block;
+ width: 100%;
+ padding: 10px 0;
+ height: auto;
+ font-size: 15px;
+ }
+
+ .classifai-settings-wrapper {
+ width: 100%;
+ max-width: 1280px;
+ margin: 0 auto;
+
+ .classifai-tabs {
+ display: flex;
+ align-items: stretch;
+ flex-direction: row;
+ justify-content: flex-start;
+ border-bottom: 1px solid #ccd0d4;
+ padding-bottom: 0;
+ margin-right: 20px;
+
+ &[aria-orientation="vertical"] {
+ flex-direction: column;
+ border: 0px;
+ justify-content: flex-start;
+ flex-basis: 0;
+ flex-grow: 1;
+ margin-right: 0px;
+
+ .classifai-tabs-item {
+ background: #fafafa;
+ border: 1px solid #e0e0e0;
+ text-align: left;
+ padding: 14px 16px;
+
+ &.active-tab {
+ background: #fff;
+ border-bottom: 1px solid var(--wp-admin-theme-color);
+ box-shadow: inset 0 -2px var(--wp-admin-theme-color);
+ }
+
+ &:hover,
+ &:focus {
+ background: #fff;
+ }
+ }
+
+ @media screen and (max-width: 782px) {
+ margin-right: 0px;
+ margin-top: 0px;
+ }
+
+ @media screen and (max-width: 782px) {
+ gap: 0;
+ width: 100%;
+ }
+ }
+
+ .active-tab,
+ .classifai-tabs-item:focus:not(:disabled) {
+ box-shadow: inset 0 -2px var(--wp-admin-theme-color);
+ }
+
+ @media screen and (max-width: 782px) {
+ margin-right: 10px;
+ margin-top: 12px;
+ }
+
+ .classifai-tabs-item {
+ position: relative;
+ border-radius: 0;
+ background: transparent;
+ border: none;
+ box-shadow: none;
+ cursor: pointer;
+ padding: 14px 16px;
+ margin-left: 0;
+ font-weight: 500;
+ text-decoration: none;
+ font-size: 15px;
+ height: auto;
+ color: var(--wp-components-color-foreground, #1e1e1e);
+
+ &:hover,
+ &:focus {
+ color:var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9));
+ }
+
+ &:focus:not(:disabled) {
+ position: relative;
+ box-shadow: none;
+ outline: none;
+ }
+
+ // Tab indicator
+ &::after {
+ content: "";
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ pointer-events: none;
+
+ // Draw the indicator.
+ background: var(--wp-admin-theme-color, #3858e9);
+ height: calc(0 * var(--wp-admin-border-width-focus));
+ border-radius: 0;
+
+ // Animation
+ transition: all 0.1s linear;
+ }
+
+ // Active.
+ &.active-tab::after {
+ height: calc(1 * var(--wp-admin-border-width-focus));
+
+ // Windows high contrast mode.
+ outline: 2px solid transparent;
+ outline-offset: -1px;
+ }
+
+ // Focus.
+ &::before {
+ content: "";
+ position: absolute;
+ top: 12px;
+ right: 12px;
+ bottom: 12px;
+ left: 12px;
+ pointer-events: none;
+
+ // Draw the indicator.
+ box-shadow: 0 0 0 0 transparent;
+ border-radius: 2px;
+
+ // Animation
+ transition: all 0.1s linear;
+ }
+
+ &:focus-visible::before {
+ box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color, #3858e9);
+
+ // Windows high contrast mode.
+ outline: 2px solid transparent;
+ }
+ }
+ }
+
+ span.dashicons.dashicons-yes-alt {
+ color: #46b450;
+ }
+
+ .classifai-settings-edit-provider {
+ cursor: pointer;
+
+ &:hover {
+ color: #3858e9;
+ }
+ }
+
+ .classifai-field-type-prompt-setting {
+ padding: 5px 20px;
+ border: 1px solid #f0f0f1;
+ position: relative;
+ display: flex;
+ flex-direction:column;
+ max-width: 600px;
+
+ &:first-child {
+ > input,
+ > label {
+ display: none;
+ }
+ }
+
+ &:nth-child(2n + 1) {
+ background-color: #f0f0f1;
+ }
+
+ label {
+ display: block;
+ }
+
+ input, textarea {
+ margin-right: 0;
+ display: block;
+ }
+
+ input[type="text"] {
+ width: 90%;
+ }
+
+ .components-base-control {
+ margin-top: 8px;
+ }
+
+ /* Style for prompt action items container */
+ .actions-rows {
+ display: flex;
+ margin: 0.35em 0 .5em!important;
+
+ /* Style for prompt actions */
+ button {
+ cursor: pointer;
+ text-decoration: none;
+
+ &.action__remove_prompt {
+ color: #b32d2e;
+ }
+ }
+
+ span.separator{
+ margin-left: 8px;
+ margin-right: 8px;
+ color: #a7aaad;
+ }
+
+ /* Styling for default prompt first action */
+ button:disabled{
+ pointer-events: none;
+ }
+
+ }
+
+ + button {
+ margin-top: 10px;
+ }
+ }
+
+ .settings-row.nlu-features {
+ .components-base-control {
+ max-width: 180px;
+ margin-bottom: 8px;
+ }
+ }
+
+ .components-radio-control__option {
+ margin-bottom: 4px;
+ }
+ }
+
+ .service-settings-wrapper {
+ margin-right: 20px;
+ padding-top: 24px;
+ display: flex;
+ gap: 24px;
+
+ @media screen and (max-width: 782px) {
+ margin-right: 10px;
+ }
+
+ .feature-settings-wrapper{
+ flex-basis: 0;
+ flex-grow: 3;
+ }
+
+ @media screen and (max-width: 782px) {
+ display: block;
+ gap: 0;
+ }
+ }
+
+ .classifai-loading-settings {
+ text-align: center;
+ margin: 20vh 30px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ .components-spinner {
+ float: none;
+ }
+
+ .description {
+ color: #777;
+ margin-top: 4px;
+ }
+ }
+
+ .classifai-setup__content {
+ margin-left: 0px;
+
+ @media screen and (max-width: 782px) {
+ margin-right: 10px;
+ }
+ }
+}
+
+.classifai-onboarding {
+ &__configure {
+ .classifai-settings-footer {
+ display: flex;
+
+ & > button {
+ margin-top: 1rem;
+ flex-grow: 1;
+ flex-basis: 0;
+ }
+ }
+
+ &--status,
+ &--enable-features {
+ & img {
+ max-width: 100%;
+ }
+ }
+ }
+
+ &__welcome-to-classifai {
+ text-align: center;
+ }
+}
+
+// Previewer.
+.classifai__classification-previewer {
+ position: fixed;
+ top: 0;
+ right: 0;
+ width: 100%;
+ max-width: 500px;
+ height: 100%;
+ box-shadow: 0 19px 28px rgba(0,0,0,0.30), 0 15px 12px rgba(0,0,0,0.22);
+ backdrop-filter: blur(10px);
+ background-color: rgba(0, 0, 0, 0.15);
+ z-index: 9999;
+ padding: 4rem 1rem;
+ padding-bottom: 2.5rem;
+ transform: translateX(500px);
+ transition: transform 0.2s ease-in-out;
+ box-sizing: border-box;
+
+ display: flex;
+ flex-direction: column;
+
+ &--open {
+ transform: translateX(0);
+ }
+}
+
+.classifai__classification-previewer-result-notice {
+ margin-bottom: 2rem !important;
+}
+
+.classifai__classification-previewer-search-control {
+ display: flex;
+ gap: 1rem;
+ width: 100%;
+
+ & > div {
+ flex-grow: 1;
+ }
+}
+
+.classifai__classification-previewer-search-and-results {
+ position: relative;
+ background-color: #fff;
+
+ .components-input-control__container {
+ border: 1px solid rgb(148 148 148);
+ }
+}
+
+.classifai__classification-previewer-search-results {
+ position: absolute;
+ left: 0;
+ width: 100%;
+ padding: 0.25rem 0;
+ height: auto;
+ background-color: #fff;
+ border: 1px solid rgb(148 148 148);
+ box-sizing: border-box;
+ z-index: 999;
+}
+
+.classifai__classification-previewer-processing {
+ margin: 2rem auto;
+ width: 48px;
+ height: 48px;
+
+ svg {
+ margin: 0;
+ }
+}
+
+.classifai__classification-previewer-search-result-container {
+ margin-top: 3rem;
+ flex-grow: 1;
+ overflow-y: auto;
+}
+
+.classifai__classification-previewer-search-item {
+ padding: 0.25rem 0.5rem;
+
+ &:hover,
+ &:active,
+ &:focus {
+ background-color: #777;
+ color: #fff;
+ cursor: pointer;
+ }
+}
+
+.classifai__classification-previewer-result-card {
+ margin-bottom: 2rem;
+}
+
+.classifai__classification-previewer-result-card-heading {
+ font-size: 1.15rem !important;
+ margin: 0;
+}
+
+.classifai__classification-previewer-result-tag {
+ display: inline-block;
+ margin-right: 0.5rem;
+ margin-bottom: 0.5rem;
+ border: 1px solid #ccc;
+ border-radius: 4px;
+ overflow: hidden;
+}
+
+.classifai__classification-previewer-result-tag-score {
+ display: inline-block;
+ padding: 0.25rem 0.5rem;
+ border-right: 1px solid #ccc;
+ background-color: #ddd;
+}
+
+.classifai__classification-previewer-result-tag-label {
+ display: inline-block;
+ padding: 0 0.5rem;
+}
+
+.classifai__classification-previewer-result-tag--exceeds-threshold {
+ border-color: #37bb60;
+ font-weight: bold;
+
+ .classifai__classification-previewer-result-tag-score {
+ color: #f1f1f1;
+ background-color: #37bb60;
+ border-right: 1px solid #37bb60;
+ }
+
+ .classifai__classification-previewer-result-tag-label {
+ color: #37bb60;
+ }
+}
+
+.components-button.classifai__classification-previewer-close-button.is-link {
+ position: relative;
+ margin: 0 auto;
+ top: 1rem;
+}
diff --git a/tests/Classifai/Providers/Azure/ComputerVisionTest.php b/tests/Classifai/Providers/Azure/ComputerVisionTest.php
index afcd874b8..e20a2e9c9 100644
--- a/tests/Classifai/Providers/Azure/ComputerVisionTest.php
+++ b/tests/Classifai/Providers/Azure/ComputerVisionTest.php
@@ -76,7 +76,7 @@ public function test_no_computer_vision_option_set() {
'users' => [],
'user_based_opt_out' => 'no',
'descriptive_text_fields' => [
- 'alt' => 0,
+ 'alt' => 'alt',
'caption' => 0,
'description' => 0,
],
diff --git a/tests/cypress/integration/admin.test.js b/tests/cypress/integration/admin.test.js
index bc9677c81..dbcb89b34 100644
--- a/tests/cypress/integration/admin.test.js
+++ b/tests/cypress/integration/admin.test.js
@@ -18,22 +18,28 @@ describe( 'Admin can login and make sure plugin is activated', () => {
// Check Heading
cy.visit( '/wp-admin/tools.php?page=classifai' );
- cy.get( '#wpbody h2' ).contains( 'ClassifAI Settings' );
- cy.get( 'label[for="email"]' ).contains( 'Registered Email' );
- cy.get( 'label[for="license_key"]' ).contains( 'Registration Key' );
+ cy.get( '#wpbody h2' ).contains( 'Classification Settings' );
+ cy.get( '.classifai-tabs' ).should( 'exist' );
+ cy.get( '.classifai-tabs a' ).first().contains( 'Language Processing' );
} );
it( 'Can visit "Language Processing" settings page.', () => {
- // Check Heading
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing'
- );
- cy.get( '#wpbody h2' ).contains( 'Language Processing' );
+ // Check Selected Navigation menu
+ cy.visitFeatureSettings( 'language_processing/feature_classification' );
+ cy.get( '.classifai-tabs' ).should( 'exist' );
+ cy.get( '.classifai-tabs a.active-tab' )
+ .first()
+ .contains( 'Language Processing' );
} );
it( 'Can see "Image Processing" menu and Can visit "Image Processing" settings page.', () => {
- // Check Heading
- cy.visit( '/wp-admin/tools.php?page=classifai&tab=image_processing' );
- cy.get( '#wpbody h2' ).contains( 'Image Processing' );
+ // Check Selected Navigation menu
+ cy.visitFeatureSettings(
+ 'image_processing/feature_descriptive_text_generator'
+ );
+ cy.get( '.classifai-tabs' ).should( 'exist' );
+ cy.get( '.classifai-tabs a.active-tab' )
+ .first()
+ .contains( 'Image Processing' );
} );
} );
diff --git a/tests/cypress/integration/admin/common-feature-fields.test.js b/tests/cypress/integration/admin/common-feature-fields.test.js
index 9c9ea602b..fb3ea9f61 100644
--- a/tests/cypress/integration/admin/common-feature-fields.test.js
+++ b/tests/cypress/integration/admin/common-feature-fields.test.js
@@ -1,4 +1,4 @@
-describe('Common Feature Fields', () => {
+describe( 'Common Feature Fields', () => {
beforeEach( () => {
cy.login();
} );
@@ -22,25 +22,23 @@ describe('Common Feature Fields', () => {
Object.keys( features ).forEach( ( feature ) => {
it( `"${ features[ feature ] }" feature common fields`, () => {
- cy.visit(
- `/wp-admin/tools.php?page=classifai&tab=language_processing&feature=${ feature }`
- );
+ cy.visitFeatureSettings( `language_processing/${ feature }` );
- cy.get( '#status' ).should(
- 'have.attr',
- 'name',
- `classifai_${ feature }[status]`
- );
- cy.get( '#user_based_opt_out' ).should(
- 'have.attr',
- 'name',
- `classifai_${ feature }[user_based_opt_out]`
- );
- cy.get( '#provider' ).should(
- 'have.attr',
- 'name',
- `classifai_${ feature }[provider]`
+ cy.get( '.classifai-enable-feature-toggle input' ).should(
+ 'exist'
);
+ cy.openUserPermissionsPanel();
+ cy.get(
+ '.classifai-settings__user-based-opt-out input[type="checkbox"]'
+ ).should( 'exist' );
+ cy.get( 'body' ).then( ( $body ) => {
+ if (
+ $body.find( '.classifai-settings-edit-provider' ).length > 0
+ ) {
+ cy.get( '.classifai-settings-edit-provider' ).click();
+ }
+ } );
+ cy.get( '.classifai-provider-select select' ).should( 'exist' );
for ( const role of allowedRoles ) {
if (
@@ -51,19 +49,13 @@ describe('Common Feature Fields', () => {
}
const roleField = cy.get(
- `#classifai_${ feature }_roles_${ role }`
+ `.settings-allowed-roles input#${ role }`
);
roleField.should( 'be.visible' );
- roleField.should( 'have.value', role );
- roleField.should(
- 'have.attr',
- 'name',
- `classifai_${ feature }[roles][${ role }]`
- );
+ roleField.should( 'have.value', 1 );
}
- cy.get( '.allowed_users_row' ).should( 'be.visible' );
-
+ cy.get( '.classifai-settings__users' ).should( 'be.visible' );
} );
} );
} );
diff --git a/tests/cypress/integration/image-processing/image-generation-openai-dalle.test.js b/tests/cypress/integration/image-processing/image-generation-openai-dalle.test.js
index 8127209ba..bdd789930 100644
--- a/tests/cypress/integration/image-processing/image-generation-openai-dalle.test.js
+++ b/tests/cypress/integration/image-processing/image-generation-openai-dalle.test.js
@@ -1,12 +1,10 @@
describe( 'Image Generation (OpenAI DALL·E) Tests', () => {
before( () => {
cy.login();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=image_processing&feature=feature_image_generation'
- );
- cy.get( '#status' ).check();
- cy.get( '#provider' ).select( 'openai_dalle' );
- cy.get( '#submit' ).click();
+ cy.visitFeatureSettings( 'image_processing/feature_image_generation' );
+ cy.enableFeature();
+ cy.selectProvider( 'openai_dalle' );
+ cy.saveFeatureSettings();
cy.optInAllFeatures();
} );
@@ -15,30 +13,17 @@ describe( 'Image Generation (OpenAI DALL·E) Tests', () => {
} );
it( 'Can save OpenAI "Image Processing" settings', () => {
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=image_processing&feature=feature_image_generation'
- );
+ cy.visitFeatureSettings( 'image_processing/feature_image_generation' );
+ cy.selectProvider( 'openai_dalle' );
+ cy.get( '#openai_dalle_api_key' ).clear().type( 'password' );
+ cy.get( 'select#openai_dalle_number_of_images' ).select( '2' );
+ cy.get( 'select#openai_dalle_quality' ).select( 'hd' );
+ cy.get( 'select#openai_dalle_image_size' ).select( '1024x1792' );
+ cy.get( 'select#openai_dalle_style' ).select( 'natural' );
- cy.get( '#api_key' ).clear().type( 'password' );
- cy.get(
- 'select[name="classifai_feature_image_generation[openai_dalle][number_of_images]"]'
- ).select( '2' );
- cy.get(
- 'select[name="classifai_feature_image_generation[openai_dalle][quality]"]'
- ).select( 'hd' );
- cy.get(
- 'select[name="classifai_feature_image_generation[openai_dalle][image_size]"]'
- ).select( '1024x1792' );
- cy.get(
- 'select[name="classifai_feature_image_generation[openai_dalle][style]"]'
- ).select( 'natural' );
+ cy.allowFeatureToAdmin();
- cy.get(
- '#classifai_feature_image_generation_roles_administrator'
- ).check();
-
- cy.get( '#submit' ).click();
- cy.get( '.notice' ).contains( 'Settings saved.' );
+ cy.saveFeatureSettings();
} );
it( 'Can generate images in the media modal', () => {
@@ -108,36 +93,28 @@ describe( 'Image Generation (OpenAI DALL·E) Tests', () => {
it( 'Can enable/disable image generation feature', () => {
// Disable feature.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=image_processing&feature=feature_image_generation'
- );
- cy.get( '#status' ).uncheck();
- cy.get( '#submit' ).click();
+ cy.visitFeatureSettings( 'image_processing/feature_image_generation' );
+ cy.disableFeature();
+ cy.saveFeatureSettings();
// Verify that the feature is not available.
cy.verifyImageGenerationEnabled( false );
// Enable feature.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=image_processing&feature=feature_image_generation'
- );
- cy.get( '#status' ).check();
- cy.get( '#submit' ).click();
+ cy.visitFeatureSettings( 'image_processing/feature_image_generation' );
+ cy.enableFeature();
+ cy.saveFeatureSettings();
// Verify that the feature is available.
cy.verifyImageGenerationEnabled( true );
} );
it( 'Can generate image directly in media library', () => {
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=image_processing&feature=feature_image_generation'
- );
+ cy.visitFeatureSettings( 'image_processing/feature_image_generation' );
- cy.get( '#status' ).check();
- cy.get(
- '#classifai_feature_image_generation_roles_administrator'
- ).check();
- cy.get( '#submit' ).click();
+ cy.enableFeature();
+ cy.allowFeatureToAdmin();
+ cy.saveFeatureSettings();
cy.visit( '/wp-admin/upload.php' );
cy.get(
@@ -158,11 +135,9 @@ describe( 'Image Generation (OpenAI DALL·E) Tests', () => {
it( 'Can enable/disable image generation feature by role', () => {
// Enable feature.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=image_processing&feature=feature_image_generation'
- );
- cy.get( '#status' ).check();
- cy.get( '#submit' ).click();
+ cy.visitFeatureSettings( 'image_processing/feature_image_generation' );
+ cy.enableFeature();
+ cy.saveFeatureSettings();
// Disable admin role.
cy.disableFeatureForRoles( 'feature_image_generation', [
diff --git a/tests/cypress/integration/image-processing/image-processing-microsoft-azure.test.js b/tests/cypress/integration/image-processing/image-processing-microsoft-azure.test.js
index 1750703ac..1d0fd3af1 100644
--- a/tests/cypress/integration/image-processing/image-processing-microsoft-azure.test.js
+++ b/tests/cypress/integration/image-processing/image-processing-microsoft-azure.test.js
@@ -16,15 +16,19 @@ describe( 'Image processing Tests', () => {
];
imageProcessingFeatures.forEach( ( feature ) => {
- cy.visit(
- `/wp-admin/tools.php?page=classifai&tab=image_processing&feature=${ feature }`
- );
- cy.get( '#status' ).check();
- cy.get( '#endpoint_url' )
+ cy.visitFeatureSettings( `image_processing/${ feature }` );
+ cy.enableFeature();
+ cy.selectProvider( 'ms_computer_vision' );
+ cy.get( '#ms_computer_vision_endpoint_url' )
.clear()
.type( 'http://e2e-test-image-processing.test' );
- cy.get( '#api_key' ).clear().type( 'password' );
- cy.get( '#submit' ).click();
+ cy.get( '#ms_computer_vision_api_key' ).clear().type( 'password' );
+ cy.allowFeatureToAdmin();
+ cy.get( '.classifai-settings__user-based-opt-out input' ).uncheck();
+ // Disable access for all users.
+ cy.disableFeatureForUsers();
+
+ cy.saveFeatureSettings();
} );
cy.optInAllFeatures();
@@ -35,13 +39,11 @@ describe( 'Image processing Tests', () => {
} );
it( 'Can see Azure AI Vision Image processing actions on edit media page and verify Generated data.', () => {
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=image_processing&feature=feature_descriptive_text_generator'
+ cy.visitFeatureSettings(
+ 'image_processing/feature_descriptive_text_generator'
);
- cy.get(
- '#classifai_feature_descriptive_text_generator_descriptive_text_fields_alt'
- ).check();
- cy.get( '#submit' ).click();
+ cy.get( '.classifai-descriptive-text-fields input#alt' ).check();
+ cy.saveFeatureSettings();
cy.visit( '/wp-admin/upload.php?mode=grid' ); // Ensure grid mode is enabled.
cy.visit( '/wp-admin/media-new.php' );
cy.get( '#plupload-upload-ui' ).should( 'exist' );
@@ -113,78 +115,74 @@ describe( 'Image processing Tests', () => {
};
// Disable features
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=image_processing&feature=feature_descriptive_text_generator'
+ cy.visitFeatureSettings(
+ 'image_processing/feature_descriptive_text_generator'
);
cy.wait( 1000 );
+ cy.get( '.classifai-descriptive-text-fields input#alt' ).uncheck();
+ cy.get( '.classifai-descriptive-text-fields input#caption' ).uncheck();
cy.get(
- '#classifai_feature_descriptive_text_generator_descriptive_text_fields_alt'
- ).uncheck();
- cy.get(
- '#classifai_feature_descriptive_text_generator_descriptive_text_fields_caption'
- ).uncheck();
- cy.get(
- '#classifai_feature_descriptive_text_generator_descriptive_text_fields_description'
+ '.classifai-descriptive-text-fields input#description'
).uncheck();
- cy.get( '#submit' ).click();
+ cy.saveFeatureSettings();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=image_processing&feature=feature_image_tags_generator'
+ cy.visitFeatureSettings(
+ 'image_processing/feature_image_tags_generator'
);
- cy.get( '#status' ).uncheck();
- cy.get( '#submit' ).click();
+ cy.wait( 1000 );
+ cy.disableFeature();
+ cy.saveFeatureSettings();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=image_processing&feature=feature_image_cropping'
- );
- cy.get( '#status' ).uncheck();
- cy.get( '#submit' ).click();
+ cy.visitFeatureSettings( 'image_processing/feature_image_cropping' );
+ cy.wait( 1000 );
+ cy.disableFeature();
+ cy.saveFeatureSettings();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=image_processing&feature=feature_image_to_text_generator'
+ cy.visitFeatureSettings(
+ 'image_processing/feature_image_to_text_generator'
);
- cy.get( '#status' ).uncheck();
- cy.get( '#submit' ).click();
+ cy.wait( 1500 ); // Add delay to avoid flaky test in WP minimum (6.1) environment.
+ cy.disableFeature();
+ cy.saveFeatureSettings();
// Verify that the feature is not available.
+ cy.wait( 1000 );
cy.verifyAIVisionEnabled( false, options );
// Enable features.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=image_processing&feature=feature_descriptive_text_generator'
+ cy.visitFeatureSettings(
+ 'image_processing/feature_descriptive_text_generator'
);
- cy.wait( 1000 );
- cy.get(
- '#classifai_feature_descriptive_text_generator_descriptive_text_fields_alt'
- ).check();
+ cy.get( '.classifai-descriptive-text-fields input#alt' ).check();
+ cy.get( '.classifai-descriptive-text-fields input#caption' ).check();
cy.get(
- '#classifai_feature_descriptive_text_generator_descriptive_text_fields_caption'
+ '.classifai-descriptive-text-fields input#description'
).check();
- cy.get(
- '#classifai_feature_descriptive_text_generator_descriptive_text_fields_description'
- ).check();
- cy.get( '#status' ).check();
- cy.get( '#submit' ).click();
+ cy.wait( 1500 );
+ cy.enableFeature();
+ cy.saveFeatureSettings();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=image_processing&feature=feature_image_tags_generator'
+ cy.visitFeatureSettings(
+ 'image_processing/feature_image_tags_generator'
);
- cy.get( '#status' ).check();
- cy.get( '#submit' ).click();
+ cy.wait( 1500 );
+ cy.enableFeature();
+ cy.saveFeatureSettings();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=image_processing&feature=feature_image_cropping'
- );
- cy.get( '#status' ).check();
- cy.get( '#submit' ).click();
+ cy.visitFeatureSettings( 'image_processing/feature_image_cropping' );
+ cy.wait( 1500 );
+ cy.enableFeature();
+ cy.saveFeatureSettings();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=image_processing&feature=feature_image_to_text_generator'
+ cy.visitFeatureSettings(
+ 'image_processing/feature_image_to_text_generator'
);
- cy.get( '#status' ).check();
- cy.get( '#submit' ).click();
+ cy.wait( 1500 );
+ cy.enableFeature();
+ cy.saveFeatureSettings();
// Verify that the feature is available.
+ cy.wait( 1000 );
cy.verifyAIVisionEnabled( true, options );
} );
@@ -195,15 +193,13 @@ describe( 'Image processing Tests', () => {
};
// Enable features.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=image_processing&feature=feature_descriptive_text_generator'
+ cy.visitFeatureSettings(
+ 'image_processing/feature_descriptive_text_generator'
);
- cy.wait( 1000 );
- cy.get(
- '#classifai_feature_descriptive_text_generator_descriptive_text_fields_alt'
- ).check();
- cy.get( '#status' ).check();
- cy.get( '#submit' ).click();
+ cy.enableFeature();
+ cy.get( '.classifai-descriptive-text-fields input#alt' ).check();
+ cy.wait( 500 );
+ cy.saveFeatureSettings();
// Disable access to admin role.
cy.disableFeatureForRoles( 'feature_descriptive_text_generator', [
@@ -220,6 +216,7 @@ describe( 'Image processing Tests', () => {
] );
// Verify that the feature is not available.
+ cy.wait( 1000 );
cy.verifyAIVisionEnabled( false, options );
// Enable access to admin role.
@@ -237,6 +234,7 @@ describe( 'Image processing Tests', () => {
] );
// Verify that the feature is available.
+ cy.wait( 1000 );
cy.verifyAIVisionEnabled( true, options );
} );
@@ -261,6 +259,7 @@ describe( 'Image processing Tests', () => {
] );
// Verify that the feature is not available.
+ cy.wait( 1000 );
cy.verifyAIVisionEnabled( false, options );
cy.enableFeatureForUsers( 'feature_descriptive_text_generator', [
@@ -273,6 +272,7 @@ describe( 'Image processing Tests', () => {
] );
// Verify that the feature is available.
+ cy.wait( 1000 );
cy.verifyAIVisionEnabled( true, options );
} );
@@ -295,6 +295,7 @@ describe( 'Image processing Tests', () => {
cy.optOutFeature( 'feature_image_to_text_generator' );
// Verify that the feature is not available.
+ cy.wait( 1000 );
cy.verifyAIVisionEnabled( false, options );
// opt-in
@@ -304,6 +305,7 @@ describe( 'Image processing Tests', () => {
cy.optInFeature( 'feature_image_to_text_generator' );
// Verify that the feature is available.
+ cy.wait( 1000 );
cy.verifyAIVisionEnabled( true, options );
} );
} );
diff --git a/tests/cypress/integration/image-processing/pdf-read.test.js b/tests/cypress/integration/image-processing/pdf-read.test.js
index 59c79437a..2fb39ab24 100644
--- a/tests/cypress/integration/image-processing/pdf-read.test.js
+++ b/tests/cypress/integration/image-processing/pdf-read.test.js
@@ -3,11 +3,11 @@ import { getPDFData } from '../../plugins/functions';
describe( 'PDF read Tests', () => {
before( () => {
cy.login();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=image_processing&feature=feature_pdf_to_text_generation'
+ cy.visitFeatureSettings(
+ 'image_processing/feature_pdf_to_text_generation'
);
- cy.get( '#status' ).check();
- cy.get( '#submit' ).click();
+ cy.enableFeature();
+ cy.saveFeatureSettings();
cy.optInAllFeatures();
} );
@@ -17,18 +17,16 @@ describe( 'PDF read Tests', () => {
let pdfEditLink = '';
it( 'Can save "PDF scanning" settings', () => {
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=image_processing&feature=feature_pdf_to_text_generation'
+ cy.visitFeatureSettings(
+ 'image_processing/feature_pdf_to_text_generation'
);
-
- cy.get( '#endpoint_url' )
+ cy.selectProvider( 'ms_computer_vision' );
+ cy.get( '#ms_computer_vision_endpoint_url' )
.clear()
.type( 'http://e2e-test-image-processing.test' );
- cy.get( '#api_key' ).clear().type( 'password' );
- cy.get( '#status' ).check();
- cy.get( '#submit' ).click();
-
- cy.get( '.notice' ).contains( 'Settings saved.' );
+ cy.get( '#ms_computer_vision_api_key' ).clear().type( 'password' );
+ cy.enableFeature();
+ cy.saveFeatureSettings();
} );
it( 'Can see PDF scanning actions on edit media page and verify PDF read data.', () => {
@@ -62,11 +60,11 @@ describe( 'PDF read Tests', () => {
it( 'Can enable/disable PDF scanning feature', () => {
// Disable feature.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=image_processing&feature=feature_pdf_to_text_generation'
+ cy.visitFeatureSettings(
+ 'image_processing/feature_pdf_to_text_generation'
);
- cy.get( '#status' ).uncheck();
- cy.get( '#submit' ).click();
+ cy.disableFeature();
+ cy.saveFeatureSettings();
// Verify that the feature is not available.
cy.visit( pdfEditLink );
@@ -75,11 +73,11 @@ describe( 'PDF read Tests', () => {
);
// Enable admin role.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=image_processing&feature=feature_pdf_to_text_generation'
+ cy.visitFeatureSettings(
+ 'image_processing/feature_pdf_to_text_generation'
);
- cy.get( '#status' ).check();
- cy.get( '#submit' ).click();
+ cy.enableFeature();
+ cy.saveFeatureSettings();
// Verify that the feature is available.
cy.visit( pdfEditLink );
@@ -90,11 +88,11 @@ describe( 'PDF read Tests', () => {
it( 'Can enable/disable PDF scanning feature by role', () => {
// Enable feature.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=image_processing&feature=feature_pdf_to_text_generation'
+ cy.visitFeatureSettings(
+ 'image_processing/feature_pdf_to_text_generation'
);
- cy.get( '#status' ).check();
- cy.get( '#submit' ).click();
+ cy.enableFeature();
+ cy.saveFeatureSettings();
// Disable admin role.
cy.disableFeatureForRoles( 'feature_pdf_to_text_generation', [
diff --git a/tests/cypress/integration/language-processing/classify-content-azure-openai-embeddings.test.js b/tests/cypress/integration/language-processing/classify-content-azure-openai-embeddings.test.js
index 54865773c..9650a0bb8 100644
--- a/tests/cypress/integration/language-processing/classify-content-azure-openai-embeddings.test.js
+++ b/tests/cypress/integration/language-processing/classify-content-azure-openai-embeddings.test.js
@@ -1,12 +1,10 @@
describe( '[Language processing] Classify Content (Azure OpenAI) Tests', () => {
before( () => {
cy.login();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_classification'
- );
- cy.get( '#status' ).check();
- cy.get( '#provider' ).select( 'azure_openai_embeddings' );
- cy.get( '#submit' ).click();
+ cy.visitFeatureSettings( 'language_processing/feature_classification' );
+ cy.enableFeature();
+ cy.selectProvider( 'azure_openai_embeddings' );
+ cy.saveFeatureSettings();
cy.optInAllFeatures();
cy.disableClassicEditor();
} );
@@ -16,33 +14,27 @@ describe( '[Language processing] Classify Content (Azure OpenAI) Tests', () => {
} );
it( 'Can save Azure OpenAI Embeddings "Language Processing" settings', () => {
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_classification'
- );
+ cy.visitFeatureSettings( 'language_processing/feature_classification' );
- cy.get(
- 'input[name="classifai_feature_classification[azure_openai_embeddings][endpoint_url]"]'
- )
+ cy.selectProvider( 'azure_openai_embeddings' );
+ cy.get( 'input#azure_openai_embeddings_endpoint_url' )
.clear()
- .type( 'https://e2e-test-azure-openai-embeddings.test/' );
- cy.get(
- 'input[name="classifai_feature_classification[azure_openai_embeddings][api_key]"]'
- )
+ .type( 'https://e2e-test-azure-openai.test/' );
+ cy.get( 'input#azure_openai_embeddings_api_key' )
.clear()
.type( 'password' );
- cy.get(
- 'input[name="classifai_feature_classification[azure_openai_embeddings][deployment]"]'
- )
+ cy.get( 'input#azure_openai_embeddings_deployment' )
.clear()
.type( 'test' );
- cy.get( '#status' ).check();
- cy.get( '#classifai_feature_classification_post_types_post' ).check();
+
+ cy.enableFeature();
+ cy.get( '.settings-allowed-post-types input#post' ).check();
cy.get(
- '#classifai_feature_classification_post_statuses_publish'
+ '.settings-allowed-post-statuses input#post_status_publish'
).check();
- cy.get( '#category' ).check();
- cy.get( '#category_threshold' ).clear().type( 100 );
- cy.get( '#submit' ).click();
+ cy.get( '#category-enabled' ).check();
+ cy.get( '#category-threshold' ).clear().type( 100 );
+ cy.saveFeatureSettings();
} );
it( 'Can create category and post and category will get auto-assigned', () => {
@@ -92,27 +84,24 @@ describe( '[Language processing] Classify Content (Azure OpenAI) Tests', () => {
} );
} );
- it( 'Can see the preview on the settings page', () => {
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_classification'
- );
+ // TODO: Update this test to use new previewer.
+ it.skip( 'Can see the preview on the settings page', () => {
+ cy.visitFeatureSettings( 'language_processing/feature_classification' );
- cy.get( '#submit' ).click();
+ cy.saveFeatureSettings();
// Click the Preview button.
const closePanelSelector = '#get-classifier-preview-data-btn';
cy.get( closePanelSelector ).click();
// Check the term is received and visible.
- cy.get( '.tax-row--Category' ).should( 'exist' );
+ cy.get( '.tax-row--category' ).should( 'exist' );
} );
it( 'Can create category and post and category will not get auto-assigned if feature turned off', () => {
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_classification'
- );
- cy.get( '#status' ).uncheck();
- cy.get( '#submit' ).click();
+ cy.visitFeatureSettings( 'language_processing/feature_classification' );
+ cy.disableFeature();
+ cy.saveFeatureSettings();
// Create test term.
cy.deleteAllTerms( 'category' );
@@ -164,17 +153,15 @@ describe( '[Language processing] Classify Content (Azure OpenAI) Tests', () => {
it( 'Can see the enable button in a post (Classic Editor)', () => {
cy.enableClassicEditor();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_classification'
- );
+ cy.visitFeatureSettings( 'language_processing/feature_classification' );
- cy.get( '#status' ).check();
- cy.get( '#classifai_feature_classification_post_types_post' ).check();
+ cy.enableFeature();
+ cy.get( '.settings-allowed-post-types input#post' ).check();
cy.get(
- '#classifai_feature_classification_post_statuses_publish'
+ '.settings-allowed-post-statuses input#post_status_publish'
).check();
- cy.get( '#category' ).check();
- cy.get( '#submit' ).click();
+ cy.get( '#category-enabled' ).check();
+ cy.saveFeatureSettings();
cy.classicCreatePost( {
title: 'Embeddings test classic',
@@ -192,21 +179,17 @@ describe( '[Language processing] Classify Content (Azure OpenAI) Tests', () => {
cy.disableClassicEditor();
// Disable feature.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_classification'
- );
- cy.get( '#status' ).uncheck();
- cy.get( '#submit' ).click();
+ cy.visitFeatureSettings( 'language_processing/feature_classification' );
+ cy.disableFeature();
+ cy.saveFeatureSettings();
// Verify that the feature is not available.
cy.verifyClassifyContentEnabled( false );
// Enable feature.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_classification'
- );
- cy.get( '#status' ).check();
- cy.get( '#submit' ).click();
+ cy.visitFeatureSettings( 'language_processing/feature_classification' );
+ cy.enableFeature();
+ cy.saveFeatureSettings();
// Verify that the feature is available.
cy.verifyClassifyContentEnabled( true );
@@ -214,14 +197,12 @@ describe( '[Language processing] Classify Content (Azure OpenAI) Tests', () => {
it( 'Can enable/disable content classification feature by role', () => {
// Remove custom taxonomies so those don't interfere with the test.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing'
- );
+ cy.visitFeatureSettings( 'language_processing' );
// Disable access for all users.
cy.disableFeatureForUsers();
- cy.get( '#submit' ).click();
+ cy.saveFeatureSettings();
// Disable admin role.
cy.disableFeatureForRoles( 'feature_classification', [
diff --git a/tests/cypress/integration/language-processing/classify-content-ibm-watson.test.js b/tests/cypress/integration/language-processing/classify-content-ibm-watson.test.js
index 01bfff207..892c225f0 100644
--- a/tests/cypress/integration/language-processing/classify-content-ibm-watson.test.js
+++ b/tests/cypress/integration/language-processing/classify-content-ibm-watson.test.js
@@ -1,33 +1,30 @@
describe( '[Language processing] Classify content (IBM Watson - NLU) Tests', () => {
before( () => {
cy.login();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_classification'
- );
- cy.get( '#status' ).check();
- cy.get( '#provider' ).select( 'ibm_watson_nlu' );
- cy.get( '#submit' ).click();
+ cy.visitFeatureSettings( 'language_processing/feature_classification' );
+ cy.enableFeature();
+ cy.selectProvider( 'ibm_watson_nlu' );
+ cy.saveFeatureSettings();
- cy.get( '#provider' ).select( 'ibm_watson_nlu' );
- cy.get( '#endpoint_url' )
+ cy.selectProvider( 'ibm_watson_nlu' );
+ cy.get( '#ibm_watson_nlu_endpoint_url' )
.clear()
.type( 'http://e2e-test-nlu-server.test/' );
- cy.get( '#password' ).clear().type( 'password' );
- cy.get( '#classifai-waston-cred-toggle' ).click();
- cy.get( '#classifai_feature_classification_post_types_post' ).check();
+ cy.get( '#ibm_watson_nlu_password' ).clear().type( 'password' );
+ cy.get( '.classifai-ibm-watson-toggle-api-key' ).click();
+ cy.get( '.settings-allowed-post-types input#post' ).check();
cy.get(
- '#classifai_feature_classification_post_statuses_publish'
+ '.settings-allowed-post-statuses input#post_status_publish'
).check();
cy.get(
- '#classifai_feature_classification_classification_method_recommended_terms'
+ '.classification-method-radio-control input[value="recommended_terms"]'
).check();
- cy.wait( 1000 );
- cy.get( '#category' ).check();
- cy.get( '#category_threshold' ).clear().type( 70 );
- cy.get( '#keyword_threshold' ).clear().type( 70 );
- cy.get( '#entity_threshold' ).clear().type( 70 );
- cy.get( '#concept_threshold' ).clear().type( 70 );
- cy.get( '#submit' ).click();
+ cy.get( '#category-enabled' ).check();
+ cy.get( '#category-threshold' ).clear().type( 70 );
+ cy.get( '#keyword-threshold' ).clear().type( 70 );
+ cy.get( '#entity-threshold' ).clear().type( 70 );
+ cy.get( '#concept-threshold' ).clear().type( 70 );
+ cy.saveFeatureSettings();
cy.optInAllFeatures();
cy.disableClassicEditor();
} );
@@ -38,53 +35,45 @@ describe( '[Language processing] Classify content (IBM Watson - NLU) Tests', ()
it( 'Can save IBM Watson "Language Processing" settings', () => {
// Disable content classification by openai.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_classification'
- );
- cy.get( '#status' ).uncheck();
- cy.get( '#submit' ).click();
+ cy.visitFeatureSettings( 'language_processing/feature_classification' );
+ cy.disableFeature();
+ cy.saveFeatureSettings();
+
+ cy.enableFeature();
+ cy.get( '.settings-allowed-post-types input#post' ).check();
+ cy.get( '.settings-allowed-post-types input#page' ).check();
- cy.get( '#status' ).check();
- cy.get( '#classifai_feature_classification_post_types_post' ).check();
- cy.get( '#classifai_feature_classification_post_types_page' ).check();
cy.get(
- '#classifai_feature_classification_post_statuses_draft'
+ '.settings-allowed-post-statuses input#post_status_draft'
).check();
cy.get(
- '#classifai_feature_classification_post_statuses_pending'
+ '.settings-allowed-post-statuses input#post_status_pending'
).check();
cy.get(
- '#classifai_feature_classification_post_statuses_private'
+ '.settings-allowed-post-statuses input#post_status_private'
).check();
cy.get(
- '#classifai_feature_classification_post_statuses_publish'
+ '.settings-allowed-post-statuses input#post_status_publish'
).check();
- cy.get( '#category' ).check();
- cy.get( '#keyword' ).check();
- cy.get( '#entity' ).check();
- cy.get( '#concept' ).check();
- cy.get( '#submit' ).click();
+ cy.get( '#category-enabled' ).check();
+ cy.get( '#keyword-enabled' ).check();
+ cy.get( '#entity-enabled' ).check();
+ cy.get( '#concept-enabled' ).check();
+ cy.saveFeatureSettings();
} );
it( 'Can select Watson taxonomies "Language Processing" settings', () => {
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing'
- );
-
- cy.get( '#classifai-settings-category_taxonomy' ).select(
- 'watson-category'
- );
- cy.get( '#classifai-settings-keyword_taxonomy' ).select(
- 'watson-keyword'
- );
- cy.get( '#classifai-settings-entity_taxonomy' ).select(
- 'watson-entity'
- );
- cy.get( '#classifai-settings-concept_taxonomy' ).select(
- 'watson-concept'
- );
- cy.get( '#submit' ).click();
+ cy.intercept( '/wp-json/wp/v2/taxonomies*' ).as( 'getTaxonomies' );
+ cy.visitFeatureSettings( 'language_processing' );
+ cy.wait( '@getTaxonomies' );
+
+ cy.enableFeature();
+ cy.get( '#category-taxonomy' ).select( 'watson-category' );
+ cy.get( '#keyword-taxonomy' ).select( 'watson-keyword' );
+ cy.get( '#entity-taxonomy' ).select( 'watson-entity' );
+ cy.get( '#concept-taxonomy' ).select( 'watson-concept' );
+ cy.saveFeatureSettings();
} );
it( 'Can see Watson taxonomies under "Posts" Menu.', () => {
@@ -105,15 +94,13 @@ describe( '[Language processing] Classify content (IBM Watson - NLU) Tests', ()
} );
it( 'Check Classification Mode toggle button is off, display popup, then add/remove terms', () => {
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing'
- );
+ cy.visitFeatureSettings( 'language_processing' );
- cy.get( '#provider' ).select( 'ibm_watson_nlu' );
+ cy.selectProvider( 'ibm_watson_nlu' );
cy.get(
- '#classifai_feature_classification_classification_mode_manual_review'
+ '.classification-mode-radio-control input[value="manual_review"]'
).check();
- cy.get( '#submit' ).click();
+ cy.saveFeatureSettings();
// Create Test Post
cy.createPost( {
@@ -145,10 +132,9 @@ describe( '[Language processing] Classify content (IBM Watson - NLU) Tests', ()
} );
// Check the toggle button is off
- cy.get( '.classifai-panel .components-form-toggle' ).should(
- 'not.have.class',
- 'is-checked'
- );
+ cy.get( '.classifai-panel .components-form-toggle' )
+ .first()
+ .should( 'not.have.class', 'is-checked' );
cy.get( '#classify-post-component button' ).click();
@@ -194,15 +180,13 @@ describe( '[Language processing] Classify content (IBM Watson - NLU) Tests', ()
it( 'Check Classification Mode toggle button is on', () => {
cy.deactivatePlugin( 'classic-editor' );
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_classification'
- );
+ cy.visitFeatureSettings( 'language_processing/feature_classification' );
- cy.get( '#provider' ).select( 'ibm_watson_nlu' );
+ cy.selectProvider( 'ibm_watson_nlu' );
cy.get(
- '#classifai_feature_classification_classification_mode_automatic_classification'
+ '.classification-mode-radio-control input[value="automatic_classification"]'
).check();
- cy.get( '#submit' ).click();
+ cy.saveFeatureSettings();
// Create Test Post
cy.createPost( {
@@ -272,15 +256,13 @@ describe( '[Language processing] Classify content (IBM Watson - NLU) Tests', ()
const threshold = 75;
// Update Threshold to 75.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_classification'
- );
+ cy.visitFeatureSettings( 'language_processing/feature_classification' );
- cy.get( '#category_threshold' ).clear().type( threshold );
- cy.get( '#keyword_threshold' ).clear().type( threshold );
- cy.get( '#entity_threshold' ).clear().type( threshold );
- cy.get( '#concept_threshold' ).clear().type( threshold );
- cy.get( '#submit' ).click();
+ cy.get( '#category-threshold' ).clear().type( threshold );
+ cy.get( '#keyword-threshold' ).clear().type( threshold );
+ cy.get( '#entity-threshold' ).clear().type( threshold );
+ cy.get( '#concept-threshold' ).clear().type( threshold );
+ cy.saveFeatureSettings();
// Create Test Post
cy.createPost( {
@@ -316,19 +298,17 @@ describe( '[Language processing] Classify content (IBM Watson - NLU) Tests', ()
const threshold1 = 75;
// Update classification method to "Add recommended terms" and threshold value.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_classification'
- );
+ cy.visitFeatureSettings( 'language_processing/feature_classification' );
- cy.get( '#provider' ).select( 'ibm_watson_nlu' );
+ cy.selectProvider( 'ibm_watson_nlu' );
cy.get(
- '#classifai_feature_classification_classification_method_recommended_terms'
+ '.classification-method-radio-control input[value="recommended_terms"]'
).check();
- cy.get( '#category_threshold' ).clear().type( threshold1 );
- cy.get( '#keyword_threshold' ).clear().type( threshold1 );
- cy.get( '#entity_threshold' ).clear().type( threshold1 );
- cy.get( '#concept_threshold' ).clear().type( threshold1 );
- cy.get( '#submit' ).click();
+ cy.get( '#category-threshold' ).clear().type( threshold1 );
+ cy.get( '#keyword-threshold' ).clear().type( threshold1 );
+ cy.get( '#entity-threshold' ).clear().type( threshold1 );
+ cy.get( '#concept-threshold' ).clear().type( threshold1 );
+ cy.saveFeatureSettings();
// Create Test Post
cy.createPost( {
@@ -357,19 +337,17 @@ describe( '[Language processing] Classify content (IBM Watson - NLU) Tests', ()
// Now create terms with threshold 70 and verify it with threshold 75 to make only existing terms are used in classification and not new terms.
const threshold2 = 70;
// Update classification method to "Only classify based on existing terms" and threshold value.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_classification'
- );
+ cy.visitFeatureSettings( 'language_processing/feature_classification' );
- cy.get( '#provider' ).select( 'ibm_watson_nlu' );
+ cy.selectProvider( 'ibm_watson_nlu' );
cy.get(
- '#classifai_feature_classification_classification_method_existing_terms'
+ '.classification-method-radio-control input[value="existing_terms"]'
).check();
- cy.get( '#category_threshold' ).clear().type( threshold2 );
- cy.get( '#keyword_threshold' ).clear().type( threshold2 );
- cy.get( '#entity_threshold' ).clear().type( threshold2 );
- cy.get( '#concept_threshold' ).clear().type( threshold2 );
- cy.get( '#submit' ).click();
+ cy.get( '#category-threshold' ).clear().type( threshold2 );
+ cy.get( '#keyword-threshold' ).clear().type( threshold2 );
+ cy.get( '#entity-threshold' ).clear().type( threshold2 );
+ cy.get( '#concept-threshold' ).clear().type( threshold2 );
+ cy.saveFeatureSettings();
// Create Test Post
cy.createPost( {
@@ -396,34 +374,30 @@ describe( '[Language processing] Classify content (IBM Watson - NLU) Tests', ()
);
// Update classification method back to "Add recommended terms".
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_classification'
- );
+ cy.visitFeatureSettings( 'language_processing/feature_classification' );
cy.get(
- '#classifai_feature_classification_classification_method_recommended_terms'
+ '.classification-method-radio-control input[value="recommended_terms"]'
).check();
- cy.get( '#submit' ).click();
+ cy.saveFeatureSettings();
} );
it( 'Can create post and tags get created by ClassifAI', () => {
const threshold = 70;
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_classification'
- );
- cy.get( '#provider' ).select( 'ibm_watson_nlu' );
+ cy.visitFeatureSettings( 'language_processing/feature_classification' );
+ cy.selectProvider( 'ibm_watson_nlu' );
cy.get(
- '#classifai_feature_classification_classification_method_recommended_terms'
+ '.classification-method-radio-control input[value="recommended_terms"]'
).check();
- cy.get( '#classifai-settings-category_taxonomy' ).select( 'post_tag' );
- cy.get( '#classifai-settings-keyword_taxonomy' ).select( 'post_tag' );
- cy.get( '#classifai-settings-entity_taxonomy' ).select( 'post_tag' );
- cy.get( '#classifai-settings-concept_taxonomy' ).select( 'post_tag' );
- cy.get( '#category_threshold' ).clear().type( threshold );
- cy.get( '#keyword_threshold' ).clear().type( threshold );
- cy.get( '#entity_threshold' ).clear().type( threshold );
- cy.get( '#concept_threshold' ).clear().type( threshold );
- cy.get( '#submit' ).click();
+ cy.get( '#category-taxonomy' ).select( 'post_tag' );
+ cy.get( '#keyword-taxonomy' ).select( 'post_tag' );
+ cy.get( '#entity-taxonomy' ).select( 'post_tag' );
+ cy.get( '#concept-taxonomy' ).select( 'post_tag' );
+ cy.get( '#category-threshold' ).clear().type( threshold );
+ cy.get( '#keyword-threshold' ).clear().type( threshold );
+ cy.get( '#entity-threshold' ).clear().type( threshold );
+ cy.get( '#concept-threshold' ).clear().type( threshold );
+ cy.saveFeatureSettings();
// Create Test Post
cy.createPost( {
@@ -448,21 +422,17 @@ describe( '[Language processing] Classify content (IBM Watson - NLU) Tests', ()
it( 'Can enable/disable Natural Language Understanding features.', () => {
// Disable feature.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_classification'
- );
- cy.get( '#status' ).uncheck();
- cy.get( '#submit' ).click();
+ cy.visitFeatureSettings( 'language_processing/feature_classification' );
+ cy.disableFeature();
+ cy.saveFeatureSettings();
// Verify that the feature is not available.
cy.verifyClassifyContentEnabled( false );
// Enable feature.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_classification'
- );
- cy.get( '#status' ).check();
- cy.get( '#submit' ).click();
+ cy.visitFeatureSettings( 'language_processing/feature_classification' );
+ cy.enableFeature();
+ cy.saveFeatureSettings();
// Verify that the feature is available.
cy.verifyClassifyContentEnabled( true );
@@ -470,13 +440,11 @@ describe( '[Language processing] Classify content (IBM Watson - NLU) Tests', ()
it( 'Can limit Natural Language Understanding features by roles', () => {
// Disable access to admin role.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_classification'
- );
+ cy.visitFeatureSettings( 'language_processing/feature_classification' );
// Disable access for all users.
cy.disableFeatureForUsers();
- cy.get( '#submit' ).click();
+ cy.saveFeatureSettings();
// Disable admin role.
cy.disableFeatureForRoles( 'feature_classification', [
@@ -497,93 +465,86 @@ describe( '[Language processing] Classify content (IBM Watson - NLU) Tests', ()
it( 'Can limit Natural Language Understanding features by users', () => {
// Disable access.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&provider=watson_nlu'
- );
+ cy.visitFeatureSettings( 'language_processing&provider=watson_nlu' );
// Disable access for all roles.
- cy.get( '.allowed_roles_row input[type="checkbox"]' ).uncheck( {
+ cy.openUserPermissionsPanel();
+ cy.get( '.settings-allowed-roles input[type="checkbox"]' ).uncheck( {
multiple: true,
} );
// Disable access for all users.
cy.disableFeatureForUsers();
- cy.get( '#submit' ).click();
- cy.get( '.notice' ).contains( 'Settings saved.' );
+ cy.saveFeatureSettings();
// Verify that the feature is not available.
cy.verifyClassifyContentEnabled( false );
// Enable access to user.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&provider=watson_nlu'
- );
+ cy.visitFeatureSettings( 'language_processing&provider=watson_nlu' );
// Disable access for all roles.
- cy.get( '.allowed_roles_row input[type="checkbox"]' ).uncheck( {
+ cy.get( '.settings-allowed-roles input[type="checkbox"]' ).uncheck( {
multiple: true,
} );
cy.get( 'body' ).then( ( $body ) => {
if (
$body.find(
- '.allowed_users_row .components-form-token-field__remove-token'
+ '.classifai-settings__users .components-form-token-field__remove-token'
).length > 0
) {
cy.get(
- '.allowed_users_row .components-form-token-field__remove-token'
+ '.classifai-settings__users .components-form-token-field__remove-token'
).click( {
multiple: true,
} );
}
} );
cy.get(
- '.allowed_users_row input.components-form-token-field__input'
+ '.classifai-settings__users input.components-form-token-field__input'
).type( 'admin' );
cy.wait( 1000 );
cy.get(
'ul.components-form-token-field__suggestions-list li:nth-child(1)'
).click();
- cy.get( '#submit' ).click();
- cy.get( '.notice' ).contains( 'Settings saved.' );
+ cy.saveFeatureSettings();
// Verify that the feature is available.
cy.verifyClassifyContentEnabled( true );
// Enable access to admin role. (default)
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&provider=watson_nlu'
- );
+ cy.visitFeatureSettings( 'language_processing&provider=watson_nlu' );
// Enable access for all roles.
- cy.get( '.allowed_roles_row input[type="checkbox"]' ).check( {
+ cy.openUserPermissionsPanel();
+ cy.get( '.settings-allowed-roles input[type="checkbox"]' ).check( {
multiple: true,
} );
// Disable access for all users.
cy.disableFeatureForUsers();
- cy.get( '#submit' ).click();
- cy.get( '.notice' ).contains( 'Settings saved.' );
+ cy.saveFeatureSettings();
} );
it( 'Can enable user based opt out for Natural Language Understanding', () => {
// Opt Out from feature.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&provider=watson_nlu'
- );
+ cy.visitFeatureSettings( 'language_processing&provider=watson_nlu' );
// Enable access for all roles.
- cy.get( '.allowed_roles_row input[type="checkbox"]' ).check( {
+ cy.openUserPermissionsPanel();
+ cy.get( '.settings-allowed-roles input[type="checkbox"]' ).check( {
multiple: true,
} );
// Disable access for all users.
cy.disableFeatureForUsers();
- cy.get( '#user_based_opt_out' ).check();
+ cy.get(
+ '.classifai-settings__user-based-opt-out input[type="checkbox"]'
+ ).check();
- cy.get( '#submit' ).click();
- cy.get( '.notice' ).contains( 'Settings saved.' );
+ cy.saveFeatureSettings();
// opt-out
cy.optOutFeature( 'feature_classification' );
diff --git a/tests/cypress/integration/language-processing/classify-content-openai-embeddings.test.js b/tests/cypress/integration/language-processing/classify-content-openai-embeddings.test.js
index 127e14771..9d4000ea2 100644
--- a/tests/cypress/integration/language-processing/classify-content-openai-embeddings.test.js
+++ b/tests/cypress/integration/language-processing/classify-content-openai-embeddings.test.js
@@ -1,12 +1,10 @@
describe( '[Language processing] Classify Content (OpenAI) Tests', () => {
before( () => {
cy.login();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_classification'
- );
- cy.get( '#status' ).check();
- cy.get( '#provider' ).select( 'openai_embeddings' );
- cy.get( '#submit' ).click();
+ cy.visitFeatureSettings( 'language_processing/feature_classification' );
+ cy.enableFeature();
+ cy.selectProvider( 'openai_embeddings' );
+ cy.saveFeatureSettings();
cy.optInAllFeatures();
cy.disableClassicEditor();
} );
@@ -16,19 +14,18 @@ describe( '[Language processing] Classify Content (OpenAI) Tests', () => {
} );
it( 'Can save OpenAI Embeddings "Language Processing" settings', () => {
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_classification'
- );
+ cy.visitFeatureSettings( 'language_processing/feature_classification' );
- cy.get( '#api_key' ).clear().type( 'password' );
- cy.get( '#status' ).check();
- cy.get( '#classifai_feature_classification_post_types_post' ).check();
+ cy.selectProvider( 'openai_embeddings' );
+ cy.get( '#openai_api_key' ).clear().type( 'password' );
+ cy.enableFeature();
+ cy.get( '.settings-allowed-post-types input#post' ).check();
cy.get(
- '#classifai_feature_classification_post_statuses_publish'
+ '.settings-allowed-post-statuses input#post_status_publish'
).check();
- cy.get( '#category' ).check();
- cy.get( '#category_threshold' ).clear().type( 100 ); // "Test" requires 80% confidence. At 81%, it does not apply.
- cy.get( '#submit' ).click();
+ cy.get( '#category-enabled' ).check();
+ cy.get( '#category-threshold' ).clear().type( 100 ); // "Test" requires 80% confidence. At 81%, it does not apply.
+ cy.saveFeatureSettings();
} );
it( 'Can create category and post and category will get auto-assigned', () => {
@@ -78,27 +75,24 @@ describe( '[Language processing] Classify Content (OpenAI) Tests', () => {
} );
} );
- it( 'Can see the preview on the settings page', () => {
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_classification'
- );
+ // TODO: Update this test to use new previewer.
+ it.skip( 'Can see the preview on the settings page', () => {
+ cy.visitFeatureSettings( 'language_processing/feature_classification' );
- cy.get( '#submit' ).click();
+ cy.saveFeatureSettings();
// Click the Preview button.
const closePanelSelector = '#get-classifier-preview-data-btn';
cy.get( closePanelSelector ).click();
// Check the term is received and visible.
- cy.get( '.tax-row--Category' ).should( 'exist' );
+ cy.get( '.tax-row--category' ).should( 'exist' );
} );
it( 'Can create category and post and category will not get auto-assigned if feature turned off', () => {
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_classification'
- );
- cy.get( '#status' ).uncheck();
- cy.get( '#submit' ).click();
+ cy.visitFeatureSettings( 'language_processing/feature_classification' );
+ cy.disableFeature();
+ cy.saveFeatureSettings();
// Create test term.
cy.deleteAllTerms( 'category' );
@@ -150,17 +144,15 @@ describe( '[Language processing] Classify Content (OpenAI) Tests', () => {
it( 'Can see the enable button in a post (Classic Editor)', () => {
cy.enableClassicEditor();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_classification'
- );
+ cy.visitFeatureSettings( 'language_processing/feature_classification' );
- cy.get( '#status' ).check();
- cy.get( '#classifai_feature_classification_post_types_post' ).check();
+ cy.enableFeature();
+ cy.get( '.settings-allowed-post-types input#post' ).check();
cy.get(
- '#classifai_feature_classification_post_statuses_publish'
+ '.settings-allowed-post-statuses input#post_status_publish'
).check();
- cy.get( '#category' ).check();
- cy.get( '#submit' ).click();
+ cy.get( '#category-enabled' ).check();
+ cy.saveFeatureSettings();
cy.classicCreatePost( {
title: 'Embeddings test classic',
@@ -178,21 +170,17 @@ describe( '[Language processing] Classify Content (OpenAI) Tests', () => {
cy.disableClassicEditor();
// Disable feature.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_classification'
- );
- cy.get( '#status' ).uncheck();
- cy.get( '#submit' ).click();
+ cy.visitFeatureSettings( 'language_processing/feature_classification' );
+ cy.disableFeature();
+ cy.saveFeatureSettings();
// Verify that the feature is not available.
cy.verifyClassifyContentEnabled( false );
// Enable feature.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_classification'
- );
- cy.get( '#status' ).check();
- cy.get( '#submit' ).click();
+ cy.visitFeatureSettings( 'language_processing/feature_classification' );
+ cy.enableFeature();
+ cy.saveFeatureSettings();
// Verify that the feature is available.
cy.verifyClassifyContentEnabled( true );
@@ -200,14 +188,12 @@ describe( '[Language processing] Classify Content (OpenAI) Tests', () => {
it( 'Can enable/disable content classification feature by role', () => {
// Remove custom taxonomies so those don't interfere with the test.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing'
- );
+ cy.visitFeatureSettings( 'language_processing' );
// Disable access for all users.
cy.disableFeatureForUsers();
- cy.get( '#submit' ).click();
+ cy.saveFeatureSettings();
// Disable admin role.
cy.disableFeatureForRoles( 'feature_classification', [
diff --git a/tests/cypress/integration/language-processing/excerpt-generation-azure-openai.test.js b/tests/cypress/integration/language-processing/excerpt-generation-azure-openai.test.js
index 813ba3217..4af11d6f5 100644
--- a/tests/cypress/integration/language-processing/excerpt-generation-azure-openai.test.js
+++ b/tests/cypress/integration/language-processing/excerpt-generation-azure-openai.test.js
@@ -3,14 +3,13 @@ import { getChatGPTData } from '../../plugins/functions';
describe( '[Language processing] Excerpt Generation Tests', () => {
before( () => {
cy.login();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_excerpt_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_excerpt_generation'
);
- cy.get( '#status' ).check();
- cy.get(
- '#classifai_feature_excerpt_generation_post_types_post'
- ).check();
- cy.get( '#submit' ).click();
+ cy.get( '#classifai-logo' ).should( 'exist' );
+ cy.enableFeature();
+ cy.get( '.settings-allowed-post-types input#post' ).check();
+ cy.saveFeatureSettings();
cy.optInAllFeatures();
cy.disableClassicEditor();
} );
@@ -20,33 +19,21 @@ describe( '[Language processing] Excerpt Generation Tests', () => {
} );
it( 'Can save Azure OpenAI "Language Processing" settings', () => {
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_excerpt_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_excerpt_generation'
);
-
- cy.get( '#provider' ).select( 'azure_openai' );
- cy.get(
- 'input[name="classifai_feature_excerpt_generation[azure_openai][endpoint_url]"]'
- )
+ cy.get( '#classifai-logo' ).should( 'exist' );
+ cy.selectProvider( 'azure_openai' );
+ cy.get( 'input#azure_openai_endpoint_url' )
.clear()
.type( 'https://e2e-test-azure-openai.test/' );
- cy.get(
- 'input[name="classifai_feature_excerpt_generation[azure_openai][api_key]"]'
- )
- .clear()
- .type( 'password' );
- cy.get(
- 'input[name="classifai_feature_excerpt_generation[azure_openai][deployment]"]'
- )
- .clear()
- .type( 'test' );
-
- cy.get( '#status' ).check();
- cy.get(
- '#classifai_feature_excerpt_generation_roles_administrator'
- ).check();
- cy.get( '#length' ).clear().type( 35 );
- cy.get( '#submit' ).click();
+ cy.get( 'input#azure_openai_api_key' ).clear().type( 'password' );
+ cy.get( 'input#azure_openai_deployment' ).clear().type( 'test' );
+
+ cy.enableFeature();
+ cy.allowFeatureToAdmin();
+ cy.get( '#excerpt_length' ).clear().type( 35 );
+ cy.saveFeatureSettings();
} );
it( 'Can see the generate excerpt button in a post', () => {
@@ -98,11 +85,11 @@ describe( '[Language processing] Excerpt Generation Tests', () => {
it( 'Can see the generate excerpt button in a post (Classic Editor)', () => {
cy.enableClassicEditor();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_excerpt_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_excerpt_generation'
);
- cy.get( '#status' ).check();
- cy.get( '#submit' ).click();
+ cy.enableFeature();
+ cy.saveFeatureSettings();
const data = getChatGPTData();
diff --git a/tests/cypress/integration/language-processing/excerpt-generation-googleai-gemini-api.test.js b/tests/cypress/integration/language-processing/excerpt-generation-googleai-gemini-api.test.js
index 9c78624b8..818423627 100644
--- a/tests/cypress/integration/language-processing/excerpt-generation-googleai-gemini-api.test.js
+++ b/tests/cypress/integration/language-processing/excerpt-generation-googleai-gemini-api.test.js
@@ -3,14 +3,13 @@ import { getGeminiAPIData } from '../../plugins/functions';
describe( '[Language processing] Excerpt Generation Tests', () => {
before( () => {
cy.login();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_excerpt_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_excerpt_generation'
);
- cy.get( '#status' ).check();
- cy.get(
- '#classifai_feature_excerpt_generation_post_types_post'
- ).check();
- cy.get( '#submit' ).click();
+ cy.get( '#classifai-logo' ).should( 'exist' );
+ cy.enableFeature();
+ cy.get( '.settings-allowed-post-types input#post' ).check();
+ cy.saveFeatureSettings();
cy.optInAllFeatures();
cy.disableClassicEditor();
} );
@@ -20,22 +19,19 @@ describe( '[Language processing] Excerpt Generation Tests', () => {
} );
it( 'Can save Google AI (Gemini API) "Language Processing" settings', () => {
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_excerpt_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_excerpt_generation'
);
- cy.get( '#provider' ).select( 'googleai_gemini_api' );
- cy.get(
- 'input[name="classifai_feature_excerpt_generation[googleai_gemini_api][api_key]"]'
- )
+ cy.get( '#classifai-logo' ).should( 'exist' );
+ cy.selectProvider( 'googleai_gemini_api' );
+ cy.get( 'input#googleai_gemini_api_api_key' )
.clear()
.type( 'password' );
- cy.get( '#status' ).check();
- cy.get(
- '#classifai_feature_excerpt_generation_roles_administrator'
- ).check();
- cy.get( '#length' ).clear().type( 35 );
- cy.get( '#submit' ).click();
+ cy.enableFeature();
+ cy.allowFeatureToAdmin();
+ cy.get( '#excerpt_length' ).clear().type( 35 );
+ cy.saveFeatureSettings();
} );
it( 'Can see the generate excerpt button in a post', () => {
@@ -87,11 +83,11 @@ describe( '[Language processing] Excerpt Generation Tests', () => {
it( 'Can see the generate excerpt button in a post (Classic Editor)', () => {
cy.enableClassicEditor();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_excerpt_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_excerpt_generation'
);
- cy.get( '#status' ).check();
- cy.get( '#submit' ).click();
+ cy.enableFeature();
+ cy.saveFeatureSettings();
const data = getGeminiAPIData();
diff --git a/tests/cypress/integration/language-processing/excerpt-generation-openai-chatgpt.test.js b/tests/cypress/integration/language-processing/excerpt-generation-openai-chatgpt.test.js
index 89bacb92b..021a7d349 100644
--- a/tests/cypress/integration/language-processing/excerpt-generation-openai-chatgpt.test.js
+++ b/tests/cypress/integration/language-processing/excerpt-generation-openai-chatgpt.test.js
@@ -3,14 +3,13 @@ import { getChatGPTData } from '../../plugins/functions';
describe( '[Language processing] Excerpt Generation Tests', () => {
before( () => {
cy.login();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_excerpt_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_excerpt_generation'
);
- cy.get( '#status' ).check();
- cy.get(
- '#classifai_feature_excerpt_generation_post_types_post'
- ).check();
- cy.get( '#submit' ).click();
+ cy.get( '#classifai-logo' ).should( 'exist' );
+ cy.enableFeature();
+ cy.get( '.settings-allowed-post-types input#post' ).check();
+ cy.saveFeatureSettings();
cy.optInAllFeatures();
cy.disableClassicEditor();
} );
@@ -20,19 +19,17 @@ describe( '[Language processing] Excerpt Generation Tests', () => {
} );
it( 'Can save OpenAI ChatGPT "Language Processing" settings', () => {
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_excerpt_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_excerpt_generation'
);
-
- cy.get( '#provider' ).select( 'openai_chatgpt' );
- cy.get( '#api_key' ).clear().type( 'password' );
-
- cy.get( '#status' ).check();
- cy.get(
- '#classifai_feature_excerpt_generation_roles_administrator'
- ).check();
- cy.get( '#length' ).clear().type( 35 );
- cy.get( '#submit' ).click();
+ cy.get( '#classifai-logo' ).should( 'exist' );
+ cy.selectProvider( 'openai_chatgpt' );
+ cy.get( '#openai_chatgpt_api_key' ).clear().type( 'password' );
+
+ cy.enableFeature();
+ cy.allowFeatureToAdmin();
+ cy.get( '#excerpt_length' ).clear().type( 35 );
+ cy.saveFeatureSettings();
} );
it( 'Can see the generate excerpt button in a post', () => {
@@ -84,11 +81,11 @@ describe( '[Language processing] Excerpt Generation Tests', () => {
it( 'Can see the generate excerpt button in a post (Classic Editor)', () => {
cy.enableClassicEditor();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_excerpt_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_excerpt_generation'
);
- cy.get( '#status' ).check();
- cy.get( '#submit' ).click();
+ cy.enableFeature();
+ cy.saveFeatureSettings();
const data = getChatGPTData();
@@ -115,85 +112,55 @@ describe( '[Language processing] Excerpt Generation Tests', () => {
it( 'Can set multiple custom excerpt generation prompts, select one as the default and delete one.', () => {
cy.disableClassicEditor();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_excerpt_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_excerpt_generation'
);
// Add three custom prompts.
- cy.get(
- '[name="classifai_feature_excerpt_generation[generate_excerpt_prompt][0][default]"]'
- )
- .parents( 'td:first' )
- .find( 'button.js-classifai-add-prompt-fieldset' )
+ cy.get( 'button.components-button.action__add_prompt' )
.click()
.click()
.click();
cy.get(
- '[name="classifai_feature_excerpt_generation[generate_excerpt_prompt][0][default]"]'
- )
- .parents( 'td' )
- .find( '.classifai-field-type-prompt-setting' )
- .should( 'have.length', 4 );
+ '.classifai-prompts div.classifai-field-type-prompt-setting'
+ ).should( 'have.length', 4 );
// Set the data for each prompt.
- cy.get(
- '[name="classifai_feature_excerpt_generation[generate_excerpt_prompt][1][title]"]'
- )
+ cy.get( '#classifai-prompt-setting-1 .classifai-prompt-title input' )
.clear()
.type( 'First custom prompt' );
- cy.get(
- '[name="classifai_feature_excerpt_generation[generate_excerpt_prompt][1][prompt]"]'
- )
+ cy.get( '#classifai-prompt-setting-1 .classifai-prompt-text textarea' )
.clear()
.type( 'This is our first custom excerpt prompt' );
- cy.get(
- '[name="classifai_feature_excerpt_generation[generate_excerpt_prompt][2][title]"]'
- )
+ cy.get( '#classifai-prompt-setting-2 .classifai-prompt-title input' )
.clear()
.type( 'Second custom prompt' );
- cy.get(
- '[name="classifai_feature_excerpt_generation[generate_excerpt_prompt][2][prompt]"]'
- )
+ cy.get( '#classifai-prompt-setting-2 .classifai-prompt-text textarea' )
.clear()
.type( 'This prompt should be deleted' );
- cy.get(
- '[name="classifai_feature_excerpt_generation[generate_excerpt_prompt][3][title]"]'
- )
+ cy.get( '#classifai-prompt-setting-3 .classifai-prompt-title input' )
.clear()
.type( 'Third custom prompt' );
- cy.get(
- '[name="classifai_feature_excerpt_generation[generate_excerpt_prompt][3][prompt]"]'
- )
+ cy.get( '#classifai-prompt-setting-3 .classifai-prompt-text textarea' )
.clear()
.type( 'This is a custom excerpt prompt' );
// Set the third prompt as our default.
cy.get(
- '[name="classifai_feature_excerpt_generation[generate_excerpt_prompt][3][default]"]'
- )
- .parent()
- .find( 'a.action__set_default' )
- .click( { force: true } );
+ '#classifai-prompt-setting-3 .actions-rows button.action__set_default'
+ ).click( { force: true } );
// Delete the second prompt.
cy.get(
- '[name="classifai_feature_excerpt_generation[generate_excerpt_prompt][2][default]"]'
- )
- .parent()
- .find( 'a.action__remove_prompt' )
- .click( { force: true } );
- cy.get( 'div[aria-describedby="js-classifai--delete-prompt-modal"]' )
- .find( '.button-primary' )
- .click();
+ '#classifai-prompt-setting-2 .actions-rows button.action__remove_prompt'
+ ).click( { force: true } );
+ cy.get( 'div.components-confirm-dialog button.is-primary' ).click();
cy.get(
- '[name="classifai_feature_excerpt_generation[generate_excerpt_prompt][0][default]"]'
- )
- .parents( 'td:first' )
- .find( '.classifai-field-type-prompt-setting' )
- .should( 'have.length', 3 );
+ '.classifai-prompts div.classifai-field-type-prompt-setting'
+ ).should( 'have.length', 3 );
- cy.get( '#submit' ).click();
+ cy.saveFeatureSettings();
const data = getChatGPTData( 'excerpt' );
@@ -239,32 +206,32 @@ describe( '[Language processing] Excerpt Generation Tests', () => {
it( 'Can enable/disable excerpt generation feature', () => {
// Disable features.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_excerpt_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_excerpt_generation'
);
- cy.get( '#status' ).uncheck();
- cy.get( '#submit' ).click();
+ cy.disableFeature();
+ cy.saveFeatureSettings();
// Verify that the feature is not available.
cy.verifyExcerptGenerationEnabled( false );
// Enable feature.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_excerpt_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_excerpt_generation'
);
- cy.get( '#status' ).check();
- cy.get( '#submit' ).click();
+ cy.enableFeature();
+ cy.saveFeatureSettings();
// Verify that the feature is available.
cy.verifyExcerptGenerationEnabled( true );
} );
it( 'Can enable/disable excerpt generation feature by role', () => {
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_excerpt_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_excerpt_generation'
);
- cy.get( '#status' ).check();
- cy.get( '#submit' ).click();
+ cy.enableFeature();
+ cy.saveFeatureSettings();
// Disable admin role.
cy.disableFeatureForRoles( 'feature_excerpt_generation', [
diff --git a/tests/cypress/integration/language-processing/moderation-openai-moderation.test.js b/tests/cypress/integration/language-processing/moderation-openai-moderation.test.js
index 8c3dfc3f7..88d728435 100644
--- a/tests/cypress/integration/language-processing/moderation-openai-moderation.test.js
+++ b/tests/cypress/integration/language-processing/moderation-openai-moderation.test.js
@@ -1,10 +1,8 @@
describe( '[Language processing] Moderation Tests', () => {
before( () => {
cy.login();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_moderation'
- );
- cy.get( '#submit' ).click();
+ cy.visitFeatureSettings( 'language_processing/feature_moderation' );
+ cy.saveFeatureSettings();
cy.optInAllFeatures();
cy.disableClassicEditor();
} );
@@ -14,17 +12,14 @@ describe( '[Language processing] Moderation Tests', () => {
} );
it( 'Can save OpenAI Moderation "Language Processing" settings', () => {
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_moderation'
- );
-
- cy.get( '#api_key' ).clear().type( 'password' );
- cy.get( '#status' ).check();
- cy.get(
- '#classifai_feature_moderation_content_types_comments'
- ).check();
- cy.get( '#classifai_feature_moderation_roles_administrator' ).check();
- cy.get( '#submit' ).click();
+ cy.visitFeatureSettings( 'language_processing/feature_moderation' );
+
+ cy.selectProvider( 'openai_moderation' );
+ cy.get( '#openai_api_key' ).clear().type( 'password' );
+ cy.enableFeature();
+ cy.get( '.settings-moderation-content-types input#comments' ).check();
+ cy.allowFeatureToAdmin();
+ cy.saveFeatureSettings();
} );
it( 'Can run moderation on a comment', () => {
@@ -42,32 +37,26 @@ describe( '[Language processing] Moderation Tests', () => {
it( 'Can enable/disable moderation feature', () => {
// Disable features.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_moderation'
- );
- cy.get( '#status' ).uncheck();
- cy.get( '#submit' ).click();
+ cy.visitFeatureSettings( 'language_processing/feature_moderation' );
+ cy.disableFeature();
+ cy.saveFeatureSettings();
// Verify that the feature is not available.
cy.verifyModerationEnabled( false );
// Enable feature.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_moderation'
- );
- cy.get( '#status' ).check();
- cy.get( '#submit' ).click();
+ cy.visitFeatureSettings( 'language_processing/feature_moderation' );
+ cy.enableFeature();
+ cy.saveFeatureSettings();
// Verify that the feature is available.
cy.verifyModerationEnabled( true );
} );
it( 'Can enable/disable moderation feature by role', () => {
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_moderation'
- );
- cy.get( '#status' ).check();
- cy.get( '#submit' ).click();
+ cy.visitFeatureSettings( 'language_processing/feature_moderation' );
+ cy.enableFeature();
+ cy.saveFeatureSettings();
// Disable admin role.
cy.disableFeatureForRoles( 'feature_moderation', [ 'administrator' ] );
@@ -83,11 +72,9 @@ describe( '[Language processing] Moderation Tests', () => {
} );
it( 'Can enable/disable moderation feature by user', () => {
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_moderation'
- );
- cy.get( '#status' ).check();
- cy.get( '#submit' ).click();
+ cy.visitFeatureSettings( 'language_processing/feature_moderation' );
+ cy.enableFeature();
+ cy.saveFeatureSettings();
// Disable admin role.
cy.disableFeatureForRoles( 'feature_moderation', [ 'administrator' ] );
@@ -105,11 +92,9 @@ describe( '[Language processing] Moderation Tests', () => {
} );
it( 'User can opt-out of moderation feature', () => {
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_moderation'
- );
- cy.get( '#status' ).check();
- cy.get( '#submit' ).click();
+ cy.visitFeatureSettings( 'language_processing/feature_moderation' );
+ cy.enableFeature();
+ cy.saveFeatureSettings();
// Enable user based opt-out.
cy.enableFeatureOptOut( 'feature_moderation' );
diff --git a/tests/cypress/integration/language-processing/resize_content-azure-openai.test.js b/tests/cypress/integration/language-processing/resize_content-azure-openai.test.js
index 46e1d9735..f4540e258 100644
--- a/tests/cypress/integration/language-processing/resize_content-azure-openai.test.js
+++ b/tests/cypress/integration/language-processing/resize_content-azure-openai.test.js
@@ -1,27 +1,17 @@
describe( '[Language processing] Resize Content Tests', () => {
before( () => {
cy.login();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_content_resizing'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_content_resizing'
);
- cy.get( '#status' ).check();
- cy.get( '#provider' ).select( 'azure_openai' );
- cy.get(
- 'input[name="classifai_feature_content_resizing[azure_openai][endpoint_url]"]'
- )
+ cy.enableFeature();
+ cy.selectProvider( 'azure_openai' );
+ cy.get( 'input#azure_openai_endpoint_url' )
.clear()
.type( 'https://e2e-test-azure-openai.test/' );
- cy.get(
- 'input[name="classifai_feature_content_resizing[azure_openai][api_key]"]'
- )
- .clear()
- .type( 'password' );
- cy.get(
- 'input[name="classifai_feature_content_resizing[azure_openai][deployment]"]'
- )
- .clear()
- .type( 'test' );
- cy.get( '#submit' ).click();
+ cy.get( 'input#azure_openai_api_key' ).clear().type( 'password' );
+ cy.get( 'input#azure_openai_deployment' ).clear().type( 'test' );
+ cy.saveFeatureSettings();
cy.optInAllFeatures();
cy.disableClassicEditor();
} );
@@ -31,15 +21,13 @@ describe( '[Language processing] Resize Content Tests', () => {
} );
it( 'Resize content feature can grow and shrink content', () => {
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_content_resizing'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_content_resizing'
);
- cy.get( '#status' ).check();
- cy.get(
- '#classifai_feature_content_resizing_roles_administrator'
- ).check();
- cy.get( '#submit' ).click();
+ cy.enableFeature();
+ cy.allowFeatureToAdmin();
+ cy.saveFeatureSettings();
cy.createPost( {
title: 'Resize content',
diff --git a/tests/cypress/integration/language-processing/resize_content-googleai-gemini-api.test.js b/tests/cypress/integration/language-processing/resize_content-googleai-gemini-api.test.js
index 4c21eda01..b332db229 100644
--- a/tests/cypress/integration/language-processing/resize_content-googleai-gemini-api.test.js
+++ b/tests/cypress/integration/language-processing/resize_content-googleai-gemini-api.test.js
@@ -1,17 +1,13 @@
describe( '[Language processing] Resize Content Tests', () => {
before( () => {
cy.login();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_content_resizing'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_content_resizing'
);
- cy.get( '#status' ).check();
- cy.get( '#provider' ).select( 'googleai_gemini_api' );
- cy.get(
- 'input[name="classifai_feature_content_resizing[googleai_gemini_api][api_key]"]'
- )
- .clear()
- .type( 'abc123' );
- cy.get( '#submit' ).click();
+ cy.enableFeature();
+ cy.selectProvider( 'googleai_gemini_api' );
+ cy.get( 'input#googleai_gemini_api_api_key' ).clear().type( 'abc123' );
+ cy.saveFeatureSettings();
cy.optInAllFeatures();
cy.disableClassicEditor();
} );
@@ -21,15 +17,13 @@ describe( '[Language processing] Resize Content Tests', () => {
} );
it( 'Resize content feature can grow and shrink content', () => {
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_content_resizing'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_content_resizing'
);
- cy.get( '#status' ).check();
- cy.get(
- '#classifai_feature_content_resizing_roles_administrator'
- ).check();
- cy.get( '#submit' ).click();
+ cy.enableFeature();
+ cy.allowFeatureToAdmin();
+ cy.saveFeatureSettings();
cy.createPost( {
title: 'Resize content',
diff --git a/tests/cypress/integration/language-processing/resize_content-openai-chatgpt.test.js b/tests/cypress/integration/language-processing/resize_content-openai-chatgpt.test.js
index 9b8c17066..182f4330f 100644
--- a/tests/cypress/integration/language-processing/resize_content-openai-chatgpt.test.js
+++ b/tests/cypress/integration/language-processing/resize_content-openai-chatgpt.test.js
@@ -1,13 +1,13 @@
describe( '[Language processing] Resize Content Tests', () => {
before( () => {
cy.login();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_content_resizing'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_content_resizing'
);
- cy.get( '#status' ).check();
- cy.get( '#provider' ).select( 'openai_chatgpt' );
- cy.get( '#api_key' ).type( 'abc123' );
- cy.get( '#submit' ).click();
+ cy.enableFeature();
+ cy.selectProvider( 'openai_chatgpt' );
+ cy.get( '#openai_chatgpt_api_key' ).type( 'abc123' );
+ cy.saveFeatureSettings();
cy.optInAllFeatures();
cy.disableClassicEditor();
} );
@@ -17,15 +17,13 @@ describe( '[Language processing] Resize Content Tests', () => {
} );
it( 'Resize content feature can grow and shrink content', () => {
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_content_resizing'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_content_resizing'
);
- cy.get( '#status' ).check();
- cy.get(
- '#classifai_feature_content_resizing_roles_administrator'
- ).check();
- cy.get( '#submit' ).click();
+ cy.enableFeature();
+ cy.allowFeatureToAdmin();
+ cy.saveFeatureSettings();
cy.createPost( {
title: 'Resize content',
@@ -76,154 +74,126 @@ describe( '[Language processing] Resize Content Tests', () => {
} );
it( 'Can set multiple custom resize generation prompts, select one as the default and delete one.', () => {
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_content_resizing'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_content_resizing'
);
// Add three custom shrink prompts.
cy.get(
- '[name="classifai_feature_content_resizing[condense_text_prompt][0][default]"]'
+ '.settings-condense-text-prompt button.components-button.action__add_prompt'
)
- .parents( 'td:first' )
- .find( 'button.js-classifai-add-prompt-fieldset' )
.click()
.click()
.click();
cy.get(
- '[name="classifai_feature_content_resizing[condense_text_prompt][0][default]"]'
- )
- .parents( 'td:first' )
- .find( '.classifai-field-type-prompt-setting' )
- .should( 'have.length', 4 );
+ '.settings-condense-text-prompt .classifai-prompts div.classifai-field-type-prompt-setting'
+ ).should( 'have.length', 4 );
// Add three custom grow prompts.
cy.get(
- '[name="classifai_feature_content_resizing[expand_text_prompt][0][default]"]'
+ '.settings-expand-text-prompt button.components-button.action__add_prompt'
)
- .parents( 'td:first' )
- .find( 'button.js-classifai-add-prompt-fieldset:first' )
.click()
.click()
.click();
cy.get(
- '[name="classifai_feature_content_resizing[expand_text_prompt][0][default]"]'
- )
- .parents( 'td:first' )
- .find( '.classifai-field-type-prompt-setting' )
- .should( 'have.length', 4 );
+ '.settings-expand-text-prompt .classifai-prompts div.classifai-field-type-prompt-setting'
+ ).should( 'have.length', 4 );
// Set the data for each prompt.
cy.get(
- '[name="classifai_feature_content_resizing[condense_text_prompt][1][title]"]'
+ '.settings-condense-text-prompt #classifai-prompt-setting-1 .classifai-prompt-title input'
)
.clear()
.type( 'First custom prompt' );
cy.get(
- '[name="classifai_feature_content_resizing[condense_text_prompt][1][prompt]"]'
+ '.settings-condense-text-prompt #classifai-prompt-setting-1 .classifai-prompt-text textarea'
)
.clear()
.type( 'This is our first custom shrink prompt' );
cy.get(
- '[name="classifai_feature_content_resizing[condense_text_prompt][2][title]"]'
+ '.settings-condense-text-prompt #classifai-prompt-setting-2 .classifai-prompt-title input'
)
.clear()
.type( 'Second custom prompt' );
cy.get(
- '[name="classifai_feature_content_resizing[condense_text_prompt][2][prompt]"]'
+ '.settings-condense-text-prompt #classifai-prompt-setting-2 .classifai-prompt-text textarea'
)
.clear()
.type( 'This prompt should be deleted' );
+
cy.get(
- '[name="classifai_feature_content_resizing[condense_text_prompt][3][title]"]'
+ '.settings-condense-text-prompt #classifai-prompt-setting-3 .classifai-prompt-title input'
)
.clear()
.type( 'Third custom prompt' );
cy.get(
- '[name="classifai_feature_content_resizing[condense_text_prompt][3][prompt]"]'
+ '.settings-condense-text-prompt #classifai-prompt-setting-3 .classifai-prompt-text textarea'
)
.clear()
.type( 'This is a custom shrink prompt' );
+
+ // Expand prompts.
cy.get(
- '[name="classifai_feature_content_resizing[expand_text_prompt][1][title]"]'
+ '.settings-expand-text-prompt #classifai-prompt-setting-1 .classifai-prompt-title input'
)
.clear()
.type( 'First custom prompt' );
cy.get(
- '[name="classifai_feature_content_resizing[expand_text_prompt][1][prompt]"]'
+ '.settings-expand-text-prompt #classifai-prompt-setting-1 .classifai-prompt-text textarea'
)
.clear()
.type( 'This is our first custom grow prompt' );
cy.get(
- '[name="classifai_feature_content_resizing[expand_text_prompt][2][title]"]'
+ '.settings-expand-text-prompt #classifai-prompt-setting-2 .classifai-prompt-title input'
)
.clear()
.type( 'Second custom prompt' );
cy.get(
- '[name="classifai_feature_content_resizing[expand_text_prompt][2][prompt]"]'
+ '.settings-expand-text-prompt #classifai-prompt-setting-2 .classifai-prompt-text textarea'
)
.clear()
.type( 'This prompt should be deleted' );
cy.get(
- '[name="classifai_feature_content_resizing[expand_text_prompt][3][title]"]'
+ '.settings-expand-text-prompt #classifai-prompt-setting-3 .classifai-prompt-title input'
)
.clear()
.type( 'Third custom prompt' );
cy.get(
- '[name="classifai_feature_content_resizing[expand_text_prompt][3][prompt]"]'
+ '.settings-expand-text-prompt #classifai-prompt-setting-3 .classifai-prompt-text textarea'
)
.clear()
.type( 'This is a custom grow prompt' );
// Set the third prompt as our default.
cy.get(
- '[name="classifai_feature_content_resizing[condense_text_prompt][3][default]"]'
- )
- .parent()
- .find( 'a.action__set_default' )
- .click( { force: true } );
+ '.settings-condense-text-prompt #classifai-prompt-setting-3 .actions-rows button.action__set_default'
+ ).click( { force: true } );
+
cy.get(
- '[name="classifai_feature_content_resizing[expand_text_prompt][3][default]"]'
- )
- .parent()
- .find( 'a.action__set_default' )
- .click( { force: true } );
+ '.settings-expand-text-prompt #classifai-prompt-setting-3 .actions-rows button.action__set_default'
+ ).click( { force: true } );
// Delete the second prompt.
cy.get(
- '[name="classifai_feature_content_resizing[condense_text_prompt][2][default]"]'
- )
- .parent()
- .find( 'a.action__remove_prompt' )
- .click( { force: true } );
- cy.get( 'div[aria-describedby="js-classifai--delete-prompt-modal"]' )
- .find( '.button-primary' )
- .click();
+ '.settings-condense-text-prompt #classifai-prompt-setting-2 .actions-rows button.action__remove_prompt'
+ ).click( { force: true } );
+ cy.get( 'div.components-confirm-dialog button.is-primary' ).click();
cy.get(
- '[name="classifai_feature_content_resizing[condense_text_prompt][0][default]"]'
- )
- .parents( 'td:first' )
- .find( '.classifai-field-type-prompt-setting' )
- .should( 'have.length', 3 );
+ '.settings-condense-text-prompt .classifai-prompts div.classifai-field-type-prompt-setting'
+ ).should( 'have.length', 3 );
+
cy.get(
- '[name="classifai_feature_content_resizing[expand_text_prompt][2][default]"]'
- )
- .parent()
- .find( 'a.action__remove_prompt' )
- .click( { force: true } );
- cy.get( 'div[aria-describedby="js-classifai--delete-prompt-modal"]' )
- .first()
- .find( '.button-primary' )
- .click();
+ '.settings-expand-text-prompt #classifai-prompt-setting-2 .actions-rows button.action__remove_prompt'
+ ).click( { force: true } );
+ cy.get( 'div.components-confirm-dialog button.is-primary' ).click();
cy.get(
- '[name="classifai_feature_content_resizing[expand_text_prompt][0][default]"]'
- )
- .parents( 'td:first' )
- .find( '.classifai-field-type-prompt-setting' )
- .should( 'have.length', 3 );
+ '.settings-expand-text-prompt .classifai-prompts div.classifai-field-type-prompt-setting'
+ ).should( 'have.length', 3 );
- cy.get( '#submit' ).click();
+ cy.saveFeatureSettings();
cy.createPost( {
title: 'Resize content',
@@ -275,21 +245,21 @@ describe( '[Language processing] Resize Content Tests', () => {
it( 'Can enable/disable resize content feature', () => {
// Disable feature.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_content_resizing'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_content_resizing'
);
- cy.get( '#status' ).uncheck();
- cy.get( '#submit' ).click();
+ cy.disableFeature();
+ cy.saveFeatureSettings();
// Verify that the feature is not available.
cy.verifyResizeContentEnabled( false );
// Enable feature.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_content_resizing'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_content_resizing'
);
- cy.get( '#status' ).check();
- cy.get( '#submit' ).click();
+ cy.enableFeature();
+ cy.saveFeatureSettings();
// Verify that the feature is available.
cy.verifyResizeContentEnabled( true );
diff --git a/tests/cypress/integration/language-processing/smart-404-azure-openai.test.js b/tests/cypress/integration/language-processing/smart-404-azure-openai.test.js
index 6ce812272..fa108db78 100644
--- a/tests/cypress/integration/language-processing/smart-404-azure-openai.test.js
+++ b/tests/cypress/integration/language-processing/smart-404-azure-openai.test.js
@@ -11,52 +11,44 @@ describe( '[Language processing] Smart 404 - Azure OpenAI Tests', () => {
it( "See error message if ElasticPress isn't activate", () => {
cy.disableElasticPress();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_smart_404'
- );
+ cy.visitFeatureSettings( 'language_processing/feature_smart_404' );
- cy.get( '.classifai-nlu-sections .notice-error' ).should( 'exist' );
+ cy.get( '.elasticpress-required-notice.components-notice ' ).should(
+ 'exist'
+ );
} );
it( 'Can save Smart 404 settings', () => {
cy.enableElasticPress();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_smart_404'
- );
+ cy.visitFeatureSettings( 'language_processing/feature_smart_404' );
// Enabled Feature.
- cy.get( '#status' ).check();
+ cy.enableFeature();
// Setup Provider.
- cy.get( '#provider' ).select( 'azure_openai_embeddings' );
- cy.get(
- 'input[name="classifai_feature_smart_404[azure_openai_embeddings][endpoint_url]"]'
- )
+ cy.selectProvider( 'azure_openai_embeddings' );
+ cy.get( 'input#azure_openai_embeddings_endpoint_url' )
.clear()
.type( 'https://e2e-test-azure-openai.test/' );
- cy.get(
- 'input[name="classifai_feature_smart_404[azure_openai_embeddings][api_key]"]'
- )
+ cy.get( 'input#azure_openai_embeddings_api_key' )
.clear()
.type( 'password' );
- cy.get(
- 'input[name="classifai_feature_smart_404[azure_openai_embeddings][deployment]"]'
- )
+ cy.get( 'input#azure_openai_embeddings_deployment' )
.clear()
.type( 'test' );
// Change all settings.
- cy.get( '#num' ).clear().type( 4 );
- cy.get( '#num_search' ).clear().type( 7000 );
- cy.get( '#threshold' ).clear().type( 3.25 );
- cy.get( '#rescore' ).uncheck();
- cy.get( '#fallback' ).check();
- cy.get( '#score_function' ).select( 'l1_norm' );
- cy.get( '#classifai_feature_smart_404_roles_administrator' ).check();
+ cy.get( '#feature_smart_404_num' ).clear().type( 4 );
+ cy.get( '#feature_smart_404_num_search' ).clear().type( 7000 );
+ cy.get( '#feature_smart_404_threshold' ).clear().type( 3.25 );
+ cy.get( '#feature_smart_404_rescore' ).uncheck();
+ cy.get( '#feature_smart_404_fallback' ).check();
+ cy.get( '#feature_smart_404_score_function' ).select( 'l1_norm' );
+ cy.allowFeatureToAdmin();
// Save settings.
- cy.get( '#submit' ).click();
+ cy.saveFeatureSettings();
cy.disableElasticPress();
} );
diff --git a/tests/cypress/integration/language-processing/smart-404-openai.test.js b/tests/cypress/integration/language-processing/smart-404-openai.test.js
index 635265efb..c3a5ae384 100644
--- a/tests/cypress/integration/language-processing/smart-404-openai.test.js
+++ b/tests/cypress/integration/language-processing/smart-404-openai.test.js
@@ -11,38 +11,36 @@ describe( '[Language processing] Smart 404 - OpenAI Tests', () => {
it( "See error message if ElasticPress isn't activate", () => {
cy.disableElasticPress();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_smart_404'
- );
+ cy.visitFeatureSettings( 'language_processing/feature_smart_404' );
- cy.get( '.classifai-nlu-sections .notice-error' ).should( 'exist' );
+ cy.get( '.elasticpress-required-notice.components-notice ' ).should(
+ 'exist'
+ );
} );
it( 'Can save Smart 404 settings', () => {
cy.enableElasticPress();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_smart_404'
- );
+ cy.visitFeatureSettings( 'language_processing/feature_smart_404' );
// Enabled Feature.
- cy.get( '#status' ).check();
+ cy.enableFeature();
// Setup Provider.
- cy.get( '#provider' ).select( 'openai_embeddings' );
- cy.get( '#api_key' ).clear().type( 'password' );
+ cy.selectProvider( 'openai_embeddings' );
+ cy.get( '#openai_api_key' ).clear().type( 'password' );
// Change all settings.
- cy.get( '#num' ).clear().type( 5 );
- cy.get( '#num_search' ).clear().type( 8000 );
- cy.get( '#threshold' ).clear().type( 2.55 );
- cy.get( '#rescore' ).check();
- cy.get( '#fallback' ).uncheck();
- cy.get( '#score_function' ).select( 'dot_product' );
- cy.get( '#classifai_feature_smart_404_roles_administrator' ).check();
+ cy.get( '#feature_smart_404_num' ).clear().type( 5 );
+ cy.get( '#feature_smart_404_num_search' ).clear().type( 8000 );
+ cy.get( '#feature_smart_404_threshold' ).clear().type( 2.55 );
+ cy.get( '#feature_smart_404_rescore' ).check();
+ cy.get( '#feature_smart_404_fallback' ).uncheck();
+ cy.get( '#feature_smart_404_score_function' ).select( 'dot_product' );
+ cy.allowFeatureToAdmin();
// Save settings.
- cy.get( '#submit' ).click();
+ cy.saveFeatureSettings();
cy.disableElasticPress();
} );
diff --git a/tests/cypress/integration/language-processing/speech-to-text-openai-whisper.test.js b/tests/cypress/integration/language-processing/speech-to-text-openai-whisper.test.js
index 9e04582d5..0d8e5e624 100644
--- a/tests/cypress/integration/language-processing/speech-to-text-openai-whisper.test.js
+++ b/tests/cypress/integration/language-processing/speech-to-text-openai-whisper.test.js
@@ -3,11 +3,11 @@ import { getWhisperData } from '../../plugins/functions';
describe( '[Language processing] Speech to Text Tests', () => {
before( () => {
cy.login();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_audio_transcripts_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_audio_transcripts_generation'
);
- cy.get( '#status' ).check();
- cy.get( '#submit' ).click();
+ cy.enableFeature();
+ cy.saveFeatureSettings();
cy.optInAllFeatures();
cy.disableClassicEditor();
} );
@@ -17,17 +17,15 @@ describe( '[Language processing] Speech to Text Tests', () => {
} );
it( 'Can save OpenAI Whisper "Language Processing" settings', () => {
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_audio_transcripts_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_audio_transcripts_generation'
);
- cy.get( '#api_key' ).clear().type( 'password' );
+ cy.get( '#openai_api_key' ).clear().type( 'password' );
- cy.get( '#status' ).check();
- cy.get(
- '#classifai_feature_audio_transcripts_generation_roles_administrator'
- ).check();
- cy.get( '#submit' ).click();
+ cy.enableFeature();
+ cy.allowFeatureToAdmin();
+ cy.saveFeatureSettings();
} );
let audioEditLink = '';
@@ -82,21 +80,21 @@ describe( '[Language processing] Speech to Text Tests', () => {
};
// Disable features
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_audio_transcripts_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_audio_transcripts_generation'
);
- cy.get( '#status' ).uncheck();
- cy.get( '#submit' ).click();
+ cy.disableFeature();
+ cy.saveFeatureSettings();
// Verify that the feature is not available.
cy.verifySpeechToTextEnabled( false, options );
// Enable feature.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_audio_transcripts_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_audio_transcripts_generation'
);
- cy.get( '#status' ).check();
- cy.get( '#submit' ).click();
+ cy.enableFeature();
+ cy.saveFeatureSettings();
// Verify that the feature is available.
cy.verifySpeechToTextEnabled( true, options );
@@ -104,11 +102,11 @@ describe( '[Language processing] Speech to Text Tests', () => {
it( 'Can enable/disable speech to text feature by role', () => {
// Enable feature.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_audio_transcripts_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_audio_transcripts_generation'
);
- cy.get( '#status' ).check();
- cy.get( '#submit' ).click();
+ cy.enableFeature();
+ cy.saveFeatureSettings();
const options = {
audioEditLink,
diff --git a/tests/cypress/integration/language-processing/text-to-speech-amazon-polly.test.js b/tests/cypress/integration/language-processing/text-to-speech-amazon-polly.test.js
index 0ce9b95bc..6d94ebef8 100644
--- a/tests/cypress/integration/language-processing/text-to-speech-amazon-polly.test.js
+++ b/tests/cypress/integration/language-processing/text-to-speech-amazon-polly.test.js
@@ -1,24 +1,25 @@
describe( '[Language Processing] Text to Speech (Amazon Polly) Tests', () => {
before( () => {
cy.login();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_text_to_speech_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_text_to_speech_generation'
);
- cy.get(
- '#classifai_feature_text_to_speech_generation_post_types_post'
- ).check( 'post' );
- cy.get( '#provider' ).select( 'aws_polly' );
- cy.get( '#access_key_id' ).clear();
- cy.get( '#access_key_id' ).type( 'SAMPLE_ACCESS_KEY' );
- cy.get( '#secret_access_key' ).clear();
- cy.get( '#secret_access_key' ).type( 'SAMPLE_SECRET_ACCESS_KEY' );
- cy.get( '#aws_region' ).clear();
- cy.get( '#aws_region' ).type( 'SAMPLE_SECRET_ACCESS_KEY' );
- cy.get( '#status' ).check();
- cy.get( '#submit' ).click();
-
- cy.get( '#voice' ).select( 'Aditi' );
- cy.get( '#submit' ).click();
+ cy.get( '#classifai-logo' ).should( 'exist' );
+ cy.get( '.settings-allowed-post-types input#post' ).check();
+ cy.selectProvider( 'aws_polly' );
+ cy.get( '#aws_polly_access_key_id' ).clear();
+ cy.get( '#aws_polly_access_key_id' ).type( 'SAMPLE_ACCESS_KEY' );
+ cy.get( '#aws_polly_secret_access_key' ).clear();
+ cy.get( '#aws_polly_secret_access_key' ).type(
+ 'SAMPLE_SECRET_ACCESS_KEY'
+ );
+ cy.get( '#aws_polly_aws_region' ).clear();
+ cy.get( '#aws_polly_aws_region' ).type( 'SAMPLE_SECRET_ACCESS_KEY' );
+ cy.enableFeature();
+ cy.saveFeatureSettings();
+
+ cy.get( '#aws_polly_voice' ).select( 'Aditi' );
+ cy.saveFeatureSettings();
cy.optInAllFeatures();
cy.disableClassicEditor();
} );
diff --git a/tests/cypress/integration/language-processing/text-to-speech-microsoft-azure.test.js b/tests/cypress/integration/language-processing/text-to-speech-microsoft-azure.test.js
index f351ecebc..dc47307d7 100644
--- a/tests/cypress/integration/language-processing/text-to-speech-microsoft-azure.test.js
+++ b/tests/cypress/integration/language-processing/text-to-speech-microsoft-azure.test.js
@@ -1,24 +1,25 @@
describe( '[Language Processing] Text to Speech (Microsoft Azure) Tests', () => {
before( () => {
cy.login();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_text_to_speech_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_text_to_speech_generation'
);
- cy.get( '#provider' ).select( 'ms_azure_text_to_speech' );
- cy.get(
- '#classifai_feature_text_to_speech_generation_post_types_post'
- ).check( 'post' );
- cy.get( '#provider' ).select( 'ms_azure_text_to_speech' );
- cy.get( '#endpoint_url' ).clear();
- cy.get( '#endpoint_url' ).type( 'https://service.com' );
- cy.get( '#api_key' ).type( 'password' );
- cy.get( '#status' ).check();
- cy.get( '#submit' ).click();
-
- cy.get(
- '[name="classifai_feature_text_to_speech_generation[ms_azure_text_to_speech][voice]"]'
- ).select( 'en-AU-AnnetteNeural|Female' );
- cy.get( '#submit' ).click();
+ cy.get( '#classifai-logo' ).should( 'exist' );
+ cy.selectProvider( 'ms_azure_text_to_speech' );
+ cy.get( '.settings-allowed-post-types input#post' ).check();
+ cy.selectProvider( 'ms_azure_text_to_speech' );
+ cy.get( '#ms_azure_text_to_speech_endpoint_url' ).clear();
+ cy.get( '#ms_azure_text_to_speech_endpoint_url' ).type(
+ 'https://service.com'
+ );
+ cy.get( '#ms_azure_text_to_speech_api_key' ).type( 'password' );
+ cy.enableFeature();
+ cy.saveFeatureSettings();
+
+ cy.get( '#ms_azure_text_to_speech_voice' ).select(
+ 'en-AU-AnnetteNeural|Female'
+ );
+ cy.saveFeatureSettings();
cy.optInAllFeatures();
cy.disableClassicEditor();
} );
@@ -117,13 +118,11 @@ describe( '[Language Processing] Text to Speech (Microsoft Azure) Tests', () =>
it( 'Disable support for post type Post', () => {
cy.disableClassicEditor();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_text_to_speech_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_text_to_speech_generation'
);
- cy.get(
- '#classifai_feature_text_to_speech_generation_post_types_post'
- ).uncheck( 'post' );
- cy.get( '#submit' ).click();
+ cy.get( '.settings-allowed-post-types input#post' ).uncheck();
+ cy.saveFeatureSettings();
cy.visit( '/text-to-speech-test/' );
cy.get( '.class-post-audio-controls' ).should( 'not.exist' );
@@ -131,24 +130,22 @@ describe( '[Language Processing] Text to Speech (Microsoft Azure) Tests', () =>
it( 'Can enable/disable text to speech feature', () => {
// Disable feature.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_text_to_speech_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_text_to_speech_generation'
);
- cy.get( '#status' ).uncheck();
- cy.get( '#submit' ).click();
+ cy.disableFeature();
+ cy.saveFeatureSettings();
// Verify that the feature is not available.
cy.verifyTextToSpeechEnabled( false );
// Enable feature.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_text_to_speech_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_text_to_speech_generation'
);
- cy.get( '#status' ).check();
- cy.get(
- '#classifai_feature_text_to_speech_generation_post_types_post'
- ).check( 'post' );
- cy.get( '#submit' ).click();
+ cy.enableFeature();
+ cy.get( '.settings-allowed-post-types input#post' ).check();
+ cy.saveFeatureSettings();
// Verify that the feature is available.
cy.verifyTextToSpeechEnabled( true );
@@ -156,13 +153,11 @@ describe( '[Language Processing] Text to Speech (Microsoft Azure) Tests', () =>
it( 'Can enable/disable text to speech feature by role', () => {
// Enable feature.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_text_to_speech_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_text_to_speech_generation'
);
- cy.get(
- '#classifai_feature_text_to_speech_generation_post_types_post'
- ).check( 'post' );
- cy.get( '#submit' ).click();
+ cy.get( '.settings-allowed-post-types input#post' ).check();
+ cy.saveFeatureSettings();
// Disable admin role.
cy.disableFeatureForRoles( 'feature_text_to_speech_generation', [
diff --git a/tests/cypress/integration/language-processing/text-to-speech-openai-text-to-speech.test.js b/tests/cypress/integration/language-processing/text-to-speech-openai-text-to-speech.test.js
index 1d6a85bf8..e8cf3120f 100644
--- a/tests/cypress/integration/language-processing/text-to-speech-openai-text-to-speech.test.js
+++ b/tests/cypress/integration/language-processing/text-to-speech-openai-text-to-speech.test.js
@@ -1,20 +1,19 @@
describe( '[Language Processing] Text to Speech (OpenAI) Tests', () => {
before( () => {
cy.login();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_text_to_speech_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_text_to_speech_generation'
);
- cy.get(
- '#classifai_feature_text_to_speech_generation_post_types_post'
- ).check( 'post' );
- cy.get( '#provider' ).select( 'openai_text_to_speech' );
- cy.get( '#tts_model' ).select( 'tts-1' );
- cy.get( '[name="classifai_feature_text_to_speech_generation[openai_text_to_speech][api_key]"]' ).type( 'password' );
- cy.get( '#status' ).check();
- cy.get( '#submit' ).click();
-
- cy.get( '[name="classifai_feature_text_to_speech_generation[openai_text_to_speech][voice]"]' ).select( 'alloy' );
- cy.get( '#submit' ).click();
+ cy.get( '#classifai-logo' ).should( 'exist' );
+ cy.get( '.settings-allowed-post-types input#post' ).check();
+ cy.selectProvider( 'openai_text_to_speech' );
+ cy.get( '#openai_text_to_speech_tts_model' ).select( 'tts-1' );
+ cy.get( '#openai_text_to_speech_api_key' ).clear().type( 'password' );
+ cy.enableFeature();
+ cy.saveFeatureSettings();
+
+ cy.get( '#openai_text_to_speech_voice' ).select( 'alloy' );
+ cy.saveFeatureSettings();
cy.optInAllFeatures();
cy.disableClassicEditor();
} );
@@ -111,13 +110,11 @@ describe( '[Language Processing] Text to Speech (OpenAI) Tests', () => {
it( 'Disable support for post type Post', () => {
cy.disableClassicEditor();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_text_to_speech_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_text_to_speech_generation'
);
- cy.get(
- '#classifai_feature_text_to_speech_generation_post_types_post'
- ).uncheck( 'post' );
- cy.get( '#submit' ).click();
+ cy.get( '.settings-allowed-post-types input#post' ).uncheck();
+ cy.saveFeatureSettings();
cy.visit( '/text-to-speech-test/' );
cy.get( '.class-post-audio-controls' ).should( 'not.exist' );
@@ -125,24 +122,22 @@ describe( '[Language Processing] Text to Speech (OpenAI) Tests', () => {
it( 'Can enable/disable text to speech feature', () => {
// Disable feature.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_text_to_speech_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_text_to_speech_generation'
);
- cy.get( '#status' ).uncheck();
- cy.get( '#submit' ).click();
+ cy.disableFeature();
+ cy.saveFeatureSettings();
// Verify that the feature is not available.
cy.verifyTextToSpeechEnabled( false );
// Enable feature.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_text_to_speech_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_text_to_speech_generation'
);
- cy.get( '#status' ).check();
- cy.get(
- '#classifai_feature_text_to_speech_generation_post_types_post'
- ).check( 'post' );
- cy.get( '#submit' ).click();
+ cy.enableFeature();
+ cy.get( '.settings-allowed-post-types input#post' ).check();
+ cy.saveFeatureSettings();
// Verify that the feature is available.
cy.verifyTextToSpeechEnabled( true );
@@ -150,13 +145,11 @@ describe( '[Language Processing] Text to Speech (OpenAI) Tests', () => {
it( 'Can enable/disable text to speech feature by role', () => {
// Enable feature.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_text_to_speech_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_text_to_speech_generation'
);
- cy.get(
- '#classifai_feature_text_to_speech_generation_post_types_post'
- ).check( 'post' );
- cy.get( '#submit' ).click();
+ cy.get( '.settings-allowed-post-types input#post' ).check();
+ cy.saveFeatureSettings();
// Disable admin role.
cy.disableFeatureForRoles( 'feature_text_to_speech_generation', [
diff --git a/tests/cypress/integration/language-processing/title-generation-azure-openai.test.js b/tests/cypress/integration/language-processing/title-generation-azure-openai.test.js
index a0a1b5e8f..c9a3b164a 100644
--- a/tests/cypress/integration/language-processing/title-generation-azure-openai.test.js
+++ b/tests/cypress/integration/language-processing/title-generation-azure-openai.test.js
@@ -12,37 +12,22 @@ describe( '[Language processing] Title Generation Tests', () => {
} );
it( 'Can save Azure OpenAI "Language Processing" title settings', () => {
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_title_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_title_generation'
);
+ cy.get( '#classifai-logo' ).should( 'exist' );
- cy.get( '#provider' ).select( 'azure_openai' );
- cy.get(
- 'input[name="classifai_feature_title_generation[azure_openai][endpoint_url]"]'
- )
+ cy.selectProvider( 'azure_openai' );
+ cy.get( 'input#azure_openai_endpoint_url' )
.clear()
.type( 'https://e2e-test-azure-openai.test/' );
- cy.get(
- 'input[name="classifai_feature_title_generation[azure_openai][api_key]"]'
- )
- .clear()
- .type( 'password' );
- cy.get(
- 'input[name="classifai_feature_title_generation[azure_openai][deployment]"]'
- )
- .clear()
- .type( 'test' );
-
- cy.get( '#status' ).check();
- cy.get(
- '#classifai_feature_title_generation_roles_administrator'
- ).check();
- cy.get(
- 'input[name="classifai_feature_title_generation[azure_openai][number_of_suggestions]"]'
- )
- .clear()
- .type( 1 );
- cy.get( '#submit' ).click();
+ cy.get( 'input#azure_openai_api_key' ).clear().type( 'password' );
+ cy.get( 'input#azure_openai_deployment' ).clear().type( 'test' );
+
+ cy.enableFeature();
+ cy.allowFeatureToAdmin();
+ cy.get( '#azure_openai_number_of_suggestions' ).clear().type( 1 );
+ cy.saveFeatureSettings();
} );
it( 'Can see the generate titles button in a post', () => {
@@ -130,11 +115,11 @@ describe( '[Language processing] Title Generation Tests', () => {
it( 'Can see the generate titles button in a post (Classic Editor)', () => {
cy.enableClassicEditor();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_title_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_title_generation'
);
- cy.get( '#status' ).check();
- cy.get( '#submit' ).click();
+ cy.enableFeature();
+ cy.saveFeatureSettings();
const data = getChatGPTData();
diff --git a/tests/cypress/integration/language-processing/title-generation-googleai-gemini-api.test.js b/tests/cypress/integration/language-processing/title-generation-googleai-gemini-api.test.js
index 681dd0bf2..002318f45 100644
--- a/tests/cypress/integration/language-processing/title-generation-googleai-gemini-api.test.js
+++ b/tests/cypress/integration/language-processing/title-generation-googleai-gemini-api.test.js
@@ -12,21 +12,17 @@ describe( '[Language processing] Title Generation Tests', () => {
} );
it( 'Can save Google AI (Gemini API) "Language Processing" title settings', () => {
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_title_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_title_generation'
);
-
- cy.get( '#provider' ).select( 'googleai_gemini_api' );
- cy.get(
- 'input[name="classifai_feature_title_generation[googleai_gemini_api][api_key]"]'
- )
+ cy.get( '#classifai-logo' ).should( 'exist' );
+ cy.selectProvider( 'googleai_gemini_api' );
+ cy.get( 'input#googleai_gemini_api_api_key' )
.clear()
.type( 'password' );
- cy.get( '#status' ).check();
- cy.get(
- '#classifai_feature_title_generation_roles_administrator'
- ).check();
- cy.get( '#submit' ).click();
+ cy.enableFeature();
+ cy.allowFeatureToAdmin();
+ cy.saveFeatureSettings();
} );
it( 'Can see the generate titles button in a post', () => {
@@ -114,11 +110,11 @@ describe( '[Language processing] Title Generation Tests', () => {
it( 'Can see the generate titles button in a post (Classic Editor)', () => {
cy.enableClassicEditor();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_title_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_title_generation'
);
- cy.get( '#status' ).check();
- cy.get( '#submit' ).click();
+ cy.enableFeature();
+ cy.saveFeatureSettings();
const data = getGeminiAPIData();
diff --git a/tests/cypress/integration/language-processing/title-generation-openai-chatgpt.test.js b/tests/cypress/integration/language-processing/title-generation-openai-chatgpt.test.js
index 33fe9e31f..eec4b5283 100644
--- a/tests/cypress/integration/language-processing/title-generation-openai-chatgpt.test.js
+++ b/tests/cypress/integration/language-processing/title-generation-openai-chatgpt.test.js
@@ -12,18 +12,16 @@ describe( '[Language processing] Title Generation Tests', () => {
} );
it( 'Can save OpenAI ChatGPT "Language Processing" title settings', () => {
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_title_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_title_generation'
);
-
- cy.get( '#provider' ).select( 'openai_chatgpt' );
- cy.get( '#api_key' ).clear().type( 'password' );
- cy.get( '#status' ).check();
- cy.get(
- '#classifai_feature_title_generation_roles_administrator'
- ).check();
- cy.get( '#number_of_suggestions' ).type( 1 );
- cy.get( '#submit' ).click();
+ cy.get( '#classifai-logo' ).should( 'exist' );
+ cy.selectProvider( 'openai_chatgpt' );
+ cy.get( '#openai_chatgpt_api_key' ).clear().type( 'password' );
+ cy.enableFeature();
+ cy.allowFeatureToAdmin();
+ cy.get( '#openai_chatgpt_number_of_suggestions' ).type( 1 );
+ cy.saveFeatureSettings();
} );
it( 'Can see the generate titles button in a post', () => {
@@ -111,11 +109,11 @@ describe( '[Language processing] Title Generation Tests', () => {
it( 'Can see the generate titles button in a post (Classic Editor)', () => {
cy.enableClassicEditor();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_title_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_title_generation'
);
- cy.get( '#status' ).check();
- cy.get( '#submit' ).click();
+ cy.enableFeature();
+ cy.saveFeatureSettings();
const data = getChatGPTData();
@@ -137,85 +135,55 @@ describe( '[Language processing] Title Generation Tests', () => {
it( 'Can set multiple custom title generation prompts, select one as the default and delete one.', () => {
cy.disableClassicEditor();
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_title_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_title_generation'
);
// Add three custom prompts.
- cy.get(
- '[name="classifai_feature_title_generation[generate_title_prompt][0][default]"]'
- )
- .parents( 'td:first' )
- .find( 'button.js-classifai-add-prompt-fieldset' )
+ cy.get( 'button.components-button.action__add_prompt' )
.click()
.click()
.click();
cy.get(
- '[name="classifai_feature_title_generation[generate_title_prompt][0][default]"]'
- )
- .parents( 'td:first' )
- .find( '.classifai-field-type-prompt-setting' )
- .should( 'have.length', 4 );
+ '.classifai-prompts div.classifai-field-type-prompt-setting'
+ ).should( 'have.length', 4 );
// Set the data for each prompt.
- cy.get(
- '[name="classifai_feature_title_generation[generate_title_prompt][1][title]"]'
- )
+ cy.get( '#classifai-prompt-setting-1 .classifai-prompt-title input' )
.clear()
.type( 'First custom prompt' );
- cy.get(
- '[name="classifai_feature_title_generation[generate_title_prompt][1][prompt]"]'
- )
+ cy.get( '#classifai-prompt-setting-1 .classifai-prompt-text textarea' )
.clear()
.type( 'This is our first custom title prompt' );
- cy.get(
- '[name="classifai_feature_title_generation[generate_title_prompt][2][title]"]'
- )
+ cy.get( '#classifai-prompt-setting-2 .classifai-prompt-title input' )
.clear()
.type( 'Second custom prompt' );
- cy.get(
- '[name="classifai_feature_title_generation[generate_title_prompt][2][prompt]"]'
- )
+ cy.get( '#classifai-prompt-setting-2 .classifai-prompt-text textarea' )
.clear()
.type( 'This prompt should be deleted' );
- cy.get(
- '[name="classifai_feature_title_generation[generate_title_prompt][3][title]"]'
- )
+ cy.get( '#classifai-prompt-setting-3 .classifai-prompt-title input' )
.clear()
.type( 'Third custom prompt' );
- cy.get(
- '[name="classifai_feature_title_generation[generate_title_prompt][3][prompt]"]'
- )
+ cy.get( '#classifai-prompt-setting-3 .classifai-prompt-text textarea' )
.clear()
.type( 'This is a custom title prompt' );
// Set the third prompt as our default.
cy.get(
- '[name="classifai_feature_title_generation[generate_title_prompt][3][default]"]'
- )
- .parent()
- .find( 'a.action__set_default' )
- .click( { force: true } );
+ '#classifai-prompt-setting-3 .actions-rows button.action__set_default'
+ ).click( { force: true } );
// Delete the second prompt.
cy.get(
- '[name="classifai_feature_title_generation[generate_title_prompt][2][default]"]'
- )
- .parent()
- .find( 'a.action__remove_prompt' )
- .click( { force: true } );
- cy.get( 'div[aria-describedby="js-classifai--delete-prompt-modal"]' )
- .find( '.button-primary' )
- .click();
+ '#classifai-prompt-setting-2 .actions-rows button.action__remove_prompt'
+ ).click( { force: true } );
+ cy.get( 'div.components-confirm-dialog button.is-primary' ).click();
cy.get(
- '[name="classifai_feature_title_generation[generate_title_prompt][0][default]"]'
- )
- .parents( 'td:first' )
- .find( '.classifai-field-type-prompt-setting' )
- .should( 'have.length', 3 );
+ '.classifai-prompts div.classifai-field-type-prompt-setting'
+ ).should( 'have.length', 3 );
- cy.get( '#submit' ).click();
+ cy.saveFeatureSettings();
const data = getChatGPTData( 'title' );
@@ -300,21 +268,21 @@ describe( '[Language processing] Title Generation Tests', () => {
it( 'Can enable/disable title generation feature', () => {
// Disable features.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_title_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_title_generation'
);
- cy.get( '#status' ).uncheck();
- cy.get( '#submit' ).click();
+ cy.disableFeature();
+ cy.saveFeatureSettings();
// Verify that the feature is not available.
cy.verifyTitleGenerationEnabled( false );
// Enable feature.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_title_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_title_generation'
);
- cy.get( '#status' ).check();
- cy.get( '#submit' ).click();
+ cy.enableFeature();
+ cy.saveFeatureSettings();
// Verify that the feature is available.
cy.verifyTitleGenerationEnabled( true );
@@ -322,11 +290,11 @@ describe( '[Language processing] Title Generation Tests', () => {
it( 'Can enable/disable title generation feature by role', () => {
// Enable feature.
- cy.visit(
- '/wp-admin/tools.php?page=classifai&tab=language_processing&feature=feature_title_generation'
+ cy.visitFeatureSettings(
+ 'language_processing/feature_title_generation'
);
- cy.get( '#status' ).check();
- cy.get( '#submit' ).click();
+ cy.enableFeature();
+ cy.saveFeatureSettings();
// Disable admin role.
cy.disableFeatureForRoles( 'feature_title_generation', [
diff --git a/tests/cypress/support/commands.js b/tests/cypress/support/commands.js
index e9d22b623..4bc718ac9 100644
--- a/tests/cypress/support/commands.js
+++ b/tests/cypress/support/commands.js
@@ -143,12 +143,13 @@ Cypress.Commands.add( 'enableFeatureForRoles', ( feature, roles ) => {
if ( imageProcessingFeatures.includes( feature ) ) {
tab = 'image_processing';
}
- cy.visit(
- `/wp-admin/tools.php?page=classifai&tab=${ tab }&feature=${ feature }`
- );
+ cy.visitFeatureSettings( `${ tab }/${ feature }` );
+ cy.get( '#classifai-logo' ).should( 'exist' );
+
+ cy.openUserPermissionsPanel();
// Disable access for all roles.
- cy.get( '.allowed_roles_row input[type="checkbox"]' ).uncheck( {
+ cy.get( '.settings-allowed-roles input[type="checkbox"]' ).uncheck( {
multiple: true,
} );
@@ -156,10 +157,10 @@ Cypress.Commands.add( 'enableFeatureForRoles', ( feature, roles ) => {
cy.disableFeatureForUsers();
roles.forEach( ( role ) => {
- cy.get( `#classifai_${ feature }_roles_${ role }` ).check();
+ cy.get( `.settings-allowed-roles input#${ role }` ).check();
} );
- cy.get( '#submit' ).click();
- cy.get( '.notice' ).contains( 'Settings saved.' );
+ cy.wait( 100 );
+ cy.saveFeatureSettings();
} );
/**
@@ -173,20 +174,21 @@ Cypress.Commands.add( 'disableFeatureForRoles', ( feature, roles ) => {
if ( imageProcessingFeatures.includes( feature ) ) {
tab = 'image_processing';
}
- cy.visit(
- `/wp-admin/tools.php?page=classifai&tab=${ tab }&feature=${ feature }`
- );
- cy.get( '#status' ).check();
+ cy.visitFeatureSettings( `${ tab }/${ feature }` );
+ cy.wait( 100 );
+ cy.enableFeature();
+ cy.openUserPermissionsPanel();
roles.forEach( ( role ) => {
- cy.get( `#classifai_${ feature }_roles_${ role }` ).uncheck();
+ cy.get( `.settings-allowed-roles input#${ role }` ).uncheck( {
+ force: true,
+ } );
} );
// Disable access for all users.
cy.disableFeatureForUsers();
- cy.get( '#submit' ).click();
- cy.get( '.notice' ).contains( 'Settings saved.' );
+ cy.saveFeatureSettings();
} );
/**
@@ -200,12 +202,11 @@ Cypress.Commands.add( 'enableFeatureForUsers', ( feature, users ) => {
if ( imageProcessingFeatures.includes( feature ) ) {
tab = 'image_processing';
}
- cy.visit(
- `/wp-admin/tools.php?page=classifai&tab=${ tab }&feature=${ feature }`
- );
+ cy.visitFeatureSettings( `${ tab }/${ feature }` );
+ cy.openUserPermissionsPanel();
// Disable access for all roles.
- cy.get( 'tr.allowed_roles_row input[type="checkbox"]' ).uncheck( {
+ cy.get( '.settings-allowed-roles input[type="checkbox"]' ).uncheck( {
multiple: true,
} );
@@ -214,21 +215,21 @@ Cypress.Commands.add( 'enableFeatureForUsers', ( feature, users ) => {
users.forEach( ( user ) => {
cy.get(
- `.allowed_users_row input.components-form-token-field__input`
+ `.classifai-settings__users input.components-form-token-field__input`
).type( user );
cy.get( '[aria-label="admin (admin)"]' ).click();
} );
- cy.get( '#submit' ).click();
- cy.get( '.notice' ).contains( 'Settings saved.' );
+ cy.saveFeatureSettings();
} );
/**
* Disable user based access of all users for a feature.
*/
Cypress.Commands.add( 'disableFeatureForUsers', () => {
+ cy.openUserPermissionsPanel();
// Disable access for all users.
- cy.get( '.allowed_users_row' ).then( ( $body ) => {
+ cy.get( '.classifai-settings__users' ).then( ( $body ) => {
if (
$body.find( `.components-form-token-field__remove-token` ).length >
0
@@ -250,14 +251,13 @@ Cypress.Commands.add( 'enableFeatureOptOut', ( feature ) => {
if ( imageProcessingFeatures.includes( feature ) ) {
tab = 'image_processing';
}
- cy.visit(
- `/wp-admin/tools.php?page=classifai&tab=${ tab }&feature=${ feature }`
- );
- cy.get( `#classifai_${ feature }_roles_administrator` ).check();
- cy.get( `#user_based_opt_out` ).check();
+ cy.visitFeatureSettings( `${ tab }/${ feature }` );
+ cy.wait( 100 );
+ cy.openUserPermissionsPanel();
+ cy.get( '.settings-allowed-roles input#administrator' ).check();
+ cy.get( '.classifai-settings__user-based-opt-out input' ).check();
- cy.get( '#submit' ).click();
- cy.get( '.notice' ).contains( 'Settings saved.' );
+ cy.saveFeatureSettings();
} );
/**
@@ -575,6 +575,47 @@ Cypress.Commands.add( 'enableClassicEditor', () => {
} );
} );
+/**
+ * Select feature Provider.
+ */
+Cypress.Commands.add( 'selectProvider', ( provider ) => {
+ cy.get( '#classifai-logo' ).should( 'exist' );
+ cy.get( '.classifai-loading-settings' ).should( 'not.exist' );
+ cy.get( 'body' ).then( ( $body ) => {
+ if ( $body.find( '.classifai-settings-edit-provider' ).length > 0 ) {
+ cy.get( '.classifai-settings-edit-provider' ).click();
+ }
+ } );
+ cy.get( '.classifai-provider-select select' ).select( provider );
+} );
+
+/**
+ * Save the feature settings.
+ */
+Cypress.Commands.add( 'saveFeatureSettings', () => {
+ cy.intercept( 'POST', '/wp-json/classifai/v1/settings/*' ).as(
+ 'saveSettings'
+ );
+ cy.get( '.classifai-settings-footer button.save-settings-button' ).click();
+ cy.wait( '@saveSettings' );
+} );
+
+/**
+ * Enable Feature.
+ */
+Cypress.Commands.add( 'enableFeature', () => {
+ cy.get( '.classifai-enable-feature-toggle input[type="checkbox"]' ).check();
+} );
+
+/**
+ * Disable Feature.
+ */
+Cypress.Commands.add( 'disableFeature', () => {
+ cy.get(
+ '.classifai-enable-feature-toggle input[type="checkbox"]'
+ ).uncheck();
+} );
+
/**
* Activate the ElasticPress plugin.
*/
@@ -598,3 +639,32 @@ Cypress.Commands.add( 'disableElasticPress', () => {
}
} );
} );
+
+/**
+ * Visit the settings page for a feature.
+ */
+Cypress.Commands.add( 'visitFeatureSettings', ( featurePath ) => {
+ cy.visit( `/wp-admin/tools.php?page=classifai#/${ featurePath }` );
+ if ( ! featurePath.includes( 'feature_smart_404' ) ) {
+ cy.get( '.components-panel__header h2' ).should( 'exist' );
+ }
+} );
+
+Cypress.Commands.add( 'openUserPermissionsPanel', () => {
+ cy.get(
+ '.components-panel__body.classifai-settings__user-permissions button'
+ ).then( ( $panelButton ) => {
+ // Find the panel container.
+ const $panel = $panelButton.parents( '.components-panel__body' );
+
+ // Open panel.
+ if ( ! $panel.hasClass( 'is-opened' ) ) {
+ cy.wrap( $panelButton ).click();
+ }
+ } );
+} );
+
+Cypress.Commands.add( 'allowFeatureToAdmin', () => {
+ cy.openUserPermissionsPanel();
+ cy.get( '.settings-allowed-roles input#administrator' ).check();
+} );
diff --git a/webpack.config.js b/webpack.config.js
index 322100481..98e9aa3b4 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -36,6 +36,7 @@ module.exports = {
'./src/js/features/image-generation/extend-image-block-generate-image.js'
],
'classifai-plugin-image-generation-generate-image-media-upload': './src/js/features/image-generation/media-modal/views/generate-image-media-upload.js',
+ settings: './src/js/settings/index.js',
},
module: {
rules: [