diff --git a/packages/join-block/composer.json b/packages/join-block/composer.json
index b9a7fd6..7a2d7da 100644
--- a/packages/join-block/composer.json
+++ b/packages/join-block/composer.json
@@ -11,7 +11,8 @@
"auth0/auth0-php": "^8.3.1",
"http-interop/http-factory-guzzle": "^1.2",
"chargebee/chargebee-php": "^3.23",
- "stripe/stripe-php": "^15.8"
+ "stripe/stripe-php": "^16.1",
+ "mailchimp/marketing": "^3.0"
},
"require-dev": {
"squizlabs/php_codesniffer": "^3.5",
diff --git a/packages/join-block/composer.lock b/packages/join-block/composer.lock
index 4c05d37..311c471 100644
--- a/packages/join-block/composer.lock
+++ b/packages/join-block/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "0adbc5ca9f8301ac5743822ac7accf2b",
+ "content-hash": "62669418c926d5eb3d841234d6687c8a",
"packages": [
{
"name": "auth0/auth0-php",
@@ -1021,6 +1021,61 @@
},
"time": "2021-07-21T13:50:14+00:00"
},
+ {
+ "name": "mailchimp/marketing",
+ "version": "3.0.80",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/mailchimp/mailchimp-marketing-php.git",
+ "reference": "c1a38f7248d8de7de412418fed8dae759b9e4b97"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/mailchimp/mailchimp-marketing-php/zipball/c1a38f7248d8de7de412418fed8dae759b9e4b97",
+ "reference": "c1a38f7248d8de7de412418fed8dae759b9e4b97",
+ "shasum": ""
+ },
+ "require": {
+ "ext-curl": "*",
+ "ext-json": "*",
+ "ext-mbstring": "*",
+ "guzzlehttp/guzzle": "^6.4 || ^7.2",
+ "guzzlehttp/psr7": "^1.7 || ^2.0",
+ "php": ">=7.2"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "~2.12",
+ "phpunit/phpunit": "^7",
+ "squizlabs/php_codesniffer": "~2.6"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "MailchimpMarketing\\": "lib/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "proprietary"
+ ],
+ "authors": [
+ {
+ "name": "Mailchimp",
+ "homepage": "https://github.com/mailchimp/mailchimp-marketing-php"
+ }
+ ],
+ "homepage": "http://swagger.io",
+ "keywords": [
+ "api",
+ "php",
+ "sdk",
+ "swagger"
+ ],
+ "support": {
+ "source": "https://github.com/mailchimp/mailchimp-marketing-php/tree/v3.0.80"
+ },
+ "time": "2022-11-02T19:19:48+00:00"
+ },
{
"name": "monolog/monolog",
"version": "2.9.3",
@@ -1950,6 +2005,65 @@
},
"time": "2019-03-08T08:55:37+00:00"
},
+ {
+ "name": "stripe/stripe-php",
+ "version": "v16.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/stripe/stripe-php.git",
+ "reference": "47c55a5a8414d1d7584e6bbfb3e8179f3c43d83a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/stripe/stripe-php/zipball/47c55a5a8414d1d7584e6bbfb3e8179f3c43d83a",
+ "reference": "47c55a5a8414d1d7584e6bbfb3e8179f3c43d83a",
+ "shasum": ""
+ },
+ "require": {
+ "ext-curl": "*",
+ "ext-json": "*",
+ "ext-mbstring": "*",
+ "php": ">=5.6.0"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "3.5.0",
+ "phpstan/phpstan": "^1.2",
+ "phpunit/phpunit": "^5.7 || ^9.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Stripe\\": "lib/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Stripe and contributors",
+ "homepage": "https://github.com/stripe/stripe-php/contributors"
+ }
+ ],
+ "description": "Stripe PHP Library",
+ "homepage": "https://stripe.com/",
+ "keywords": [
+ "api",
+ "payment processing",
+ "stripe"
+ ],
+ "support": {
+ "issues": "https://github.com/stripe/stripe-php/issues",
+ "source": "https://github.com/stripe/stripe-php/tree/v16.1.0"
+ },
+ "time": "2024-10-03T22:48:28+00:00"
+ },
{
"name": "symfony/deprecation-contracts",
"version": "v2.5.3",
diff --git a/packages/join-block/join.php b/packages/join-block/join.php
index 58ba2ce..25a96a2 100644
--- a/packages/join-block/join.php
+++ b/packages/join-block/join.php
@@ -16,6 +16,7 @@
use CommonKnowledge\JoinBlock\Exceptions\SubscriptionExistsException;
use CommonKnowledge\JoinBlock\Services\GocardlessService;
use CommonKnowledge\JoinBlock\Services\StripeService;
+use CommonKnowledge\JoinBlock\Services\MailchimpService;
use CommonKnowledge\JoinBlock\Settings;
use Monolog\Logger;
use Monolog\Processor\WebProcessor;
@@ -307,6 +308,36 @@
];
}
));
+
+ register_rest_route('join/v1', '/mailchimp', array(
+ 'methods' => 'POST',
+ 'permission_callback' => function ($req) {
+ return true;
+ },
+ 'callback' => function (WP_REST_Request $request) {
+ global $joinBlockLog;
+
+ $data = json_decode($request->get_body(), true);
+
+ if (empty($data['email'])) {
+ $joinBlockLog->error('Email missing in Mailchimp join request');
+ return new WP_REST_Response(['status' => 'invalid request'], 400);
+ }
+
+ $email = $data['email'];
+ $joinBlockLog->info("Processing Mailchimp signup request for $email");
+
+ try {
+ MailchimpService::signup($email);
+ } catch (\Exception $e) {
+ $joinBlockLog->error("Mailchimp error for email $email: " . $e->getMessage());
+ return new WP_REST_Response(['status' => 'internal server error'], 500);
+ }
+
+ $joinBlockLog->info("Completed Mailchimp signup request for $email");
+ return new WP_REST_Response(['status' => 'ok'], 200);
+ }
+ ));
});
// Happens after carbon_fields_register_fields
diff --git a/packages/join-block/src/Blocks.php b/packages/join-block/src/Blocks.php
index a58b665..85ff103 100644
--- a/packages/join-block/src/Blocks.php
+++ b/packages/join-block/src/Blocks.php
@@ -12,6 +12,9 @@
class Blocks
{
+ const MINIMAL_BLOCK_MODE = "MINIMAL";
+ const NORMAL_BLOCK_MODE = "NORMAL";
+
public static function init()
{
self::registerScripts();
@@ -54,7 +57,7 @@ private static function registerScripts()
global $post;
// Only load the script on a page with the block
- $content = $post ? $post->post_content : '';
+ $content = $post ? apply_filters('the_content', $post->post_content) : '';
if (!str_contains($content, 'ck-join')) {
wp_dequeue_script('ck-join-block-js');
@@ -153,85 +156,9 @@ private static function registerJoinFormBlock()
));
$join_form_block->set_render_callback(function ($fields, $attributes, $inner_blocks) {
- global $joinBlockLog;
-
- if (is_multisite()) {
- $currentBlogId = get_current_blog_id();
- $homeUrl = get_home_url($currentBlogId);
- } else {
- $homeUrl = home_url();
- }
-
- $successRedirect = get_page_link($fields['joined_page'][0]['id']);
-
- $membership_plans = $fields['custom_membership_plans'] ?? [];
- if (!$membership_plans) {
- $membership_plans = Settings::get("MEMBERSHIP_PLANS") ?? [];
- }
-
- $membership_plans_prepared = [];
- foreach ($membership_plans as $plan) {
- $membership_plans_prepared[] = [
- "value" => sanitize_title($plan["label"]),
- "label" => $plan["label"],
- "allowCustomAmount" => $plan["allow_custom_amount"] ?? false,
- "amount" => $plan["amount"],
- "currency" => $plan["currency"],
- "frequency" => $plan["frequency"],
- "description" => $plan["description"]
- ];
- }
-
- $webhook_url = $fields['custom_webhook_url'] ?? '';
- if (!$webhook_url) {
- $webhook_url = Settings::get("WEBHOOK_URL");
- }
- $webhook_uuid = Settings::getWebhookUuid($webhook_url);
-
- $use_postcode_lookup = false;
- $postcode_provider = Settings::get('POSTCODE_ADDRESS_PROVIDER');
- if ($postcode_provider === Settings::GET_ADDRESS_IO) {
- $apiKey = Settings::get(Settings::GET_ADDRESS_IO . '_api_key');
- $use_postcode_lookup = (bool) $apiKey;
- } else {
- $apiKey = Settings::get(Settings::IDEAL_POSTCODES . '_api_key');
- $use_postcode_lookup = (bool) $apiKey;
- }
-
- $environment = [
- 'HOME_URL' => $homeUrl,
- "WP_REST_API" => get_rest_url(),
- 'SUCCESS_REDIRECT' => $successRedirect,
- "ASK_FOR_ADDITIONAL_DONATION" => $fields['ask_for_additional_donation'] ?? false,
- 'CHARGEBEE_SITE_NAME' => Settings::get('CHARGEBEE_SITE_NAME'),
- "CHARGEBEE_API_PUBLISHABLE_KEY" => Settings::get('CHARGEBEE_API_PUBLISHABLE_KEY'),
- "COLLECT_COUNTY" => Settings::get("COLLECT_COUNTY"),
- "COLLECT_DATE_OF_BIRTH" => Settings::get("COLLECT_DATE_OF_BIRTH"),
- "COLLECT_PHONE_AND_EMAIL_CONTACT_CONSENT" => Settings::get("COLLECT_PHONE_AND_EMAIL_CONTACT_CONSENT"),
- "CREATE_AUTH0_ACCOUNT" => Settings::get("CREATE_AUTH0_ACCOUNT"),
- "HOME_ADDRESS_COPY" => wpautop(Settings::get("HOME_ADDRESS_COPY")),
- "MEMBERSHIP_TIERS_COPY" => wpautop(Settings::get("MEMBERSHIP_TIERS_COPY")),
- "IS_UPDATE_FLOW" => $fields['is_update_flow'] ?? false,
- "INCLUDE_SKIP_PAYMENT_BUTTON" => $fields['include_skip_payment_button'] ?? false,
- "MEMBERSHIP_PLANS" => $membership_plans_prepared,
- "ORGANISATION_NAME" => Settings::get("ORGANISATION_NAME"),
- "ORGANISATION_BANK_NAME" => Settings::get("ORGANISATION_BANK_NAME"),
- "ORGANISATION_EMAIL_ADDRESS" => Settings::get("ORGANISATION_EMAIL_ADDRESS"),
- "PASSWORD_PURPOSE" => wpautop(Settings::get("PASSWORD_PURPOSE")),
- "PRIVACY_COPY" => wpautop(Settings::get("PRIVACY_COPY")),
- "USE_CHARGEBEE" => Settings::get("USE_CHARGEBEE"),
- "USE_GOCARDLESS" => Settings::get("USE_GOCARDLESS"),
- "USE_GOCARDLESS_API" => Settings::get("USE_GOCARDLESS_API"),
- "USE_POSTCODE_LOOKUP" => $use_postcode_lookup,
- "USE_VARIABLE_MEMBERSHIP_PLAN" => $fields['use_variable_membership_plan'] ?? false,
- "WEBHOOK_UUID" => $webhook_uuid ? $webhook_uuid : '',
- ];
self::echoBlockCss();
- ?>
-
-
+ self::echoEnvironment($fields, self::NORMAL_BLOCK_MODE);
+ ?>
@@ -342,91 +269,12 @@ private static function registerMinimalJoinFormBlock()
));
$join_form_block->set_render_callback(function ($fields, $attributes, $inner_blocks) {
- global $joinBlockLog;
-
- if (is_multisite()) {
- $currentBlogId = get_current_blog_id();
- $homeUrl = get_home_url($currentBlogId);
- } else {
- $homeUrl = home_url();
- }
-
- $successRedirect = get_page_link($fields['joined_page'][0]['id']);
-
- $membership_plans = $fields['custom_membership_plans'] ?? [];
- if (!$membership_plans) {
- $membership_plans = Settings::get("MEMBERSHIP_PLANS") ?? [];
- }
-
- $membership_plans_prepared = [];
- foreach ($membership_plans as $plan) {
- $membership_plans_prepared[] = [
- "value" => sanitize_title($plan["label"]),
- "label" => $plan["label"],
- "allowCustomAmount" => $plan["allow_custom_amount"] ?? false,
- "amount" => $plan["amount"],
- "currency" => $plan["currency"],
- "frequency" => $plan["frequency"],
- "description" => $plan["description"]
- ];
- }
-
- $webhook_url = $fields['custom_webhook_url'] ?? '';
- if (!$webhook_url) {
- $webhook_url = Settings::get("WEBHOOK_URL");
- }
- $webhook_uuid = Settings::getWebhookUuid($webhook_url);
-
- $use_postcode_lookup = false;
- $postcode_provider = Settings::get('POSTCODE_ADDRESS_PROVIDER');
- if ($postcode_provider === Settings::GET_ADDRESS_IO) {
- $apiKey = Settings::get(Settings::GET_ADDRESS_IO . '_api_key');
- $use_postcode_lookup = (bool) $apiKey;
- } else {
- $apiKey = Settings::get(Settings::IDEAL_POSTCODES . '_api_key');
- $use_postcode_lookup = (bool) $apiKey;
- }
-
- $environment = [
- 'HOME_URL' => $homeUrl,
- "WP_REST_API" => get_rest_url(),
- 'SUCCESS_REDIRECT' => $successRedirect,
- "ASK_FOR_ADDITIONAL_DONATION" => $fields['ask_for_additional_donation'] ?? false,
- 'CHARGEBEE_SITE_NAME' => Settings::get('CHARGEBEE_SITE_NAME'),
- "CHARGEBEE_API_PUBLISHABLE_KEY" => Settings::get('CHARGEBEE_API_PUBLISHABLE_KEY'),
- "COLLECT_COUNTY" => Settings::get("COLLECT_COUNTY"),
- "COLLECT_DATE_OF_BIRTH" => Settings::get("COLLECT_DATE_OF_BIRTH"),
- "COLLECT_PHONE_AND_EMAIL_CONTACT_CONSENT" => Settings::get("COLLECT_PHONE_AND_EMAIL_CONTACT_CONSENT"),
- "CREATE_AUTH0_ACCOUNT" => Settings::get("CREATE_AUTH0_ACCOUNT"),
- "HOME_ADDRESS_COPY" => wpautop(Settings::get("HOME_ADDRESS_COPY")),
- "MEMBERSHIP_TIERS_COPY" => wpautop(Settings::get("MEMBERSHIP_TIERS_COPY")),
- "IS_UPDATE_FLOW" => $fields['is_update_flow'] ?? false,
- "INCLUDE_SKIP_PAYMENT_BUTTON" => $fields['include_skip_payment_button'] ?? false,
- "MEMBERSHIP_PLANS" => $membership_plans_prepared,
- "ORGANISATION_NAME" => Settings::get("ORGANISATION_NAME"),
- "ORGANISATION_BANK_NAME" => Settings::get("ORGANISATION_BANK_NAME"),
- "ORGANISATION_EMAIL_ADDRESS" => Settings::get("ORGANISATION_EMAIL_ADDRESS"),
- "PASSWORD_PURPOSE" => wpautop(Settings::get("PASSWORD_PURPOSE")),
- "PRIVACY_COPY" => wpautop(Settings::get("PRIVACY_COPY")),
- "USE_CHARGEBEE" => Settings::get("USE_CHARGEBEE"),
- "USE_GOCARDLESS" => Settings::get("USE_GOCARDLESS"),
- "USE_GOCARDLESS_API" => Settings::get("USE_GOCARDLESS_API"),
- "USE_POSTCODE_LOOKUP" => $use_postcode_lookup,
- "USE_VARIABLE_MEMBERSHIP_PLAN" => $fields['use_variable_membership_plan'] ?? false,
- "WEBHOOK_UUID" => $webhook_uuid ? $webhook_uuid : '',
- "USE_STRIPE" => Settings::get("USE_STRIPE"),
- "MINIMAL_JOIN_FORM" => true,
- "STRIPE_PUBLISHABLE_KEY" => Settings::get("STRIPE_PUBLISHABLE_KEY"),
- ];
- ?>
-
-
+ static::echoEnvironment($fields, self::MINIMAL_BLOCK_MODE);
+ ?>
- sanitize_title($plan["label"]),
+ "label" => $plan["label"],
+ "allowCustomAmount" => $plan["allow_custom_amount"] ?? false,
+ "amount" => $plan["amount"],
+ "currency" => $plan["currency"],
+ "frequency" => $plan["frequency"],
+ "description" => $plan["description"]
+ ];
+ }
+
+ $webhook_url = $fields['custom_webhook_url'] ?? '';
+ if (!$webhook_url) {
+ $webhook_url = Settings::get("WEBHOOK_URL");
+ }
+ $webhook_uuid = Settings::getWebhookUuid($webhook_url);
+
+ $use_postcode_lookup = false;
+ $postcode_provider = Settings::get('POSTCODE_ADDRESS_PROVIDER');
+ if ($postcode_provider === Settings::GET_ADDRESS_IO) {
+ $apiKey = Settings::get(Settings::GET_ADDRESS_IO . '_api_key');
+ $use_postcode_lookup = (bool) $apiKey;
+ } else {
+ $apiKey = Settings::get(Settings::IDEAL_POSTCODES . '_api_key');
+ $use_postcode_lookup = (bool) $apiKey;
+ }
+
+ $environment = [
+ 'HOME_URL' => $homeUrl,
+ "WP_REST_API" => get_rest_url(),
+ 'SUCCESS_REDIRECT' => $successRedirect,
+ "ASK_FOR_ADDITIONAL_DONATION" => $fields['ask_for_additional_donation'] ?? false,
+ 'CHARGEBEE_SITE_NAME' => Settings::get('CHARGEBEE_SITE_NAME'),
+ "CHARGEBEE_API_PUBLISHABLE_KEY" => Settings::get('CHARGEBEE_API_PUBLISHABLE_KEY'),
+ "COLLECT_COUNTY" => Settings::get("COLLECT_COUNTY"),
+ "COLLECT_DATE_OF_BIRTH" => Settings::get("COLLECT_DATE_OF_BIRTH"),
+ "COLLECT_PHONE_AND_EMAIL_CONTACT_CONSENT" => Settings::get("COLLECT_PHONE_AND_EMAIL_CONTACT_CONSENT"),
+ "CREATE_AUTH0_ACCOUNT" => Settings::get("CREATE_AUTH0_ACCOUNT"),
+ "HOME_ADDRESS_COPY" => wpautop(Settings::get("HOME_ADDRESS_COPY")),
+ "MEMBERSHIP_TIERS_COPY" => wpautop(Settings::get("MEMBERSHIP_TIERS_COPY")),
+ "MINIMAL_JOIN_FORM" => $block_mode === self::MINIMAL_BLOCK_MODE,
+ "IS_UPDATE_FLOW" => $fields['is_update_flow'] ?? false,
+ "INCLUDE_SKIP_PAYMENT_BUTTON" => $fields['include_skip_payment_button'] ?? false,
+ "MEMBERSHIP_PLANS" => $membership_plans_prepared,
+ "ORGANISATION_NAME" => Settings::get("ORGANISATION_NAME"),
+ "ORGANISATION_BANK_NAME" => Settings::get("ORGANISATION_BANK_NAME"),
+ "ORGANISATION_EMAIL_ADDRESS" => Settings::get("ORGANISATION_EMAIL_ADDRESS"),
+ "PASSWORD_PURPOSE" => wpautop(Settings::get("PASSWORD_PURPOSE")),
+ "PRIVACY_COPY" => wpautop(Settings::get("PRIVACY_COPY")),
+ "STRIPE_PUBLISHABLE_KEY" => Settings::get("STRIPE_PUBLISHABLE_KEY"),
+ "USE_CHARGEBEE" => Settings::get("USE_CHARGEBEE"),
+ "USE_GOCARDLESS" => Settings::get("USE_GOCARDLESS"),
+ "USE_GOCARDLESS_API" => Settings::get("USE_GOCARDLESS_API"),
+ "USE_MAILCHIMP" => Settings::get("USE_MAILCHIMP"),
+ "USE_POSTCODE_LOOKUP" => $use_postcode_lookup,
+ "USE_STRIPE" => Settings::get("USE_STRIPE"),
+ "USE_VARIABLE_MEMBERSHIP_PLAN" => $fields['use_variable_membership_plan'] ?? false,
+ "WEBHOOK_UUID" => $webhook_uuid ? $webhook_uuid : '',
+ ];
+ ?>
+
+
diff --git a/packages/join-block/src/Services/JoinService.php b/packages/join-block/src/Services/JoinService.php
index d1e4254..10b95ae 100644
--- a/packages/join-block/src/Services/JoinService.php
+++ b/packages/join-block/src/Services/JoinService.php
@@ -190,6 +190,18 @@ private static function tryHandleJoin($data)
}
}
+ if (Settings::get("USE_MAILCHIMP")) {
+ $email = $data['email'];
+ $joinBlockLog->info("Processing Mailchimp signup request for $email");
+ try {
+ MailchimpService::signup($email);
+ $joinBlockLog->info("Completed Mailchimp signup request for $email");
+ } catch (\Exception $exception) {
+ $joinBlockLog->error("Mailchimp error for email $email: " . $exception->getMessage());
+ throw $exception;
+ }
+ }
+
$webhookUuid = $data['webhookUuid'] ?? '';
if ($webhookUuid) {
$webhookUrl = Settings::getWebhookUrl($webhookUuid);
diff --git a/packages/join-block/src/Services/MailchimpService.php b/packages/join-block/src/Services/MailchimpService.php
new file mode 100644
index 0000000..73f2847
--- /dev/null
+++ b/packages/join-block/src/Services/MailchimpService.php
@@ -0,0 +1,43 @@
+info("Adding $email to Mailchimp");
+
+ $mailchimp_api_key = Settings::get("MAILCHIMP_API_KEY");
+ $mailchimp_audience_id = Settings::get("MAILCHIMP_AUDIENCE_ID");
+ # Server name (e.g. us22) is at the end of the API key (e.g. ...-us22)
+ $array_key_parts = explode("-", $mailchimp_api_key);
+ $server = array_pop($array_key_parts);
+ $mailchimp = new ApiClient();
+ $mailchimp->setConfig([
+ 'apiKey' => $mailchimp_api_key,
+ 'server' => $server
+ ]);
+
+ try {
+ $mailchimp->lists->addListMember($mailchimp_audience_id, [
+ "email_address" => $email,
+ "status" => "subscribed",
+ ]);
+ $joinBlockLog->info("$email added to Mailchimp");
+ } catch (\GuzzleHttp\Exception\ClientException $e) {
+ $alreadySignedUp = str_contains($e->getMessage(), "Member Exists");
+ if ($alreadySignedUp) {
+ $joinBlockLog->info("$email already in Mailchimp");
+ } else {
+ throw $e;
+ }
+ }
+
+ }
+}
diff --git a/packages/join-block/src/Settings.php b/packages/join-block/src/Settings.php
index cc395d5..2625113 100644
--- a/packages/join-block/src/Settings.php
+++ b/packages/join-block/src/Settings.php
@@ -44,7 +44,9 @@ public static function init()
->set_help_text('Requires a GoCardless Pro account with the custom pages addon'),
Field::make('checkbox', 'use_chargebee'),
Field::make('checkbox', 'use_stripe', 'Use Stripe')
- ->set_help_text('Use Stripe as a payment provider')
+ ->set_help_text('Use Stripe as a payment provider'),
+ Field::make('checkbox', 'use_mailchimp', 'Use Mailchimp')
+ ->set_help_text('Save responses in Mailchimp')
];
$membership_plans_fields = [
@@ -99,6 +101,10 @@ public static function init()
Field::make('text', self::IDEAL_POSTCODES . '_api_key', 'Ideal Postcodes API Key'),
Field::make('text', self::GET_ADDRESS_IO . '_api_key', 'getAddress.io API Key'),
+ Field::make('separator', 'mailchimp', 'Mailchimp'),
+ Field::make('text', 'mailchimp_api_key', 'Mailchimp API key')->set_help_text('Instructions here under "Generate an API key": https://eepurl.com/dyijVH'),
+ Field::make('text', 'mailchimp_audience_id', 'Mailchimp audience ID')->set_help_text('Instructions here under "Find Your Audience ID": https://eepurl.com/dyilJL'),
+
Field::make('separator', 'webhook'),
Field::make('text', 'step_webhook_url')->set_help_text('Webhook called after each step of the form'),
Field::make('text', 'webhook_url', 'Join Complete Webhook URL')->set_help_text('Webhook called after the join process is complete'),
@@ -137,8 +143,8 @@ public static function init()
$logging_fields[] = $logField;
Container::make('theme_options', CONTAINER_ID, 'Join')
- ->add_tab('Features', $feature_fields)
->add_tab('Membership Plans', $membership_plans_fields)
+ ->add_tab('Features', $feature_fields)
->add_tab('Theme', $theme_fields)
->add_tab('Copy', $copy_fields)
->add_tab('Integrations', $integration_fields)
diff --git a/packages/join-flow/.env.example b/packages/join-flow/.env.example
index 1ebcc99..c85d489 100644
--- a/packages/join-flow/.env.example
+++ b/packages/join-flow/.env.example
@@ -24,6 +24,7 @@ REACT_APP_INCLUDE_SKIP_PAYMENT_BUTTON=
REACT_APP_USE_CHARGEBEE=
REACT_APP_USE_GOCARDLESS=
REACT_APP_USE_GOCARDLESS_API=
+REACT_APP_USE_MAILCHIMP=
REACT_APP_USE_POSTCODE_LOOKUP=
# JSON encoded variables
diff --git a/packages/join-flow/package-lock.json b/packages/join-flow/package-lock.json
index 5d9d4a6..bf4091f 100644
--- a/packages/join-flow/package-lock.json
+++ b/packages/join-flow/package-lock.json
@@ -18,6 +18,8 @@
"@hookform/error-message": "^0.0.4",
"@hookform/resolvers": "^1.0.0",
"@ideal-postcodes/core-browser": "^1.3.0",
+ "@stripe/react-stripe-js": "^2.8.0",
+ "@stripe/stripe-js": "^4.4.0",
"babel-loader": "^9.1.3",
"bootstrap": "^4.5.2",
"css-loader": "^6.8.1",
@@ -2187,6 +2189,27 @@
"node": ">=4"
}
},
+ "node_modules/@stripe/react-stripe-js": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/@stripe/react-stripe-js/-/react-stripe-js-2.8.1.tgz",
+ "integrity": "sha512-C410jVKOATinXLalWotab6E6jlWAlbqUDWL9q1km0p5UHrvnihjjYzA8imYXc4xc4Euf9GeKDQc4n35HKZvgwg==",
+ "dependencies": {
+ "prop-types": "^15.7.2"
+ },
+ "peerDependencies": {
+ "@stripe/stripe-js": "^1.44.1 || ^2.0.0 || ^3.0.0 || ^4.0.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
+ "node_modules/@stripe/stripe-js": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/@stripe/stripe-js/-/stripe-js-4.7.0.tgz",
+ "integrity": "sha512-Dfdg8UumBu+zDnBgGw30zEE9PIm8lunDUuwy2Bois9bb2sxCohVbD1PpAnasPIZhYfIbigmTHEr/Hg+56Vue6A==",
+ "engines": {
+ "node": ">=12.16"
+ }
+ },
"node_modules/@tootallnate/once": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz",
diff --git a/packages/join-flow/src/env.ts b/packages/join-flow/src/env.ts
index 6035eda..8a28906 100644
--- a/packages/join-flow/src/env.ts
+++ b/packages/join-flow/src/env.ts
@@ -13,28 +13,32 @@ interface StaticEnv {
ORGANISATION_NAME: string;
ORGANISATION_BANK_NAME: string;
ORGANISATION_EMAIL_ADDRESS: string;
+ MINIMAL_JOIN_FORM: boolean;
PASSWORD_PURPOSE: string;
PRIVACY_COPY: string;
+ STRIPE_PUBLISHABLE_KEY: string;
SUCCESS_REDIRECT: string;
IS_UPDATE_FLOW: boolean; // email must be provided through a URL parameter
INCLUDE_SKIP_PAYMENT_BUTTON: boolean;
USE_CHARGEBEE: boolean;
USE_GOCARDLESS: boolean;
USE_GOCARDLESS_API: boolean;
+ USE_MAILCHIMP: boolean;
USE_POSTCODE_LOOKUP: boolean;
USE_TEST_DATA: boolean;
WEBHOOK_UUID: string; // Connected to a URL in the wp_options table: `SELECT option_name FROM wp_options where option_value = :uuid`
WP_REST_API: string;
- MINIMAL_JOIN_FORM: boolean;
- STRIPE_PUBLISHABLE_KEY: string;
}
const parseBooleanEnvVar = (name: string): boolean => {
return Boolean(
- process.env[`REACT_APP_${name}`] && process.env[`REACT_APP_${name}`] !== "false"
+ process.env[name] && process.env[name] !== "false"
)
}
+// This object holds the values that are in the .env file on disk.
+// Dynamic values from the WordPress settings page are available in window.process.env.
+// The get() function below checks the dynamic values first, and falls back to this object.
const staticEnv: StaticEnv = {
ASK_FOR_ADDITIONAL_DONATION: parseBooleanEnvVar("REACT_APP_ASK_FOR_ADDITIONAL_DONATION"),
CHARGEBEE_API_PUBLISHABLE_KEY: process.env.REACT_APP_CHARGEBEE_API_PUBLISHABLE_KEY || '',
@@ -47,23 +51,24 @@ const staticEnv: StaticEnv = {
HOME_ADDRESS_COPY: process.env.REACT_APP_HOME_ADDRESS_COPY || '',
MEMBERSHIP_PLANS: JSON.parse(process.env.REACT_APP_MEMBERSHIP_PLANS || '[]') as object[],
MEMBERSHIP_TIERS_COPY: process.env.REACT_APP_MEMBERSHIP_TIERS_COPY || '',
+ MINIMAL_JOIN_FORM: parseBooleanEnvVar("REACT_APP_MINIMAL_JOIN_FORM"),
ORGANISATION_NAME: process.env.REACT_APP_ORGANISATION_NAME || '',
ORGANISATION_BANK_NAME: process.env.REACT_APP_ORGANISATION_BANK_NAME || '',
ORGANISATION_EMAIL_ADDRESS: process.env.REACT_APP_ORGANISATION_EMAIL_ADDRESS || '',
PASSWORD_PURPOSE: process.env.REACT_APP_PASSWORD_PURPOSE || '',
PRIVACY_COPY: process.env.REACT_APP_PRIVACY_COPY || '',
+ STRIPE_PUBLISHABLE_KEY: process.env.REACT_STRIPE_PUBLISHABLE_KEY || '',
SUCCESS_REDIRECT: '/',
IS_UPDATE_FLOW: parseBooleanEnvVar("REACT_APP_IS_UPDATE_FLOW"),
INCLUDE_SKIP_PAYMENT_BUTTON: parseBooleanEnvVar("REACT_APP_INCLUDE_SKIP_PAYMENT_BUTTON"),
USE_CHARGEBEE: parseBooleanEnvVar("REACT_APP_USE_CHARGEBEE"),
USE_GOCARDLESS: parseBooleanEnvVar("REACT_APP_USE_GOCARDLESS"),
USE_GOCARDLESS_API: parseBooleanEnvVar("REACT_APP_USE_GOCARDLESS_API"),
+ USE_MAILCHIMP: parseBooleanEnvVar("REACT_APP_USE_MAILCHIMP"),
USE_POSTCODE_LOOKUP: parseBooleanEnvVar("REACT_APP_USE_POSTCODE_LOOKUP"),
USE_TEST_DATA: parseBooleanEnvVar("REACT_APP_USE_TEST_DATA"),
WEBHOOK_UUID: process.env.WEBHOOK_UUID || '',
WP_REST_API: '',
- MINIMAL_JOIN_FORM: parseBooleanEnvVar("MINIMAL_JOIN_FORM"),
- STRIPE_PUBLISHABLE_KEY: process.env.REACT_STRIPE_PUBLISHABLE_KEY || ''
}
export const get = (envVar: keyof StaticEnv): object[]|boolean|string => {
diff --git a/packages/join-flow/webpack/common.js b/packages/join-flow/webpack/common.js
index bed4d67..5408074 100644
--- a/packages/join-flow/webpack/common.js
+++ b/packages/join-flow/webpack/common.js
@@ -52,16 +52,14 @@ module.exports = {
new HtmlWebpackPlugin({
template: resolve(__dirname, "../public/index.html")
}),
- new webpack.DefinePlugin(
- Object.assign(
- { "process.env": JSON.stringify({}) },
- ...Object.keys(process.env)
- .filter((x) => x.startsWith("REACT_APP_"))
- .map((key) => ({
- [`process.env.${key}`]: JSON.stringify(process.env[key])
- }))
- )
- )
+ new webpack.DefinePlugin({
+ "process.env": Object.keys(process.env).reduce((env, key) => {
+ if (key.startsWith("REACT_APP_")) {
+ env[key] = process.env[key]
+ }
+ return env
+ }, {})
+ })
],
performance: {
hints: "warning"
diff --git a/packages/join-flow/yarn.lock b/packages/join-flow/yarn.lock
index 18fe994..3762d0f 100644
--- a/packages/join-flow/yarn.lock
+++ b/packages/join-flow/yarn.lock
@@ -23,7 +23,7 @@
resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz"
integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==
-"@babel/core@^7.23.6":
+"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.0.0-0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.12.0", "@babel/core@^7.13.0", "@babel/core@^7.23.6", "@babel/core@^7.4.0 || ^8.0.0-0 <8.0.0":
version "7.23.6"
resolved "https://registry.npmjs.org/@babel/core/-/core-7.23.6.tgz"
integrity sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw==
@@ -1001,7 +1001,7 @@
resolved "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz"
integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==
-"@babel/runtime@^7.15.4", "@babel/runtime@^7.8.4":
+"@babel/runtime@^7.15.4":
version "7.23.6"
resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.6.tgz"
integrity sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==
@@ -1015,7 +1015,21 @@
dependencies:
regenerator-runtime "^0.13.4"
-"@babel/runtime@^7.4.5", "@babel/runtime@^7.8.7":
+"@babel/runtime@^7.4.5":
+ version "7.9.0"
+ resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.0.tgz"
+ integrity sha512-cTIudHnzuWLS56ik4DnRnqqNf8MkdUzV4iFFI1h7Jo9xvrpQROYaAnaSd2mHLQAzzZAPfATynX5ord6YlNYNMA==
+ dependencies:
+ regenerator-runtime "^0.13.4"
+
+"@babel/runtime@^7.8.4":
+ version "7.23.6"
+ resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.6.tgz"
+ integrity sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==
+ dependencies:
+ regenerator-runtime "^0.14.0"
+
+"@babel/runtime@^7.8.7":
version "7.9.0"
resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.0.tgz"
integrity sha512-cTIudHnzuWLS56ik4DnRnqqNf8MkdUzV4iFFI1h7Jo9xvrpQROYaAnaSd2mHLQAzzZAPfATynX5ord6YlNYNMA==
@@ -1146,7 +1160,7 @@
"@nodelib/fs.stat" "2.0.5"
run-parallel "^1.1.9"
-"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
+"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5":
version "2.0.5"
resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz"
integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
@@ -1215,16 +1229,16 @@
integrity sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==
"@stripe/react-stripe-js@^2.8.0":
- version "2.8.0"
- resolved "https://registry.yarnpkg.com/@stripe/react-stripe-js/-/react-stripe-js-2.8.0.tgz#ffb6c13ed8dca45fbc234890c8ccfcf94a28893a"
- integrity sha512-Vf1gNEuBxA9EtxiLghm2ZWmgbADNMJw4HW6eolUu0DON/6mZvWZgk0KHolN0sozNJwYp0i/8hBsDBcBUWcvnbw==
+ version "2.8.1"
+ resolved "https://registry.npmjs.org/@stripe/react-stripe-js/-/react-stripe-js-2.8.1.tgz"
+ integrity sha512-C410jVKOATinXLalWotab6E6jlWAlbqUDWL9q1km0p5UHrvnihjjYzA8imYXc4xc4Euf9GeKDQc4n35HKZvgwg==
dependencies:
prop-types "^15.7.2"
-"@stripe/stripe-js@^4.4.0":
- version "4.4.0"
- resolved "https://registry.yarnpkg.com/@stripe/stripe-js/-/stripe-js-4.4.0.tgz#7b5b84c1366ef4916df7ac2c95c80cf79613f83e"
- integrity sha512-p1WeTOwnAyXQ9I5/YC3+JXoUB6NKMR4qGjBobie2+rgYa3ftUTRS2L5qRluw/tGACty5SxqnfORCdsaymD1XjQ==
+"@stripe/stripe-js@^1.44.1 || ^2.0.0 || ^3.0.0 || ^4.0.0", "@stripe/stripe-js@^4.4.0":
+ version "4.7.0"
+ resolved "https://registry.npmjs.org/@stripe/stripe-js/-/stripe-js-4.7.0.tgz"
+ integrity sha512-Dfdg8UumBu+zDnBgGw30zEE9PIm8lunDUuwy2Bois9bb2sxCohVbD1PpAnasPIZhYfIbigmTHEr/Hg+56Vue6A==
"@tootallnate/once@1":
version "1.1.2"
@@ -1435,7 +1449,7 @@
dependencies:
"@types/react" "*"
-"@types/react@*", "@types/react@^16.9.11", "@types/react@^16.9.35":
+"@types/react@*", "@types/react@^15.0.0 || ^16.0.0 || ^17.0.0", "@types/react@^16.9.11", "@types/react@^16.9.35":
version "16.9.49"
resolved "https://registry.npmjs.org/@types/react/-/react-16.9.49.tgz"
integrity sha512-DtLFjSj0OYAdVLBbyjhuV9CdGVHCkHn2R+xr3XkBvK2rS1Y1tkc14XSGjYgm5Fjjr90AxH9tiSzc1pCFMGO06g==
@@ -1506,7 +1520,7 @@
resolved "https://registry.npmjs.org/@types/yup/-/yup-0.29.7.tgz"
integrity sha512-x3Zeh8/qLZ6fG4S1EztI1S1mLj6N1pSUV1PAj/9finZba48d3Maxtyz4WYNUY0NE76u1KSukfNLkjcRlb+O00g==
-"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5":
+"@webassemblyjs/ast@^1.11.5", "@webassemblyjs/ast@1.11.6":
version "1.11.6"
resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz"
integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==
@@ -1607,7 +1621,7 @@
"@webassemblyjs/wasm-gen" "1.11.6"
"@webassemblyjs/wasm-parser" "1.11.6"
-"@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5":
+"@webassemblyjs/wasm-parser@^1.11.5", "@webassemblyjs/wasm-parser@1.11.6":
version "1.11.6"
resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz"
integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==
@@ -1670,7 +1684,7 @@ acorn-import-assertions@^1.9.0:
resolved "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz"
integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==
-acorn@^8.7.1, acorn@^8.8.2:
+acorn@^8, acorn@^8.7.1, acorn@^8.8.2:
version "8.11.2"
resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz"
integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==
@@ -1686,7 +1700,7 @@ adjust-sourcemap-loader@2.0.0:
object-path "0.11.4"
regex-parser "2.2.10"
-agent-base@6, agent-base@^6.0.2:
+agent-base@^6.0.2, agent-base@6:
version "6.0.2"
resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz"
integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==
@@ -1727,7 +1741,7 @@ ajv-keywords@^5.1.0:
dependencies:
fast-deep-equal "^3.1.3"
-ajv@^6.12.4, ajv@^6.12.5:
+ajv@^6.12.4, ajv@^6.12.5, ajv@^6.9.1:
version "6.12.6"
resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz"
integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
@@ -1737,7 +1751,7 @@ ajv@^6.12.4, ajv@^6.12.5:
json-schema-traverse "^0.4.1"
uri-js "^4.2.2"
-ajv@^8.0.0, ajv@^8.9.0:
+ajv@^8.0.0, ajv@^8.8.2, ajv@^8.9.0:
version "8.12.0"
resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz"
integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==
@@ -1764,7 +1778,14 @@ ansi-styles@^3.2.1:
dependencies:
color-convert "^1.9.0"
-ansi-styles@^4.0.0, ansi-styles@^4.1.0:
+ansi-styles@^4.0.0:
+ version "4.3.0"
+ resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz"
+ integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
+ dependencies:
+ color-convert "^2.0.1"
+
+ansi-styles@^4.1.0:
version "4.3.0"
resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz"
integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
@@ -1817,16 +1838,16 @@ array-buffer-byte-length@^1.0.0:
call-bind "^1.0.2"
is-array-buffer "^3.0.1"
-array-flatten@1.1.1:
- version "1.1.1"
- resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz"
- integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==
-
array-flatten@^2.1.2:
version "2.1.2"
resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz"
integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==
+array-flatten@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz"
+ integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==
+
array-union@^2.1.0:
version "2.1.0"
resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz"
@@ -2045,7 +2066,7 @@ braces@^3.0.2, braces@~3.0.2:
dependencies:
fill-range "^7.0.1"
-browserslist@^4.14.5, browserslist@^4.22.2:
+browserslist@^4.14.5, browserslist@^4.22.2, "browserslist@>= 4.21.0":
version "4.22.2"
resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz"
integrity sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==
@@ -2188,16 +2209,16 @@ camelcase-keys@^6.2.2:
map-obj "^4.0.0"
quick-lru "^4.0.1"
+camelcase@^5.3.1, camelcase@5.3.1:
+ version "5.3.1"
+ resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz"
+ integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
+
camelcase@5.0.0:
version "5.0.0"
resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz"
integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==
-camelcase@5.3.1, camelcase@^5.3.1:
- version "5.3.1"
- resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz"
- integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
-
caniuse-lite@^1.0.30001565:
version "1.0.30001568"
resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001568.tgz"
@@ -2311,16 +2332,16 @@ color-convert@^2.0.1:
dependencies:
color-name "~1.1.4"
-color-name@1.1.3:
- version "1.1.3"
- resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
- integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
-
color-name@~1.1.4:
version "1.1.4"
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+color-name@1.1.3:
+ version "1.1.3"
+ resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
+ integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
+
color-support@^1.1.3:
version "1.1.3"
resolved "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz"
@@ -2411,13 +2432,6 @@ console-control-strings@^1.1.0:
resolved "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz"
integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==
-content-disposition@0.5.4:
- version "0.5.4"
- resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz"
- integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==
- dependencies:
- safe-buffer "5.2.1"
-
content-disposition@^0.5.2:
version "0.5.3"
resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz"
@@ -2425,18 +2439,18 @@ content-disposition@^0.5.2:
dependencies:
safe-buffer "5.1.2"
+content-disposition@0.5.4:
+ version "0.5.4"
+ resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz"
+ integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==
+ dependencies:
+ safe-buffer "5.2.1"
+
content-type@~1.0.4:
version "1.0.5"
resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz"
integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==
-convert-source-map@1.7.0:
- version "1.7.0"
- resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz"
- integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==
- dependencies:
- safe-buffer "~5.1.1"
-
convert-source-map@^0.3.3:
version "0.3.5"
resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz"
@@ -2447,6 +2461,13 @@ convert-source-map@^2.0.0:
resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz"
integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==
+convert-source-map@1.7.0:
+ version "1.7.0"
+ resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz"
+ integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==
+ dependencies:
+ safe-buffer "~5.1.1"
+
cookie-signature@1.0.6:
version "1.0.6"
resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz"
@@ -2485,7 +2506,18 @@ cross-spawn@^5.0.1:
shebang-command "^1.2.0"
which "^1.2.9"
-cross-spawn@^6.0.0, cross-spawn@^6.0.5:
+cross-spawn@^6.0.0:
+ version "6.0.5"
+ resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz"
+ integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
+ dependencies:
+ nice-try "^1.0.4"
+ path-key "^2.0.1"
+ semver "^5.5.0"
+ shebang-command "^1.2.0"
+ which "^1.2.9"
+
+cross-spawn@^6.0.5:
version "6.0.5"
resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz"
integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
@@ -2578,7 +2610,7 @@ cwebp-bin@^7.0.1:
bin-build "^3.0.0"
bin-wrapper "^4.0.1"
-d@1, d@^1.0.1:
+d@^1.0.1, d@1:
version "1.0.1"
resolved "https://registry.npmjs.org/d/-/d-1.0.1.tgz"
integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==
@@ -2591,6 +2623,13 @@ date-fns@^2.16.1:
resolved "https://registry.npmjs.org/date-fns/-/date-fns-2.16.1.tgz"
integrity sha512-sAJVKx/FqrLYHAQeN7VpJrPhagZc9R4ImZIWYRFZaaohR3KzmuK88touwsSwSVT8Qcbd4zoDsnGfX4GFB4imyQ==
+debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.3, debug@4:
+ version "4.3.4"
+ resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz"
+ integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
+ dependencies:
+ ms "2.1.2"
+
debug@2.6.9:
version "2.6.9"
resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
@@ -2598,13 +2637,6 @@ debug@2.6.9:
dependencies:
ms "2.0.0"
-debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.3:
- version "4.3.4"
- resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz"
- integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
- dependencies:
- ms "2.1.2"
-
decamelize-keys@^1.1.0:
version "1.1.1"
resolved "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz"
@@ -2718,16 +2750,16 @@ delegates@^1.0.0:
resolved "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz"
integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==
-depd@2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz"
- integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
-
depd@~1.1.2:
version "1.1.2"
resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz"
integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==
+depd@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz"
+ integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
+
destroy@1.2.0:
version "1.2.0"
resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz"
@@ -3024,7 +3056,7 @@ es5-ext@^0.10.35, es5-ext@^0.10.50:
es6-symbol "~3.1.3"
next-tick "~1.0.0"
-es6-iterator@2.0.3, es6-iterator@~2.0.3:
+es6-iterator@~2.0.3, es6-iterator@2.0.3:
version "2.0.3"
resolved "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz"
integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c=
@@ -3293,12 +3325,12 @@ fd-slicer@~1.1.0:
dependencies:
pend "~1.2.0"
-file-type@5.2.0, file-type@^5.2.0:
- version "5.2.0"
- resolved "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz"
- integrity sha1-LdvqfHP/42No365J3DOMBYwritY=
+file-type@^10.4.0:
+ version "10.11.0"
+ resolved "https://registry.npmjs.org/file-type/-/file-type-10.11.0.tgz"
+ integrity sha512-uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw==
-file-type@^10.4.0, file-type@^10.5.0:
+file-type@^10.5.0:
version "10.11.0"
resolved "https://registry.npmjs.org/file-type/-/file-type-10.11.0.tgz"
integrity sha512-uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw==
@@ -3318,6 +3350,11 @@ file-type@^4.2.0:
resolved "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz"
integrity sha1-G2AOX8ofvcboDApwxxyNul95BsU=
+file-type@^5.2.0, file-type@5.2.0:
+ version "5.2.0"
+ resolved "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz"
+ integrity sha1-LdvqfHP/42No365J3DOMBYwritY=
+
file-type@^6.1.0:
version "6.2.0"
resolved "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz"
@@ -3528,11 +3565,6 @@ get-stdin@^4.0.1:
resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz"
integrity sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==
-get-stream@3.0.0, get-stream@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz"
- integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=
-
get-stream@^2.2.0:
version "2.3.1"
resolved "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz"
@@ -3541,6 +3573,11 @@ get-stream@^2.2.0:
object-assign "^4.0.1"
pinkie-promise "^2.0.0"
+get-stream@^3.0.0, get-stream@3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz"
+ integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=
+
get-stream@^4.0.0:
version "4.1.0"
resolved "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz"
@@ -3878,21 +3915,31 @@ htmlparser2@^6.1.0:
domutils "^2.5.2"
entities "^2.0.0"
-http-cache-semantics@3.8.1:
- version "3.8.1"
- resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz"
- integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==
-
http-cache-semantics@^4.1.0:
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==
+http-cache-semantics@3.8.1:
+ version "3.8.1"
+ resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz"
+ integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==
+
http-deceiver@^1.2.7:
version "1.2.7"
resolved "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz"
integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==
+http-errors@~1.6.2:
+ version "1.6.3"
+ resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz"
+ integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==
+ dependencies:
+ depd "~1.1.2"
+ inherits "2.0.3"
+ setprototypeof "1.1.0"
+ statuses ">= 1.4.0 < 2"
+
http-errors@2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz"
@@ -3904,16 +3951,6 @@ http-errors@2.0.0:
statuses "2.0.1"
toidentifier "1.0.1"
-http-errors@~1.6.2:
- version "1.6.3"
- resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz"
- integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==
- dependencies:
- depd "~1.1.2"
- inherits "2.0.3"
- setprototypeof "1.1.0"
- statuses ">= 1.4.0 < 2"
-
http-parser-js@>=0.5.1:
version "0.5.8"
resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz"
@@ -3982,13 +4019,6 @@ humanize-ms@^1.2.1:
dependencies:
ms "^2.0.0"
-iconv-lite@0.4.24:
- version "0.4.24"
- resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz"
- integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
- dependencies:
- safer-buffer ">= 2.1.2 < 3"
-
iconv-lite@^0.6.2:
version "0.6.3"
resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz"
@@ -3996,6 +4026,13 @@ iconv-lite@^0.6.2:
dependencies:
safer-buffer ">= 2.1.2 < 3.0.0"
+iconv-lite@0.4.24:
+ version "0.4.24"
+ resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz"
+ integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
+ dependencies:
+ safer-buffer ">= 2.1.2 < 3"
+
icss-utils@^5.0.0, icss-utils@^5.1.0:
version "5.1.0"
resolved "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz"
@@ -4132,7 +4169,7 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"
-inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3:
+inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3, inherits@2, inherits@2.0.4:
version "2.0.4"
resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
@@ -4186,16 +4223,16 @@ ip@^2.0.0:
resolved "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz"
integrity sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==
-ipaddr.js@1.9.1:
- 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==
-
ipaddr.js@^2.0.1:
version "2.1.0"
resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz"
integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==
+ipaddr.js@1.9.1:
+ 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==
+
is-array-buffer@^3.0.1, is-array-buffer@^3.0.2:
version "3.0.2"
resolved "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz"
@@ -4460,6 +4497,11 @@ jest-worker@^27.4.5:
merge-stream "^2.0.0"
supports-color "^8.0.0"
+"jquery@1.9.1 - 3":
+ version "3.7.1"
+ resolved "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz"
+ integrity sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==
+
js-base64@^2.4.9:
version "2.6.4"
resolved "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz"
@@ -4562,15 +4604,6 @@ loader-runner@^4.2.0:
resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz"
integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==
-loader-utils@1.2.3:
- version "1.2.3"
- resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz"
- integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==
- dependencies:
- big.js "^5.2.2"
- emojis-list "^2.0.0"
- json5 "^1.0.1"
-
loader-utils@^2.0.0, loader-utils@^2.0.3:
version "2.0.4"
resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz"
@@ -4580,6 +4613,15 @@ loader-utils@^2.0.0, loader-utils@^2.0.3:
emojis-list "^3.0.0"
json5 "^2.1.2"
+loader-utils@1.2.3:
+ version "1.2.3"
+ resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz"
+ integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==
+ dependencies:
+ big.js "^5.2.2"
+ emojis-list "^2.0.0"
+ json5 "^1.0.1"
+
locate-path@^5.0.0:
version "5.0.0"
resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz"
@@ -4633,16 +4675,16 @@ lower-case@^2.0.2:
dependencies:
tslib "^2.0.3"
-lowercase-keys@1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz"
- integrity sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=
-
lowercase-keys@^1.0.0:
version "1.0.1"
resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz"
integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==
+lowercase-keys@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz"
+ integrity sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=
+
lru-cache@^4.0.1:
version "4.1.5"
resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz"
@@ -4806,16 +4848,16 @@ micromatch@^4.0.2, micromatch@^4.0.4:
braces "^3.0.2"
picomatch "^2.3.1"
-mime-db@1.52.0, "mime-db@>= 1.43.0 < 2":
- version "1.52.0"
- resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz"
- integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
-
mime-db@^1.28.0:
version "1.45.0"
resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz"
integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==
+"mime-db@>= 1.43.0 < 2", mime-db@1.52.0:
+ version "1.52.0"
+ resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz"
+ integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
+
mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34:
version "2.1.35"
resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz"
@@ -4973,6 +5015,11 @@ mozjpeg@^7.0.0:
bin-build "^3.0.0"
bin-wrapper "^4.0.0"
+ms@^2.0.0, ms@2.1.3:
+ version "2.1.3"
+ resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz"
+ integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
+
ms@2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
@@ -4983,11 +5030,6 @@ ms@2.1.2:
resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
-ms@2.1.3, ms@^2.0.0:
- version "2.1.3"
- resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz"
- integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
-
multicast-dns@^7.2.5:
version "7.2.5"
resolved "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz"
@@ -5011,7 +5053,7 @@ nanoid@^3.3.7:
resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz"
integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==
-negotiator@0.6.3, negotiator@^0.6.2, negotiator@^0.6.3:
+negotiator@^0.6.2, negotiator@^0.6.3, negotiator@0.6.3:
version "0.6.3"
resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz"
integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
@@ -5065,7 +5107,7 @@ node-releases@^2.0.14:
resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz"
integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==
-node-sass@^9.0.0:
+"node-sass@^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", node-sass@^9.0.0:
version "9.0.0"
resolved "https://registry.npmjs.org/node-sass/-/node-sass-9.0.0.tgz"
integrity sha512-yltEuuLrfH6M7Pq2gAj5B6Zm7m+gdZoG66wTqG6mIZV/zijq3M2OO2HswtT6oBspPyFhHDcaxWpsBm0fRNDHPg==
@@ -5156,7 +5198,14 @@ npm-run-path@^2.0.0:
dependencies:
path-key "^2.0.0"
-npm-run-path@^4.0.0, npm-run-path@^4.0.1:
+npm-run-path@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz"
+ integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
+ dependencies:
+ path-key "^3.0.0"
+
+npm-run-path@^4.0.1:
version "4.0.1"
resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz"
integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
@@ -5444,7 +5493,12 @@ path-key@^2.0.0, path-key@^2.0.1:
resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz"
integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=
-path-key@^3.0.0, path-key@^3.1.0:
+path-key@^3.0.0:
+ version "3.1.1"
+ resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz"
+ integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
+
+path-key@^3.1.0:
version "3.1.1"
resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz"
integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
@@ -5491,7 +5545,12 @@ pidtree@^0.3.0:
resolved "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz"
integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==
-pify@^2.2.0, pify@^2.3.0:
+pify@^2.2.0:
+ version "2.3.0"
+ resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz"
+ integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw=
+
+pify@^2.3.0:
version "2.3.0"
resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz"
integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw=
@@ -5541,6 +5600,11 @@ pngquant-bin@^6.0.0:
bin-wrapper "^4.0.1"
execa "^4.0.0"
+popper.js@^1.16.1:
+ version "1.16.1"
+ resolved "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz"
+ integrity sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==
+
postcss-modules-extract-imports@^3.0.0:
version "3.0.0"
resolved "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz"
@@ -5582,6 +5646,15 @@ postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0:
resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz"
integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
+postcss@^8.1.0, postcss@^8.4.21:
+ version "8.4.32"
+ resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz"
+ integrity sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==
+ dependencies:
+ nanoid "^3.3.7"
+ picocolors "^1.0.0"
+ source-map-js "^1.0.2"
+
postcss@7.0.21:
version "7.0.21"
resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.21.tgz"
@@ -5591,15 +5664,6 @@ postcss@7.0.21:
source-map "^0.6.1"
supports-color "^6.1.0"
-postcss@^8.4.21:
- version "8.4.32"
- resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz"
- integrity sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==
- dependencies:
- nanoid "^3.3.7"
- picocolors "^1.0.0"
- source-map-js "^1.0.2"
-
prepend-http@^1.0.1:
version "1.0.4"
resolved "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz"
@@ -5780,7 +5844,7 @@ react-bootstrap@^1.3.0:
uncontrollable "^7.0.0"
warning "^4.0.3"
-react-dom@^16.13.1:
+"react-dom@^15.0.0 || ^16.0.0 || ^17.0.0", react-dom@^16.13.1, "react-dom@^16.8.0 || ^17.0.0 || ^18.0.0", react-dom@>=16.3.0, react-dom@>=16.6.0, react-dom@>=16.8.0:
version "16.13.1"
resolved "https://registry.npmjs.org/react-dom/-/react-dom-16.13.1.tgz"
integrity sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag==
@@ -5790,7 +5854,7 @@ react-dom@^16.13.1:
prop-types "^15.6.2"
scheduler "^0.19.1"
-react-hook-form@^6.8.6:
+react-hook-form@^6.8.6, react-hook-form@>=6.0.0, react-hook-form@>=6.6.0:
version "6.8.6"
resolved "https://registry.npmjs.org/react-hook-form/-/react-hook-form-6.8.6.tgz"
integrity sha512-ZCp7Y+IrlsQma08uy3H6l/qF7dZWqAWMkZ4vVbHVfh1EHjsO1SwU7aYVHgJSQpriHtEdGszCW8NS/aujGsLk0g==
@@ -5843,7 +5907,7 @@ react-transition-group@^4.4.1:
loose-envify "^1.4.0"
prop-types "^15.6.2"
-react@^16.13.1:
+"react@^15.0.0 || ^16.0.0 || ^17.0.0", react@^16.13.1, react@^16.8.0, "react@^16.8.0 || ^17.0.0 || ^18.0.0", react@>=0.14.0, react@>=15.0.0, react@>=16.3.0, react@>=16.3.2, react@>=16.6.0, react@>=16.8.0:
version "16.13.1"
resolved "https://registry.npmjs.org/react/-/react-16.13.1.tgz"
integrity sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==
@@ -5906,7 +5970,16 @@ readable-stream@^2.0.1:
string_decoder "~1.1.1"
util-deprecate "~1.0.1"
-readable-stream@^3.0.6, readable-stream@^3.6.0:
+readable-stream@^3.0.6:
+ version "3.6.2"
+ resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz"
+ integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==
+ dependencies:
+ inherits "^2.0.3"
+ string_decoder "^1.1.1"
+ util-deprecate "^1.0.1"
+
+readable-stream@^3.6.0:
version "3.6.2"
resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz"
integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==
@@ -6148,21 +6221,41 @@ safe-array-concat@^1.0.1:
has-symbols "^1.0.3"
isarray "^2.0.5"
-safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
- version "5.1.2"
- resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
- integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
+safe-buffer@^5.0.1:
+ version "5.2.0"
+ resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz"
+ integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==
-safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0:
+safe-buffer@^5.1.0:
version "5.2.1"
resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz"
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
-safe-buffer@^5.0.1, safe-buffer@^5.1.1:
+safe-buffer@^5.1.1:
version "5.2.0"
resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz"
integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==
+safe-buffer@>=5.1.0:
+ version "5.2.1"
+ resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz"
+ integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
+
+safe-buffer@~5.1.0, safe-buffer@~5.1.1, safe-buffer@5.1.2:
+ version "5.1.2"
+ resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
+ integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
+
+safe-buffer@~5.2.0:
+ version "5.2.1"
+ resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz"
+ integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
+
+safe-buffer@5.2.1:
+ version "5.2.1"
+ resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz"
+ integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
+
safe-regex-test@^1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz"
@@ -6270,12 +6363,17 @@ semver-truncate@^1.1.2:
dependencies:
semver "^5.3.0"
-"semver@2 || 3 || 4 || 5":
- version "5.7.2"
- resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz"
- integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
+semver@^5.3.0:
+ version "5.7.1"
+ resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz"
+ integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
+
+semver@^5.5.0:
+ version "5.7.1"
+ resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz"
+ integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
-semver@^5.3.0, semver@^5.5.0, semver@^5.6.0:
+semver@^5.6.0:
version "5.7.1"
resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz"
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
@@ -6285,13 +6383,32 @@ semver@^6.0.0, semver@^6.3.1:
resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz"
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
-semver@^7.3.4, semver@^7.3.5, semver@^7.3.8:
+semver@^7.3.4:
+ version "7.5.4"
+ resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz"
+ integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
+ dependencies:
+ lru-cache "^6.0.0"
+
+semver@^7.3.5:
version "7.5.4"
resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz"
integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
dependencies:
lru-cache "^6.0.0"
+semver@^7.3.8:
+ version "7.5.4"
+ resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz"
+ integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
+ dependencies:
+ lru-cache "^6.0.0"
+
+"semver@2 || 3 || 4 || 5":
+ version "5.7.2"
+ resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz"
+ integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
+
send@0.18.0:
version "0.18.0"
resolved "https://registry.npmjs.org/send/-/send-0.18.0.tgz"
@@ -6530,7 +6647,7 @@ source-map-url@^0.4.0:
resolved "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz"
integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=
-source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0:
+source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@0.6.1:
version "0.6.1"
resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
@@ -6608,16 +6725,16 @@ stable@^0.1.8:
resolved "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz"
integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==
-statuses@2.0.1:
- version "2.0.1"
- resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz"
- integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
-
"statuses@>= 1.4.0 < 2":
version "1.5.0"
resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz"
integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==
+statuses@2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz"
+ integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
+
stdout-stream@^1.4.0:
version "1.4.1"
resolved "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz"
@@ -6630,6 +6747,20 @@ strict-uri-encode@^1.0.0:
resolved "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz"
integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=
+string_decoder@^1.1.1:
+ version "1.3.0"
+ resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz"
+ integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
+ dependencies:
+ safe-buffer "~5.2.0"
+
+string_decoder@~1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"
+ integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
+ dependencies:
+ safe-buffer "~5.1.0"
+
"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
version "4.2.3"
resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz"
@@ -6675,20 +6806,6 @@ string.prototype.trimstart@^1.0.7:
define-properties "^1.2.0"
es-abstract "^1.22.1"
-string_decoder@^1.1.1:
- version "1.3.0"
- resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz"
- integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
- dependencies:
- safe-buffer "~5.2.0"
-
-string_decoder@~1.1.1:
- version "1.1.1"
- resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"
- integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
- dependencies:
- safe-buffer "~5.1.0"
-
strip-ansi@^6.0.0, strip-ansi@^6.0.1:
version "6.0.1"
resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz"
@@ -7089,7 +7206,7 @@ unique-slug@^3.0.0:
dependencies:
imurmurhash "^0.1.4"
-unpipe@1.0.0, unpipe@~1.0.0:
+unpipe@~1.0.0, unpipe@1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
@@ -7200,7 +7317,7 @@ wbuf@^1.1.0, wbuf@^1.7.3:
dependencies:
minimalistic-assert "^1.0.0"
-webpack-cli@^5.1.4:
+webpack-cli@^5.1.4, webpack-cli@5.x.x:
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==
@@ -7280,7 +7397,7 @@ webpack-sources@^3.2.3:
resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz"
integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
-webpack@^5.89.0:
+"webpack@^4.0.0 || ^5.0.0", "webpack@^4.37.0 || ^5.0.0", webpack@^5.0.0, webpack@^5.1.0, webpack@^5.20.0, webpack@^5.89.0, webpack@>=5, webpack@5.x.x:
version "5.89.0"
resolved "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz"
integrity sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==
@@ -7310,7 +7427,7 @@ webpack@^5.89.0:
watchpack "^2.4.0"
webpack-sources "^3.2.3"
-websocket-driver@>=0.5.1, websocket-driver@^0.7.4:
+websocket-driver@^0.7.4, websocket-driver@>=0.5.1:
version "0.7.4"
resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz"
integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==
@@ -7353,7 +7470,14 @@ which@^1.2.9:
dependencies:
isexe "^2.0.0"
-which@^2.0.1, which@^2.0.2:
+which@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz"
+ integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
+ dependencies:
+ isexe "^2.0.0"
+
+which@^2.0.2:
version "2.0.2"
resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz"
integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==