Merge branch 'trunk' into PCP-782-resubscribe-webhooks-on-plugin-upgrades

This commit is contained in:
dinamiko 2022-09-15 14:25:43 +02:00
commit 2910d22f0b
47 changed files with 5567 additions and 2576 deletions

View file

@ -0,0 +1,11 @@
{
"presets": [
[
"@babel/preset-env",
{
"useBuiltIns": "usage",
"corejs": "3.25.0"
}
]
]
}

View file

@ -1,25 +1,34 @@
{ {
"name": "ppc-button", "name": "ppc-button",
"version": "1.0.0", "version": "1.0.0",
"license": "GPL-3.0-or-later", "license": "GPL-3.0-or-later",
"main": "resources/js/button.js", "main": "resources/js/button.js",
"dependencies": { "browserslist": [
"deepmerge": "^4.2.2" "> 0.5%",
}, "Safari >= 8",
"devDependencies": { "Chrome >= 41",
"@babel/core": "^7.19", "Firefox >= 43",
"@babel/preset-env": "^7.19", "Edge >= 14"
"babel-loader": "^8.2", ],
"cross-env": "^7.0.3", "dependencies": {
"file-loader": "^6.2.0", "core-js": "^3.25.0",
"sass": "^1.42.1", "formdata-polyfill": "^4.0.10",
"sass-loader": "^12.1.0", "deepmerge": "^4.2.2"
"webpack": "^5.74", },
"webpack-cli": "^4.10" "devDependencies": {
}, "@babel/core": "^7.19",
"scripts": { "@babel/preset-env": "^7.19",
"build": "cross-env BABEL_ENV=default NODE_ENV=production webpack", "babel-loader": "^8.2",
"watch": "cross-env BABEL_ENV=default NODE_ENV=production webpack --watch", "cross-env": "^7.0.3",
"dev": "cross-env BABEL_ENV=default webpack --watch" "file-loader": "^6.2.0",
} "sass": "^1.42.1",
"sass-loader": "^12.1.0",
"webpack": "^5.74",
"webpack-cli": "^4.10"
},
"scripts": {
"build": "cross-env BABEL_ENV=default NODE_ENV=production webpack",
"watch": "cross-env BABEL_ENV=default NODE_ENV=production webpack --watch",
"dev": "cross-env BABEL_ENV=default webpack --watch"
}
} }

View file

@ -240,6 +240,6 @@ document.addEventListener(
return; return;
} }
document.body.append(script); document.body.appendChild(script);
}, },
); );

View file

@ -16,6 +16,7 @@ class CartActionHandler {
this.config.bn_codes[this.config.context] : ''; this.config.bn_codes[this.config.context] : '';
return fetch(this.config.ajax.create_order.endpoint, { return fetch(this.config.ajax.create_order.endpoint, {
method: 'POST', method: 'POST',
credentials: 'same-origin',
body: JSON.stringify({ body: JSON.stringify({
nonce: this.config.ajax.create_order.nonce, nonce: this.config.ajax.create_order.nonce,
purchase_units: [], purchase_units: [],

View file

@ -1,3 +1,4 @@
import 'formdata-polyfill';
import onApprove from '../OnApproveHandler/onApproveForPayNow.js'; import onApprove from '../OnApproveHandler/onApproveForPayNow.js';
import {payerData} from "../Helper/PayerData"; import {payerData} from "../Helper/PayerData";
import {getCurrentPaymentMethod} from "../Helper/CheckoutMethodState"; import {getCurrentPaymentMethod} from "../Helper/CheckoutMethodState";
@ -22,7 +23,7 @@ class CheckoutActionHandler {
const formSelector = this.config.context === 'checkout' ? 'form.checkout' : 'form#order_review'; const formSelector = this.config.context === 'checkout' ? 'form.checkout' : 'form#order_review';
const formData = new FormData(document.querySelector(formSelector)); const formData = new FormData(document.querySelector(formSelector));
// will not handle fields with multiple values (checkboxes, <select multiple>), but we do not care about this here // will not handle fields with multiple values (checkboxes, <select multiple>), but we do not care about this here
const formJsonObj = Object.fromEntries(formData); const formJsonObj = Object.fromEntries(formData.entries());
const createaccount = jQuery('#createaccount').is(":checked") ? true : false; const createaccount = jQuery('#createaccount').is(":checked") ? true : false;
@ -31,6 +32,7 @@ class CheckoutActionHandler {
return fetch(this.config.ajax.create_order.endpoint, { return fetch(this.config.ajax.create_order.endpoint, {
method: 'POST', method: 'POST',
credentials: 'same-origin',
body: JSON.stringify({ body: JSON.stringify({
nonce: this.config.ajax.create_order.nonce, nonce: this.config.ajax.create_order.nonce,
payer, payer,
@ -70,7 +72,7 @@ class CheckoutActionHandler {
input.setAttribute('type', 'hidden'); input.setAttribute('type', 'hidden');
input.setAttribute('name', 'ppcp-resume-order'); input.setAttribute('name', 'ppcp-resume-order');
input.setAttribute('value', data.data.purchase_units[0].custom_id); input.setAttribute('value', data.data.purchase_units[0].custom_id);
document.querySelector(formSelector).append(input); document.querySelector(formSelector).appendChild(input);
return data.data.id; return data.data.id;
}); });
} }

View file

@ -18,6 +18,7 @@ class FreeTrialHandler {
fetch(this.config.ajax.vault_paypal.endpoint, { fetch(this.config.ajax.vault_paypal.endpoint, {
method: 'POST', method: 'POST',
credentials: 'same-origin',
body: JSON.stringify({ body: JSON.stringify({
nonce: this.config.ajax.vault_paypal.nonce, nonce: this.config.ajax.vault_paypal.nonce,
return_url: location.href return_url: location.href

View file

@ -80,6 +80,7 @@ class SingleProductActionHandler {
this.config.bn_codes[this.config.context] : ''; this.config.bn_codes[this.config.context] : '';
return fetch(this.config.ajax.create_order.endpoint, { return fetch(this.config.ajax.create_order.endpoint, {
method: 'POST', method: 'POST',
credentials: 'same-origin',
body: JSON.stringify({ body: JSON.stringify({
nonce: this.config.ajax.create_order.nonce, nonce: this.config.ajax.create_order.nonce,
purchase_units, purchase_units,

View file

@ -27,6 +27,7 @@ const storeToken = (token) => {
const dataClientIdAttributeHandler = (script, config) => { const dataClientIdAttributeHandler = (script, config) => {
fetch(config.endpoint, { fetch(config.endpoint, {
method: 'POST', method: 'POST',
credentials: 'same-origin',
body: JSON.stringify({ body: JSON.stringify({
nonce: config.nonce nonce: config.nonce
}) })
@ -39,7 +40,7 @@ const dataClientIdAttributeHandler = (script, config) => {
} }
storeToken(data); storeToken(data);
script.setAttribute('data-client-token', data.token); script.setAttribute('data-client-token', data.token);
document.body.append(script); document.body.appendChild(script);
}); });
} }

View file

@ -20,6 +20,7 @@ class UpdateCart {
this.endpoint, this.endpoint,
{ {
method: 'POST', method: 'POST',
credentials: 'same-origin',
body: JSON.stringify({ body: JSON.stringify({
nonce: this.nonce, nonce: this.nonce,
products, products,
@ -42,4 +43,4 @@ class UpdateCart {
} }
} }
export default UpdateCart; export default UpdateCart;

View file

@ -2,6 +2,7 @@ const onApprove = (context, errorHandler) => {
return (data, actions) => { return (data, actions) => {
return fetch(context.config.ajax.approve_order.endpoint, { return fetch(context.config.ajax.approve_order.endpoint, {
method: 'POST', method: 'POST',
credentials: 'same-origin',
body: JSON.stringify({ body: JSON.stringify({
nonce: context.config.ajax.approve_order.nonce, nonce: context.config.ajax.approve_order.nonce,
order_id:data.orderID, order_id:data.orderID,

View file

@ -5,6 +5,7 @@ const onApprove = (context, errorHandler, spinner) => {
return fetch(context.config.ajax.approve_order.endpoint, { return fetch(context.config.ajax.approve_order.endpoint, {
method: 'POST', method: 'POST',
credentials: 'same-origin',
body: JSON.stringify({ body: JSON.stringify({
nonce: context.config.ajax.approve_order.nonce, nonce: context.config.ajax.approve_order.nonce,
order_id:data.orderID, order_id:data.orderID,

View file

@ -233,14 +233,18 @@ class CreateOrderEndpoint implements EndpointInterface {
$this->set_bn_code( $data ); $this->set_bn_code( $data );
if ( 'checkout' === $data['context'] ) { if ( 'pay-now' === $data['context'] && get_option( 'woocommerce_terms_page_id', '' ) !== '' ) {
try { $this->validate_paynow_form( $data['form'] );
$order = $this->create_paypal_order( $wc_order ); }
} catch ( Exception $exception ) {
$this->logger->error( 'Order creation failed: ' . $exception->getMessage() );
throw $exception;
}
try {
$order = $this->create_paypal_order( $wc_order );
} catch ( Exception $exception ) {
$this->logger->error( 'Order creation failed: ' . $exception->getMessage() );
throw $exception;
}
if ( 'checkout' === $data['context'] ) {
if ( if (
! $this->early_order_handler->should_create_early_order() ! $this->early_order_handler->should_create_early_order()
|| $this->registration_needed || $this->registration_needed
@ -251,12 +255,6 @@ class CreateOrderEndpoint implements EndpointInterface {
$this->early_order_handler->register_for_order( $order ); $this->early_order_handler->register_for_order( $order );
} }
if ( 'pay-now' === $data['context'] && get_option( 'woocommerce_terms_page_id', '' ) !== '' ) {
$this->validate_paynow_form( $data['form'] );
}
$order = $this->create_paypal_order( $wc_order );
if ( 'pay-now' === $data['context'] && is_a( $wc_order, \WC_Order::class ) ) { if ( 'pay-now' === $data['context'] && is_a( $wc_order, \WC_Order::class ) ) {
$wc_order->update_meta_data( PayPalGateway::ORDER_ID_META_KEY, $order->id() ); $wc_order->update_meta_data( PayPalGateway::ORDER_ID_META_KEY, $order->id() );
$wc_order->update_meta_data( PayPalGateway::INTENT_META_KEY, $order->intent() ); $wc_order->update_meta_data( PayPalGateway::INTENT_META_KEY, $order->intent() );

View file

@ -2,7 +2,7 @@ const path = require('path');
const isProduction = process.env.NODE_ENV === 'production'; const isProduction = process.env.NODE_ENV === 'production';
module.exports = { module.exports = {
devtool: 'eval-source-map', devtool: isProduction ? 'source-map' : 'eval-source-map',
mode: isProduction ? 'production' : 'development', mode: isProduction ? 'production' : 'development',
target: 'web', target: 'web',
entry: { entry: {

View file

@ -1262,9 +1262,9 @@ call-bind@^1.0.2:
get-intrinsic "^1.0.2" get-intrinsic "^1.0.2"
caniuse-lite@^1.0.30001370: caniuse-lite@^1.0.30001370:
version "1.0.30001390" version "1.0.30001393"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001390.tgz#158a43011e7068ef7fc73590e9fd91a7cece5e7f" resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001393.tgz"
integrity sha512-sS4CaUM+/+vqQUlCvCJ2WtDlV81aWtHhqeEVkLokVJJa3ViN4zDxAGfq9R8i1m90uGHxo99cy10Od+lvn3hf0g== integrity sha512-N/od11RX+Gsk+1qY/jbPa0R6zJupEa0lxeBG598EbrtblxVCTJsQwbRBm6+V+rxpc5lHKdsXb9RY83cZIPLseA==
chalk@^2.0.0: chalk@^2.0.0:
version "2.4.2" version "2.4.2"
@ -1351,6 +1351,11 @@ core-js-compat@^3.21.0, core-js-compat@^3.22.1:
browserslist "^4.21.3" browserslist "^4.21.3"
semver "7.0.0" semver "7.0.0"
core-js@^3.25.0:
version "3.25.0"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.25.0.tgz#be71d9e0dd648ffd70c44a7ec2319d039357eceb"
integrity sha512-CVU1xvJEfJGhyCpBrzzzU1kjCfgsGUxhEvwUV2e/cOedYWHdmluamx+knDnmhqALddMG16fZvIqvs9aijsHHaA==
cross-env@^7.0.3: cross-env@^7.0.3:
version "7.0.3" version "7.0.3"
resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf" resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf"
@ -1475,6 +1480,14 @@ fastest-levenshtein@^1.0.12:
resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5"
integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==
fetch-blob@^3.1.2:
version "3.2.0"
resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.2.0.tgz#f09b8d4bbd45adc6f0c20b7e787e793e309dcce9"
integrity sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==
dependencies:
node-domexception "^1.0.0"
web-streams-polyfill "^3.0.3"
file-loader@^6.2.0: file-loader@^6.2.0:
version "6.2.0" version "6.2.0"
resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d"
@ -1507,6 +1520,13 @@ find-up@^4.0.0:
locate-path "^5.0.0" locate-path "^5.0.0"
path-exists "^4.0.0" path-exists "^4.0.0"
formdata-polyfill@^4.0.10:
version "4.0.10"
resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423"
integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==
dependencies:
fetch-blob "^3.1.2"
fsevents@~2.3.2: fsevents@~2.3.2:
version "2.3.2" version "2.3.2"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
@ -1757,6 +1777,11 @@ neo-async@^2.6.2:
resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f"
integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
node-domexception@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5"
integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==
node-releases@^2.0.6: node-releases@^2.0.6:
version "2.0.6" version "2.0.6"
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503"
@ -2130,6 +2155,11 @@ watchpack@^2.4.0:
glob-to-regexp "^0.4.1" glob-to-regexp "^0.4.1"
graceful-fs "^4.1.2" graceful-fs "^4.1.2"
web-streams-polyfill@^3.0.3:
version "3.2.1"
resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz#71c2718c52b45fd49dbeee88634b3a60ceab42a6"
integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==
webpack-cli@^4.10: webpack-cli@^4.10:
version "4.10.0" version "4.10.0"
resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.10.0.tgz#37c1d69c8d85214c5a65e589378f53aec64dab31" resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.10.0.tgz#37c1d69c8d85214c5a65e589378f53aec64dab31"

View file

@ -0,0 +1,11 @@
{
"presets": [
[
"@babel/preset-env",
{
"useBuiltIns": "usage",
"corejs": "3.25.0"
}
]
]
}

3
modules/ppcp-onboarding/.gitignore vendored Normal file
View file

@ -0,0 +1,3 @@
node_modules
/assets/js
/assets/css

View file

@ -0,0 +1,32 @@
{
"name": "ppcp-onboarding",
"version": "1.0.0",
"license": "GPL-3.0-or-later",
"main": "resources/js/order-edit-page.js",
"browserslist": [
"> 0.5%",
"Safari >= 8",
"Chrome >= 41",
"Firefox >= 43",
"Edge >= 14"
],
"dependencies": {
"core-js": "^3.25.0"
},
"devDependencies": {
"@babel/core": "^7.19",
"@babel/preset-env": "^7.19",
"babel-loader": "^8.2",
"cross-env": "^7.0.3",
"file-loader": "^6.2.0",
"sass": "^1.42.1",
"sass-loader": "^12.1.0",
"webpack": "^5.74",
"webpack-cli": "^4.10"
},
"scripts": {
"build": "cross-env BABEL_ENV=default NODE_ENV=production webpack",
"watch": "cross-env BABEL_ENV=default NODE_ENV=production webpack --watch",
"dev": "cross-env BABEL_ENV=default webpack --watch"
}
}

View file

@ -54,7 +54,7 @@ const ppcp_onboarding = {
const paypalScriptTag = document.createElement('script'); const paypalScriptTag = document.createElement('script');
paypalScriptTag.id = ppcp_onboarding.PAYPAL_JS_ID; paypalScriptTag.id = ppcp_onboarding.PAYPAL_JS_ID;
paypalScriptTag.src = PayPalCommerceGatewayOnboarding.paypal_js_url; paypalScriptTag.src = PayPalCommerceGatewayOnboarding.paypal_js_url;
document.body.append(paypalScriptTag); document.body.appendChild(paypalScriptTag);
if (ppcp_onboarding._timeout) { if (ppcp_onboarding._timeout) {
clearTimeout(ppcp_onboarding._timeout); clearTimeout(ppcp_onboarding._timeout);
@ -80,6 +80,7 @@ const ppcp_onboarding = {
fetch(PayPalCommerceGatewayOnboarding.pui_endpoint, { fetch(PayPalCommerceGatewayOnboarding.pui_endpoint, {
method: 'POST', method: 'POST',
credentials: 'same-origin',
body: JSON.stringify({ body: JSON.stringify({
nonce: PayPalCommerceGatewayOnboarding.pui_nonce, nonce: PayPalCommerceGatewayOnboarding.pui_nonce,
checked: onboard_pui.checked checked: onboard_pui.checked

View file

@ -215,12 +215,12 @@ document.addEventListener(
if(Array.isArray(option)){ if(Array.isArray(option)){
option.forEach( option.forEach(
(option) => { (option) => {
target.append(option); target.appendChild(option);
} }
) )
} }
target.append(option); target.appendChild(option);
} }
); );
}; };

View file

@ -12,7 +12,6 @@ namespace WooCommerce\PayPalCommerce\Onboarding\Assets;
use WooCommerce\PayPalCommerce\Onboarding\Endpoint\LoginSellerEndpoint; use WooCommerce\PayPalCommerce\Onboarding\Endpoint\LoginSellerEndpoint;
use WooCommerce\PayPalCommerce\Onboarding\Environment; use WooCommerce\PayPalCommerce\Onboarding\Environment;
use WooCommerce\PayPalCommerce\Onboarding\State; use WooCommerce\PayPalCommerce\Onboarding\State;
use WooCommerce\PayPalCommerce\WcGateway\Gateway\PayPalGateway;
use WooCommerce\PayPalCommerce\WcGateway\Settings\Settings; use WooCommerce\PayPalCommerce\WcGateway\Settings\Settings;
/** /**
@ -173,6 +172,6 @@ class OnboardingAssets {
* @return bool * @return bool
*/ */
private function should_render_onboarding_script(): bool { private function should_render_onboarding_script(): bool {
return PayPalGateway::ID === $this->page_id || Settings::CONNECTION_TAB_ID === $this->page_id; return Settings::CONNECTION_TAB_ID === $this->page_id;
} }
} }

View file

@ -0,0 +1,37 @@
const path = require('path');
const isProduction = process.env.NODE_ENV === 'production';
module.exports = {
devtool: isProduction ? 'source-map' : 'eval-source-map',
mode: isProduction ? 'production' : 'development',
target: 'web',
entry: {
'settings': path.resolve('./resources/js/settings.js'),
'onboarding': path.resolve('./resources/js/onboarding.js'),
'onboarding-style': path.resolve('./resources/css/onboarding.scss'),
},
output: {
path: path.resolve(__dirname, 'assets/'),
filename: 'js/[name].js',
},
module: {
rules: [{
test: /\.js?$/,
exclude: /node_modules/,
loader: 'babel-loader',
},
{
test: /\.scss$/,
exclude: /node_modules/,
use: [
{
loader: 'file-loader',
options: {
name: 'css/[name].css',
}
},
{loader:'sass-loader'}
]
}]
}
};

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,11 @@
{
"presets": [
[
"@babel/preset-env",
{
"useBuiltIns": "usage",
"corejs": "3.25.0"
}
]
]
}

View file

@ -1,23 +1,32 @@
{ {
"name": "ppcp-order-tracking", "name": "ppcp-order-tracking",
"version": "1.0.0", "version": "1.0.0",
"license": "GPL-3.0-or-later", "license": "GPL-3.0-or-later",
"main": "resources/js/order-edit-page.js", "main": "resources/js/order-edit-page.js",
"devDependencies": { "browserslist": [
"@babel/core": "^7.9.0", "> 0.5%",
"@babel/preset-env": "^7.9.5", "Safari >= 8",
"babel-loader": "^8.1.0", "Chrome >= 41",
"babel-plugin-transform-object-rest-spread": "^6.26.0", "Firefox >= 43",
"cross-env": "^7.0.3", "Edge >= 14"
"file-loader": "^6.2.0", ],
"sass": "^1.42.1", "dependencies": {
"sass-loader": "^12.1.0", "core-js": "^3.25.0"
"webpack": "^5.55.0", },
"webpack-cli": "^4.8.0" "devDependencies": {
}, "@babel/core": "^7.19",
"scripts": { "@babel/preset-env": "^7.19",
"build": "cross-env BABEL_ENV=default NODE_ENV=production webpack", "babel-loader": "^8.2",
"watch": "cross-env BABEL_ENV=default NODE_ENV=production webpack --watch", "cross-env": "^7.0.3",
"dev": "cross-env BABEL_ENV=default webpack --watch" "file-loader": "^6.2.0",
} "sass": "^1.42.1",
"sass-loader": "^12.1.0",
"webpack": "^5.74",
"webpack-cli": "^4.10"
},
"scripts": {
"build": "cross-env BABEL_ENV=default NODE_ENV=production webpack",
"watch": "cross-env BABEL_ENV=default NODE_ENV=production webpack --watch",
"dev": "cross-env BABEL_ENV=default webpack --watch"
}
} }

View file

@ -20,6 +20,7 @@ document.addEventListener(
submitButton.setAttribute('disabled', 'disabled'); submitButton.setAttribute('disabled', 'disabled');
fetch(config.ajax.tracking_info.endpoint, { fetch(config.ajax.tracking_info.endpoint, {
method: 'POST', method: 'POST',
credentials: 'same-origin',
body: JSON.stringify({ body: JSON.stringify({
nonce: config.ajax.tracking_info.nonce, nonce: config.ajax.tracking_info.nonce,
transaction_id: transactionId ? transactionId.value : null, transaction_id: transactionId ? transactionId.value : null,

View file

@ -2,7 +2,7 @@ const path = require('path');
const isProduction = process.env.NODE_ENV === 'production'; const isProduction = process.env.NODE_ENV === 'production';
module.exports = { module.exports = {
devtool: 'eval-source-map', devtool: isProduction ? 'source-map' : 'eval-source-map',
mode: isProduction ? 'production' : 'development', mode: isProduction ? 'production' : 'development',
target: 'web', target: 'web',
entry: { entry: {

View file

@ -17,26 +17,31 @@
dependencies: dependencies:
"@babel/highlight" "^7.18.6" "@babel/highlight" "^7.18.6"
"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.18.8": "@babel/compat-data@^7.17.7", "@babel/compat-data@^7.19.0":
version "7.19.0"
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.0.tgz#2a592fd89bacb1fcde68de31bee4f2f2dacb0e86"
integrity sha512-y5rqgTTPTmaF5e2nVhOxw+Ur9HDJLsWb6U/KpgUzRZEdPfE6VOubXBKLdbcUTijzRptednSBDQbYZBOSqJxpJw==
"@babel/compat-data@^7.18.8":
version "7.18.8" version "7.18.8"
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.8.tgz#2483f565faca607b8535590e84e7de323f27764d" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.8.tgz#2483f565faca607b8535590e84e7de323f27764d"
integrity sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ== integrity sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==
"@babel/core@^7.9.0": "@babel/core@^7.19":
version "7.18.9" version "7.19.0"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.9.tgz#805461f967c77ff46c74ca0460ccf4fe933ddd59" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.0.tgz#d2f5f4f2033c00de8096be3c9f45772563e150c3"
integrity sha512-1LIb1eL8APMy91/IMW+31ckrfBM4yCoLaVzoDhZUKSM4cu1L1nIidyxkCgzPAgrC5WEz36IPEr/eSeSF9pIn+g== integrity sha512-reM4+U7B9ss148rh2n1Qs9ASS+w94irYXga7c2jaQv9RVzpS7Mv1a9rnYYwuDa45G+DkORt9g6An2k/V4d9LbQ==
dependencies: dependencies:
"@ampproject/remapping" "^2.1.0" "@ampproject/remapping" "^2.1.0"
"@babel/code-frame" "^7.18.6" "@babel/code-frame" "^7.18.6"
"@babel/generator" "^7.18.9" "@babel/generator" "^7.19.0"
"@babel/helper-compilation-targets" "^7.18.9" "@babel/helper-compilation-targets" "^7.19.0"
"@babel/helper-module-transforms" "^7.18.9" "@babel/helper-module-transforms" "^7.19.0"
"@babel/helpers" "^7.18.9" "@babel/helpers" "^7.19.0"
"@babel/parser" "^7.18.9" "@babel/parser" "^7.19.0"
"@babel/template" "^7.18.6" "@babel/template" "^7.18.10"
"@babel/traverse" "^7.18.9" "@babel/traverse" "^7.19.0"
"@babel/types" "^7.18.9" "@babel/types" "^7.19.0"
convert-source-map "^1.7.0" convert-source-map "^1.7.0"
debug "^4.1.0" debug "^4.1.0"
gensync "^1.0.0-beta.2" gensync "^1.0.0-beta.2"
@ -52,6 +57,15 @@
"@jridgewell/gen-mapping" "^0.3.2" "@jridgewell/gen-mapping" "^0.3.2"
jsesc "^2.5.1" jsesc "^2.5.1"
"@babel/generator@^7.19.0":
version "7.19.0"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.0.tgz#785596c06425e59334df2ccee63ab166b738419a"
integrity sha512-S1ahxf1gZ2dpoiFgA+ohK9DIpz50bJ0CWs7Zlzb54Z4sG8qmdIrGrVqmy1sAtTVRb+9CU6U8VqT9L0Zj7hxHVg==
dependencies:
"@babel/types" "^7.19.0"
"@jridgewell/gen-mapping" "^0.3.2"
jsesc "^2.5.1"
"@babel/helper-annotate-as-pure@^7.18.6": "@babel/helper-annotate-as-pure@^7.18.6":
version "7.18.6" version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb"
@ -67,7 +81,17 @@
"@babel/helper-explode-assignable-expression" "^7.18.6" "@babel/helper-explode-assignable-expression" "^7.18.6"
"@babel/types" "^7.18.9" "@babel/types" "^7.18.9"
"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.18.9": "@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.19.0":
version "7.19.0"
resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.0.tgz#537ec8339d53e806ed422f1e06c8f17d55b96bb0"
integrity sha512-Ai5bNWXIvwDvWM7njqsG3feMlL9hCVQsPYXodsZyLwshYkZVJt59Gftau4VrE8S9IT9asd2uSP1hG6wCNw+sXA==
dependencies:
"@babel/compat-data" "^7.19.0"
"@babel/helper-validator-option" "^7.18.6"
browserslist "^4.20.2"
semver "^6.3.0"
"@babel/helper-compilation-targets@^7.18.9":
version "7.18.9" version "7.18.9"
resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz#69e64f57b524cde3e5ff6cc5a9f4a387ee5563bf" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz#69e64f57b524cde3e5ff6cc5a9f4a387ee5563bf"
integrity sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg== integrity sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==
@ -98,21 +122,27 @@
"@babel/helper-annotate-as-pure" "^7.18.6" "@babel/helper-annotate-as-pure" "^7.18.6"
regexpu-core "^5.1.0" regexpu-core "^5.1.0"
"@babel/helper-define-polyfill-provider@^0.3.1": "@babel/helper-create-regexp-features-plugin@^7.19.0":
version "0.3.1" version "7.19.0"
resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz#52411b445bdb2e676869e5a74960d2d3826d2665" resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz#7976aca61c0984202baca73d84e2337a5424a41b"
integrity sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA== integrity sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==
dependencies: dependencies:
"@babel/helper-compilation-targets" "^7.13.0" "@babel/helper-annotate-as-pure" "^7.18.6"
"@babel/helper-module-imports" "^7.12.13" regexpu-core "^5.1.0"
"@babel/helper-plugin-utils" "^7.13.0"
"@babel/traverse" "^7.13.0" "@babel/helper-define-polyfill-provider@^0.3.2":
version "0.3.2"
resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz#bd10d0aca18e8ce012755395b05a79f45eca5073"
integrity sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==
dependencies:
"@babel/helper-compilation-targets" "^7.17.7"
"@babel/helper-plugin-utils" "^7.16.7"
debug "^4.1.1" debug "^4.1.1"
lodash.debounce "^4.0.8" lodash.debounce "^4.0.8"
resolve "^1.14.2" resolve "^1.14.2"
semver "^6.1.2" semver "^6.1.2"
"@babel/helper-environment-visitor@^7.18.6", "@babel/helper-environment-visitor@^7.18.9": "@babel/helper-environment-visitor@^7.18.9":
version "7.18.9" version "7.18.9"
resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be"
integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==
@ -132,6 +162,14 @@
"@babel/template" "^7.18.6" "@babel/template" "^7.18.6"
"@babel/types" "^7.18.9" "@babel/types" "^7.18.9"
"@babel/helper-function-name@^7.19.0":
version "7.19.0"
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c"
integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==
dependencies:
"@babel/template" "^7.18.10"
"@babel/types" "^7.19.0"
"@babel/helper-hoist-variables@^7.18.6": "@babel/helper-hoist-variables@^7.18.6":
version "7.18.6" version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678"
@ -146,14 +184,14 @@
dependencies: dependencies:
"@babel/types" "^7.18.9" "@babel/types" "^7.18.9"
"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.18.6": "@babel/helper-module-imports@^7.18.6":
version "7.18.6" version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e"
integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==
dependencies: dependencies:
"@babel/types" "^7.18.6" "@babel/types" "^7.18.6"
"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.18.9": "@babel/helper-module-transforms@^7.18.6":
version "7.18.9" version "7.18.9"
resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz#5a1079c005135ed627442df31a42887e80fcb712" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz#5a1079c005135ed627442df31a42887e80fcb712"
integrity sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g== integrity sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==
@ -167,6 +205,20 @@
"@babel/traverse" "^7.18.9" "@babel/traverse" "^7.18.9"
"@babel/types" "^7.18.9" "@babel/types" "^7.18.9"
"@babel/helper-module-transforms@^7.19.0":
version "7.19.0"
resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz#309b230f04e22c58c6a2c0c0c7e50b216d350c30"
integrity sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==
dependencies:
"@babel/helper-environment-visitor" "^7.18.9"
"@babel/helper-module-imports" "^7.18.6"
"@babel/helper-simple-access" "^7.18.6"
"@babel/helper-split-export-declaration" "^7.18.6"
"@babel/helper-validator-identifier" "^7.18.6"
"@babel/template" "^7.18.10"
"@babel/traverse" "^7.19.0"
"@babel/types" "^7.19.0"
"@babel/helper-optimise-call-expression@^7.18.6": "@babel/helper-optimise-call-expression@^7.18.6":
version "7.18.6" version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe"
@ -174,12 +226,17 @@
dependencies: dependencies:
"@babel/types" "^7.18.6" "@babel/types" "^7.18.6"
"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
version "7.18.9" version "7.18.9"
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz#4b8aea3b069d8cb8a72cdfe28ddf5ceca695ef2f" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz#4b8aea3b069d8cb8a72cdfe28ddf5ceca695ef2f"
integrity sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w== integrity sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==
"@babel/helper-remap-async-to-generator@^7.18.6": "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.19.0":
version "7.19.0"
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz#4796bb14961521f0f8715990bee2fb6e51ce21bf"
integrity sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==
"@babel/helper-remap-async-to-generator@^7.18.6", "@babel/helper-remap-async-to-generator@^7.18.9":
version "7.18.9" version "7.18.9"
resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519"
integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA== integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==
@ -221,6 +278,11 @@
dependencies: dependencies:
"@babel/types" "^7.18.6" "@babel/types" "^7.18.6"
"@babel/helper-string-parser@^7.18.10":
version "7.18.10"
resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz#181f22d28ebe1b3857fa575f5c290b1aaf659b56"
integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==
"@babel/helper-validator-identifier@^7.18.6": "@babel/helper-validator-identifier@^7.18.6":
version "7.18.6" version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076"
@ -241,14 +303,14 @@
"@babel/traverse" "^7.18.9" "@babel/traverse" "^7.18.9"
"@babel/types" "^7.18.9" "@babel/types" "^7.18.9"
"@babel/helpers@^7.18.9": "@babel/helpers@^7.19.0":
version "7.18.9" version "7.19.0"
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.9.tgz#4bef3b893f253a1eced04516824ede94dcfe7ff9" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.19.0.tgz#f30534657faf246ae96551d88dd31e9d1fa1fc18"
integrity sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ== integrity sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==
dependencies: dependencies:
"@babel/template" "^7.18.6" "@babel/template" "^7.18.10"
"@babel/traverse" "^7.18.9" "@babel/traverse" "^7.19.0"
"@babel/types" "^7.18.9" "@babel/types" "^7.19.0"
"@babel/highlight@^7.18.6": "@babel/highlight@^7.18.6":
version "7.18.6" version "7.18.6"
@ -259,6 +321,11 @@
chalk "^2.0.0" chalk "^2.0.0"
js-tokens "^4.0.0" js-tokens "^4.0.0"
"@babel/parser@^7.18.10", "@babel/parser@^7.19.0":
version "7.19.0"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.0.tgz#497fcafb1d5b61376959c1c338745ef0577aa02c"
integrity sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw==
"@babel/parser@^7.18.6", "@babel/parser@^7.18.9": "@babel/parser@^7.18.6", "@babel/parser@^7.18.9":
version "7.18.9" version "7.18.9"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.9.tgz#f2dde0c682ccc264a9a8595efd030a5cc8fd2539" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.9.tgz#f2dde0c682ccc264a9a8595efd030a5cc8fd2539"
@ -280,14 +347,14 @@
"@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9"
"@babel/plugin-proposal-optional-chaining" "^7.18.9" "@babel/plugin-proposal-optional-chaining" "^7.18.9"
"@babel/plugin-proposal-async-generator-functions@^7.18.6": "@babel/plugin-proposal-async-generator-functions@^7.19.0":
version "7.18.6" version "7.19.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.6.tgz#aedac81e6fc12bb643374656dd5f2605bf743d17" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.0.tgz#cf5740194f170467df20581712400487efc79ff1"
integrity sha512-WAz4R9bvozx4qwf74M+sfqPMKfSqwM0phxPTR6iJIi8robgzXwkEgmeJG1gEKhm6sDqT/U9aV3lfcqybIpev8w== integrity sha512-nhEByMUTx3uZueJ/QkJuSlCfN4FGg+xy+vRsfGQGzSauq5ks2Deid2+05Q3KhfaUjvec1IGhw/Zm3cFm8JigTQ==
dependencies: dependencies:
"@babel/helper-environment-visitor" "^7.18.6" "@babel/helper-environment-visitor" "^7.18.9"
"@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-plugin-utils" "^7.19.0"
"@babel/helper-remap-async-to-generator" "^7.18.6" "@babel/helper-remap-async-to-generator" "^7.18.9"
"@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-async-generators" "^7.8.4"
"@babel/plugin-proposal-class-properties@^7.18.6": "@babel/plugin-proposal-class-properties@^7.18.6":
@ -544,16 +611,17 @@
dependencies: dependencies:
"@babel/helper-plugin-utils" "^7.18.9" "@babel/helper-plugin-utils" "^7.18.9"
"@babel/plugin-transform-classes@^7.18.9": "@babel/plugin-transform-classes@^7.19.0":
version "7.18.9" version "7.19.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz#90818efc5b9746879b869d5ce83eb2aa48bbc3da" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz#0e61ec257fba409c41372175e7c1e606dc79bb20"
integrity sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g== integrity sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A==
dependencies: dependencies:
"@babel/helper-annotate-as-pure" "^7.18.6" "@babel/helper-annotate-as-pure" "^7.18.6"
"@babel/helper-compilation-targets" "^7.19.0"
"@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-environment-visitor" "^7.18.9"
"@babel/helper-function-name" "^7.18.9" "@babel/helper-function-name" "^7.19.0"
"@babel/helper-optimise-call-expression" "^7.18.6" "@babel/helper-optimise-call-expression" "^7.18.6"
"@babel/helper-plugin-utils" "^7.18.9" "@babel/helper-plugin-utils" "^7.19.0"
"@babel/helper-replace-supers" "^7.18.9" "@babel/helper-replace-supers" "^7.18.9"
"@babel/helper-split-export-declaration" "^7.18.6" "@babel/helper-split-export-declaration" "^7.18.6"
globals "^11.1.0" globals "^11.1.0"
@ -565,10 +633,10 @@
dependencies: dependencies:
"@babel/helper-plugin-utils" "^7.18.9" "@babel/helper-plugin-utils" "^7.18.9"
"@babel/plugin-transform-destructuring@^7.18.9": "@babel/plugin-transform-destructuring@^7.18.13":
version "7.18.9" version "7.18.13"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz#68906549c021cb231bee1db21d3b5b095f8ee292" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.13.tgz#9e03bc4a94475d62b7f4114938e6c5c33372cbf5"
integrity sha512-p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA== integrity sha512-TodpQ29XekIsex2A+YJPj5ax2plkGa8YYY6mFjCohk/IG9IY42Rtuj1FuDeemfg2ipxIFLzPeA83SIBnlhSIow==
dependencies: dependencies:
"@babel/helper-plugin-utils" "^7.18.9" "@babel/helper-plugin-utils" "^7.18.9"
@ -644,14 +712,14 @@
"@babel/helper-simple-access" "^7.18.6" "@babel/helper-simple-access" "^7.18.6"
babel-plugin-dynamic-import-node "^2.3.3" babel-plugin-dynamic-import-node "^2.3.3"
"@babel/plugin-transform-modules-systemjs@^7.18.9": "@babel/plugin-transform-modules-systemjs@^7.19.0":
version "7.18.9" version "7.19.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz#545df284a7ac6a05125e3e405e536c5853099a06" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.0.tgz#5f20b471284430f02d9c5059d9b9a16d4b085a1f"
integrity sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A== integrity sha512-x9aiR0WXAWmOWsqcsnrzGR+ieaTMVyGyffPVA7F8cXAGt/UxefYv6uSHZLkAFChN5M5Iy1+wjE+xJuPt22H39A==
dependencies: dependencies:
"@babel/helper-hoist-variables" "^7.18.6" "@babel/helper-hoist-variables" "^7.18.6"
"@babel/helper-module-transforms" "^7.18.9" "@babel/helper-module-transforms" "^7.19.0"
"@babel/helper-plugin-utils" "^7.18.9" "@babel/helper-plugin-utils" "^7.19.0"
"@babel/helper-validator-identifier" "^7.18.6" "@babel/helper-validator-identifier" "^7.18.6"
babel-plugin-dynamic-import-node "^2.3.3" babel-plugin-dynamic-import-node "^2.3.3"
@ -663,13 +731,13 @@
"@babel/helper-module-transforms" "^7.18.6" "@babel/helper-module-transforms" "^7.18.6"
"@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-transform-named-capturing-groups-regex@^7.18.6": "@babel/plugin-transform-named-capturing-groups-regex@^7.19.0":
version "7.18.6" version "7.19.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz#c89bfbc7cc6805d692f3a49bc5fc1b630007246d" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.0.tgz#58c52422e4f91a381727faed7d513c89d7f41ada"
integrity sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg== integrity sha512-HDSuqOQzkU//kfGdiHBt71/hkDTApw4U/cMVgKgX7PqfB3LOaK+2GtCEsBu1dL9CkswDm0Gwehht1dCr421ULQ==
dependencies: dependencies:
"@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-create-regexp-features-plugin" "^7.19.0"
"@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-plugin-utils" "^7.19.0"
"@babel/plugin-transform-new-target@^7.18.6": "@babel/plugin-transform-new-target@^7.18.6":
version "7.18.6" version "7.18.6"
@ -722,12 +790,12 @@
dependencies: dependencies:
"@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-transform-spread@^7.18.9": "@babel/plugin-transform-spread@^7.19.0":
version "7.18.9" version "7.19.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz#6ea7a6297740f381c540ac56caf75b05b74fb664" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz#dd60b4620c2fec806d60cfaae364ec2188d593b6"
integrity sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA== integrity sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==
dependencies: dependencies:
"@babel/helper-plugin-utils" "^7.18.9" "@babel/helper-plugin-utils" "^7.19.0"
"@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9"
"@babel/plugin-transform-sticky-regex@^7.18.6": "@babel/plugin-transform-sticky-regex@^7.18.6":
@ -751,12 +819,12 @@
dependencies: dependencies:
"@babel/helper-plugin-utils" "^7.18.9" "@babel/helper-plugin-utils" "^7.18.9"
"@babel/plugin-transform-unicode-escapes@^7.18.6": "@babel/plugin-transform-unicode-escapes@^7.18.10":
version "7.18.6" version "7.18.10"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.6.tgz#0d01fb7fb2243ae1c033f65f6e3b4be78db75f27" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz#1ecfb0eda83d09bbcb77c09970c2dd55832aa246"
integrity sha512-XNRwQUXYMP7VLuy54cr/KS/WeL3AZeORhrmeZ7iewgu+X2eBqmpaLI/hzqr9ZxCeUoq0ASK4GUzSM0BDhZkLFw== integrity sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==
dependencies: dependencies:
"@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.9"
"@babel/plugin-transform-unicode-regex@^7.18.6": "@babel/plugin-transform-unicode-regex@^7.18.6":
version "7.18.6" version "7.18.6"
@ -766,18 +834,18 @@
"@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-create-regexp-features-plugin" "^7.18.6"
"@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6"
"@babel/preset-env@^7.9.5": "@babel/preset-env@^7.19":
version "7.18.9" version "7.19.0"
resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.18.9.tgz#9b3425140d724fbe590322017466580844c7eaff" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.19.0.tgz#fd18caf499a67d6411b9ded68dc70d01ed1e5da7"
integrity sha512-75pt/q95cMIHWssYtyfjVlvI+QEZQThQbKvR9xH+F/Agtw/s4Wfc2V9Bwd/P39VtixB7oWxGdH4GteTTwYJWMg== integrity sha512-1YUju1TAFuzjIQqNM9WsF4U6VbD/8t3wEAlw3LFYuuEr+ywqLRcSXxFKz4DCEj+sN94l/XTDiUXYRrsvMpz9WQ==
dependencies: dependencies:
"@babel/compat-data" "^7.18.8" "@babel/compat-data" "^7.19.0"
"@babel/helper-compilation-targets" "^7.18.9" "@babel/helper-compilation-targets" "^7.19.0"
"@babel/helper-plugin-utils" "^7.18.9" "@babel/helper-plugin-utils" "^7.19.0"
"@babel/helper-validator-option" "^7.18.6" "@babel/helper-validator-option" "^7.18.6"
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6"
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9"
"@babel/plugin-proposal-async-generator-functions" "^7.18.6" "@babel/plugin-proposal-async-generator-functions" "^7.19.0"
"@babel/plugin-proposal-class-properties" "^7.18.6" "@babel/plugin-proposal-class-properties" "^7.18.6"
"@babel/plugin-proposal-class-static-block" "^7.18.6" "@babel/plugin-proposal-class-static-block" "^7.18.6"
"@babel/plugin-proposal-dynamic-import" "^7.18.6" "@babel/plugin-proposal-dynamic-import" "^7.18.6"
@ -811,9 +879,9 @@
"@babel/plugin-transform-async-to-generator" "^7.18.6" "@babel/plugin-transform-async-to-generator" "^7.18.6"
"@babel/plugin-transform-block-scoped-functions" "^7.18.6" "@babel/plugin-transform-block-scoped-functions" "^7.18.6"
"@babel/plugin-transform-block-scoping" "^7.18.9" "@babel/plugin-transform-block-scoping" "^7.18.9"
"@babel/plugin-transform-classes" "^7.18.9" "@babel/plugin-transform-classes" "^7.19.0"
"@babel/plugin-transform-computed-properties" "^7.18.9" "@babel/plugin-transform-computed-properties" "^7.18.9"
"@babel/plugin-transform-destructuring" "^7.18.9" "@babel/plugin-transform-destructuring" "^7.18.13"
"@babel/plugin-transform-dotall-regex" "^7.18.6" "@babel/plugin-transform-dotall-regex" "^7.18.6"
"@babel/plugin-transform-duplicate-keys" "^7.18.9" "@babel/plugin-transform-duplicate-keys" "^7.18.9"
"@babel/plugin-transform-exponentiation-operator" "^7.18.6" "@babel/plugin-transform-exponentiation-operator" "^7.18.6"
@ -823,9 +891,9 @@
"@babel/plugin-transform-member-expression-literals" "^7.18.6" "@babel/plugin-transform-member-expression-literals" "^7.18.6"
"@babel/plugin-transform-modules-amd" "^7.18.6" "@babel/plugin-transform-modules-amd" "^7.18.6"
"@babel/plugin-transform-modules-commonjs" "^7.18.6" "@babel/plugin-transform-modules-commonjs" "^7.18.6"
"@babel/plugin-transform-modules-systemjs" "^7.18.9" "@babel/plugin-transform-modules-systemjs" "^7.19.0"
"@babel/plugin-transform-modules-umd" "^7.18.6" "@babel/plugin-transform-modules-umd" "^7.18.6"
"@babel/plugin-transform-named-capturing-groups-regex" "^7.18.6" "@babel/plugin-transform-named-capturing-groups-regex" "^7.19.0"
"@babel/plugin-transform-new-target" "^7.18.6" "@babel/plugin-transform-new-target" "^7.18.6"
"@babel/plugin-transform-object-super" "^7.18.6" "@babel/plugin-transform-object-super" "^7.18.6"
"@babel/plugin-transform-parameters" "^7.18.8" "@babel/plugin-transform-parameters" "^7.18.8"
@ -833,17 +901,17 @@
"@babel/plugin-transform-regenerator" "^7.18.6" "@babel/plugin-transform-regenerator" "^7.18.6"
"@babel/plugin-transform-reserved-words" "^7.18.6" "@babel/plugin-transform-reserved-words" "^7.18.6"
"@babel/plugin-transform-shorthand-properties" "^7.18.6" "@babel/plugin-transform-shorthand-properties" "^7.18.6"
"@babel/plugin-transform-spread" "^7.18.9" "@babel/plugin-transform-spread" "^7.19.0"
"@babel/plugin-transform-sticky-regex" "^7.18.6" "@babel/plugin-transform-sticky-regex" "^7.18.6"
"@babel/plugin-transform-template-literals" "^7.18.9" "@babel/plugin-transform-template-literals" "^7.18.9"
"@babel/plugin-transform-typeof-symbol" "^7.18.9" "@babel/plugin-transform-typeof-symbol" "^7.18.9"
"@babel/plugin-transform-unicode-escapes" "^7.18.6" "@babel/plugin-transform-unicode-escapes" "^7.18.10"
"@babel/plugin-transform-unicode-regex" "^7.18.6" "@babel/plugin-transform-unicode-regex" "^7.18.6"
"@babel/preset-modules" "^0.1.5" "@babel/preset-modules" "^0.1.5"
"@babel/types" "^7.18.9" "@babel/types" "^7.19.0"
babel-plugin-polyfill-corejs2 "^0.3.1" babel-plugin-polyfill-corejs2 "^0.3.2"
babel-plugin-polyfill-corejs3 "^0.5.2" babel-plugin-polyfill-corejs3 "^0.5.3"
babel-plugin-polyfill-regenerator "^0.3.1" babel-plugin-polyfill-regenerator "^0.4.0"
core-js-compat "^3.22.1" core-js-compat "^3.22.1"
semver "^6.3.0" semver "^6.3.0"
@ -865,6 +933,15 @@
dependencies: dependencies:
regenerator-runtime "^0.13.4" regenerator-runtime "^0.13.4"
"@babel/template@^7.18.10":
version "7.18.10"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71"
integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==
dependencies:
"@babel/code-frame" "^7.18.6"
"@babel/parser" "^7.18.10"
"@babel/types" "^7.18.10"
"@babel/template@^7.18.6": "@babel/template@^7.18.6":
version "7.18.6" version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.6.tgz#1283f4993e00b929d6e2d3c72fdc9168a2977a31" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.6.tgz#1283f4993e00b929d6e2d3c72fdc9168a2977a31"
@ -874,7 +951,7 @@
"@babel/parser" "^7.18.6" "@babel/parser" "^7.18.6"
"@babel/types" "^7.18.6" "@babel/types" "^7.18.6"
"@babel/traverse@^7.13.0", "@babel/traverse@^7.18.9": "@babel/traverse@^7.18.9":
version "7.18.9" version "7.18.9"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.9.tgz#deeff3e8f1bad9786874cb2feda7a2d77a904f98" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.9.tgz#deeff3e8f1bad9786874cb2feda7a2d77a904f98"
integrity sha512-LcPAnujXGwBgv3/WHv01pHtb2tihcyW1XuL9wd7jqh1Z8AQkTd+QVjMrMijrln0T7ED3UXLIy36P9Ao7W75rYg== integrity sha512-LcPAnujXGwBgv3/WHv01pHtb2tihcyW1XuL9wd7jqh1Z8AQkTd+QVjMrMijrln0T7ED3UXLIy36P9Ao7W75rYg==
@ -890,6 +967,31 @@
debug "^4.1.0" debug "^4.1.0"
globals "^11.1.0" globals "^11.1.0"
"@babel/traverse@^7.19.0":
version "7.19.0"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.19.0.tgz#eb9c561c7360005c592cc645abafe0c3c4548eed"
integrity sha512-4pKpFRDh+utd2mbRC8JLnlsMUii3PMHjpL6a0SZ4NMZy7YFP9aXORxEhdMVOc9CpWtDF09IkciQLEhK7Ml7gRA==
dependencies:
"@babel/code-frame" "^7.18.6"
"@babel/generator" "^7.19.0"
"@babel/helper-environment-visitor" "^7.18.9"
"@babel/helper-function-name" "^7.19.0"
"@babel/helper-hoist-variables" "^7.18.6"
"@babel/helper-split-export-declaration" "^7.18.6"
"@babel/parser" "^7.19.0"
"@babel/types" "^7.19.0"
debug "^4.1.0"
globals "^11.1.0"
"@babel/types@^7.18.10", "@babel/types@^7.19.0":
version "7.19.0"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.19.0.tgz#75f21d73d73dc0351f3368d28db73465f4814600"
integrity sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA==
dependencies:
"@babel/helper-string-parser" "^7.18.10"
"@babel/helper-validator-identifier" "^7.18.6"
to-fast-properties "^2.0.0"
"@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.4.4": "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.4.4":
version "7.18.9" version "7.18.9"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.9.tgz#7148d64ba133d8d73a41b3172ac4b83a1452205f" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.9.tgz#7148d64ba133d8d73a41b3172ac4b83a1452205f"
@ -1140,11 +1242,16 @@ acorn-import-assertions@^1.7.6:
resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9"
integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==
acorn@^8.4.1, acorn@^8.5.0: acorn@^8.5.0:
version "8.7.1" version "8.7.1"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30"
integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A== integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==
acorn@^8.7.1:
version "8.8.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8"
integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==
ajv-keywords@^3.5.2: ajv-keywords@^3.5.2:
version "3.5.2" version "3.5.2"
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
@ -1175,7 +1282,7 @@ anymatch@~3.1.2:
normalize-path "^3.0.0" normalize-path "^3.0.0"
picomatch "^2.0.4" picomatch "^2.0.4"
babel-loader@^8.1.0: babel-loader@^8.2:
version "8.2.5" version "8.2.5"
resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.5.tgz#d45f585e654d5a5d90f5350a779d7647c5ed512e" resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.5.tgz#d45f585e654d5a5d90f5350a779d7647c5ed512e"
integrity sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ== integrity sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==
@ -1192,50 +1299,29 @@ babel-plugin-dynamic-import-node@^2.3.3:
dependencies: dependencies:
object.assign "^4.1.0" object.assign "^4.1.0"
babel-plugin-polyfill-corejs2@^0.3.1: babel-plugin-polyfill-corejs2@^0.3.2:
version "0.3.1" version "0.3.2"
resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz#440f1b70ccfaabc6b676d196239b138f8a2cfba5" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz#e4c31d4c89b56f3cf85b92558954c66b54bd972d"
integrity sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w== integrity sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==
dependencies: dependencies:
"@babel/compat-data" "^7.13.11" "@babel/compat-data" "^7.17.7"
"@babel/helper-define-polyfill-provider" "^0.3.1" "@babel/helper-define-polyfill-provider" "^0.3.2"
semver "^6.1.1" semver "^6.1.1"
babel-plugin-polyfill-corejs3@^0.5.2: babel-plugin-polyfill-corejs3@^0.5.3:
version "0.5.2" version "0.5.3"
resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz#aabe4b2fa04a6e038b688c5e55d44e78cd3a5f72" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz#d7e09c9a899079d71a8b670c6181af56ec19c5c7"
integrity sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ== integrity sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==
dependencies: dependencies:
"@babel/helper-define-polyfill-provider" "^0.3.1" "@babel/helper-define-polyfill-provider" "^0.3.2"
core-js-compat "^3.21.0" core-js-compat "^3.21.0"
babel-plugin-polyfill-regenerator@^0.3.1: babel-plugin-polyfill-regenerator@^0.4.0:
version "0.3.1" version "0.4.0"
resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz#2c0678ea47c75c8cc2fbb1852278d8fb68233990" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz#8f51809b6d5883e07e71548d75966ff7635527fe"
integrity sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A== integrity sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw==
dependencies: dependencies:
"@babel/helper-define-polyfill-provider" "^0.3.1" "@babel/helper-define-polyfill-provider" "^0.3.2"
babel-plugin-syntax-object-rest-spread@^6.8.0:
version "6.13.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5"
integrity sha512-C4Aq+GaAj83pRQ0EFgTvw5YO6T3Qz2KGrNRwIj9mSoNHVvdZY4KO2uA6HNtNXCw993iSZnckY1aLW8nOi8i4+w==
babel-plugin-transform-object-rest-spread@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06"
integrity sha512-ocgA9VJvyxwt+qJB0ncxV8kb/CjfTcECUY4tQ5VT7nP6Aohzobm8CDFaQ5FHdvZQzLmf0sgDxB8iRXZXxwZcyA==
dependencies:
babel-plugin-syntax-object-rest-spread "^6.8.0"
babel-runtime "^6.26.0"
babel-runtime@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
integrity sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==
dependencies:
core-js "^2.4.0"
regenerator-runtime "^0.11.0"
big.js@^5.2.2: big.js@^5.2.2:
version "5.2.2" version "5.2.2"
@ -1367,10 +1453,10 @@ core-js-compat@^3.21.0, core-js-compat@^3.22.1:
browserslist "^4.21.2" browserslist "^4.21.2"
semver "7.0.0" semver "7.0.0"
core-js@^2.4.0: core-js@^3.25.0:
version "2.6.12" version "3.25.1"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.25.1.tgz#5818e09de0db8956e16bf10e2a7141e931b7c69c"
integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== integrity sha512-sr0FY4lnO1hkQ4gLDr24K0DGnweGO1QwSj5BpfQjpSJPdqWalja4cTps29Y/PJVG/P7FYlPDkH3hO+Tr0CvDgQ==
cross-env@^7.0.3: cross-env@^7.0.3:
version "7.0.3" version "7.0.3"
@ -1413,7 +1499,7 @@ emojis-list@^3.0.0:
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78"
integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==
enhanced-resolve@^5.9.3: enhanced-resolve@^5.10.0:
version "5.10.0" version "5.10.0"
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz#0dc579c3bb2a1032e357ac45b8f3a6f3ad4fb1e6" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz#0dc579c3bb2a1032e357ac45b8f3a6f3ad4fb1e6"
integrity sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ== integrity sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==
@ -1887,11 +1973,6 @@ regenerate@^1.4.2:
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a"
integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==
regenerator-runtime@^0.11.0:
version "0.11.1"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==
regenerator-runtime@^0.13.4: regenerator-runtime@^0.13.4:
version "0.13.9" version "0.13.9"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52"
@ -2143,7 +2224,7 @@ uri-js@^4.2.2:
dependencies: dependencies:
punycode "^2.1.0" punycode "^2.1.0"
watchpack@^2.3.1: watchpack@^2.4.0:
version "2.4.0" version "2.4.0"
resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d"
integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==
@ -2151,7 +2232,7 @@ watchpack@^2.3.1:
glob-to-regexp "^0.4.1" glob-to-regexp "^0.4.1"
graceful-fs "^4.1.2" graceful-fs "^4.1.2"
webpack-cli@^4.8.0: webpack-cli@^4.10:
version "4.10.0" version "4.10.0"
resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.10.0.tgz#37c1d69c8d85214c5a65e589378f53aec64dab31" resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.10.0.tgz#37c1d69c8d85214c5a65e589378f53aec64dab31"
integrity sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w== integrity sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==
@ -2182,21 +2263,21 @@ webpack-sources@^3.2.3:
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde"
integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
webpack@^5.55.0: webpack@^5.74:
version "5.73.0" version "5.74.0"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.73.0.tgz#bbd17738f8a53ee5760ea2f59dce7f3431d35d38" resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.74.0.tgz#02a5dac19a17e0bb47093f2be67c695102a55980"
integrity sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA== integrity sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==
dependencies: dependencies:
"@types/eslint-scope" "^3.7.3" "@types/eslint-scope" "^3.7.3"
"@types/estree" "^0.0.51" "@types/estree" "^0.0.51"
"@webassemblyjs/ast" "1.11.1" "@webassemblyjs/ast" "1.11.1"
"@webassemblyjs/wasm-edit" "1.11.1" "@webassemblyjs/wasm-edit" "1.11.1"
"@webassemblyjs/wasm-parser" "1.11.1" "@webassemblyjs/wasm-parser" "1.11.1"
acorn "^8.4.1" acorn "^8.7.1"
acorn-import-assertions "^1.7.6" acorn-import-assertions "^1.7.6"
browserslist "^4.14.5" browserslist "^4.14.5"
chrome-trace-event "^1.0.2" chrome-trace-event "^1.0.2"
enhanced-resolve "^5.9.3" enhanced-resolve "^5.10.0"
es-module-lexer "^0.9.0" es-module-lexer "^0.9.0"
eslint-scope "5.1.1" eslint-scope "5.1.1"
events "^3.2.0" events "^3.2.0"
@ -2209,7 +2290,7 @@ webpack@^5.55.0:
schema-utils "^3.1.0" schema-utils "^3.1.0"
tapable "^2.1.1" tapable "^2.1.1"
terser-webpack-plugin "^5.1.3" terser-webpack-plugin "^5.1.3"
watchpack "^2.3.1" watchpack "^2.4.0"
webpack-sources "^3.2.3" webpack-sources "^3.2.3"
which@^2.0.1: which@^2.0.1:

View file

@ -0,0 +1,11 @@
{
"presets": [
[
"@babel/preset-env",
{
"useBuiltIns": "usage",
"corejs": "3.25.0"
}
]
]
}

View file

@ -1,23 +1,32 @@
{ {
"name": "ppcp-vaulting", "name": "ppcp-vaulting",
"version": "1.0.0", "version": "1.0.0",
"license": "GPL-3.0-or-later", "license": "GPL-3.0-or-later",
"main": "resources/js/myaccount-payments.js", "main": "resources/js/myaccount-payments.js",
"devDependencies": { "browserslist": [
"@babel/core": "^7.9.0", "> 0.5%",
"@babel/preset-env": "^7.9.5", "Safari >= 8",
"babel-loader": "^8.1.0", "Chrome >= 41",
"babel-plugin-transform-object-rest-spread": "^6.26.0", "Firefox >= 43",
"cross-env": "^7.0.3", "Edge >= 14"
"file-loader": "^6.2.0", ],
"sass": "^1.42.1", "dependencies": {
"sass-loader": "^12.1.0", "core-js": "^3.25.0"
"webpack": "^5.55.1", },
"webpack-cli": "^4.8.0" "devDependencies": {
}, "@babel/core": "^7.19",
"scripts": { "@babel/preset-env": "^7.19",
"build": "cross-env BABEL_ENV=default NODE_ENV=production webpack", "babel-loader": "^8.2",
"watch": "cross-env BABEL_ENV=default NODE_ENV=production webpack --watch", "cross-env": "^7.0.3",
"dev": "cross-env BABEL_ENV=default webpack --watch" "file-loader": "^6.2.0",
} "sass": "^1.42.1",
"sass-loader": "^12.1.0",
"webpack": "^5.74",
"webpack-cli": "^4.10"
},
"scripts": {
"build": "cross-env BABEL_ENV=default NODE_ENV=production webpack",
"watch": "cross-env BABEL_ENV=default NODE_ENV=production webpack --watch",
"dev": "cross-env BABEL_ENV=default webpack --watch"
}
} }

View file

@ -10,6 +10,7 @@ document.addEventListener(
PayPalCommerceGatewayVaulting.delete.endpoint, PayPalCommerceGatewayVaulting.delete.endpoint,
{ {
method: 'POST', method: 'POST',
credentials: 'same-origin',
headers: { headers: {
'content-type': 'application/json' 'content-type': 'application/json'
}, },

View file

@ -2,7 +2,7 @@ const path = require('path');
const isProduction = process.env.NODE_ENV === 'production'; const isProduction = process.env.NODE_ENV === 'production';
module.exports = { module.exports = {
devtool: 'eval-source-map', devtool: isProduction ? 'source-map' : 'eval-source-map',
mode: isProduction ? 'production' : 'development', mode: isProduction ? 'production' : 'development',
target: 'web', target: 'web',
entry: { entry: {

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,11 @@
{
"presets": [
[
"@babel/preset-env",
{
"useBuiltIns": "usage",
"corejs": "3.25.0"
}
]
]
}

View file

@ -1,21 +1,32 @@
{ {
"name": "ppcp-wc-gateway", "name": "ppcp-wc-gateway",
"version": "1.0.0", "version": "1.0.0",
"license": "GPL-3.0-or-later", "license": "GPL-3.0-or-later",
"main": "resources/js/gateway-settings.js", "main": "resources/js/gateway-settings.js",
"devDependencies": { "browserslist": [
"@babel/core": "^7.9.0", "> 0.5%",
"@babel/preset-env": "^7.9.5", "Safari >= 8",
"babel-loader": "^8.1.0", "Chrome >= 41",
"babel-plugin-transform-object-rest-spread": "^6.26.0", "Firefox >= 43",
"cross-env": "^7.0.3", "Edge >= 14"
"file-loader": "^6.2.0", ],
"webpack": "^5.55.0", "dependencies": {
"webpack-cli": "^4.8.0" "core-js": "^3.25.0"
}, },
"scripts": { "devDependencies": {
"build": "cross-env BABEL_ENV=default NODE_ENV=production webpack", "@babel/core": "^7.19",
"watch": "cross-env BABEL_ENV=default NODE_ENV=production webpack --watch", "@babel/preset-env": "^7.19",
"dev": "cross-env BABEL_ENV=default webpack --watch" "babel-loader": "^8.2",
} "cross-env": "^7.0.3",
"file-loader": "^6.2.0",
"sass": "^1.42.1",
"sass-loader": "^12.1.0",
"webpack": "^5.74",
"webpack-cli": "^4.10"
},
"scripts": {
"build": "cross-env BABEL_ENV=default NODE_ENV=production webpack",
"watch": "cross-env BABEL_ENV=default NODE_ENV=production webpack --watch",
"dev": "cross-env BABEL_ENV=default webpack --watch"
}
} }

View file

@ -2,7 +2,7 @@ const path = require('path');
const isProduction = process.env.NODE_ENV === 'production'; const isProduction = process.env.NODE_ENV === 'production';
module.exports = { module.exports = {
devtool: 'eval-source-map', devtool: isProduction ? 'source-map' : 'eval-source-map',
mode: isProduction ? 'production' : 'development', mode: isProduction ? 'production' : 'development',
target: 'web', target: 'web',
entry: { entry: {

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,11 @@
{
"presets": [
[
"@babel/preset-env",
{
"useBuiltIns": "usage",
"corejs": "3.25.0"
}
]
]
}

View file

@ -1,23 +1,32 @@
{ {
"name": "ppcp-webhooks", "name": "ppcp-webhooks",
"version": "1.0.0", "version": "1.0.0",
"license": "GPL-3.0-or-later", "license": "GPL-3.0-or-later",
"main": "resources/js/status-page.js", "main": "resources/js/status-page.js",
"devDependencies": { "browserslist": [
"@babel/core": "^7.9.0", "> 0.5%",
"@babel/preset-env": "^7.9.5", "Safari >= 8",
"babel-loader": "^8.1.0", "Chrome >= 41",
"babel-plugin-transform-object-rest-spread": "^6.26.0", "Firefox >= 43",
"cross-env": "^7.0.3", "Edge >= 14"
"file-loader": "^6.2.0", ],
"sass": "^1.42.1", "dependencies": {
"sass-loader": "^12.1.0", "core-js": "^3.25.0"
"webpack": "^5.55.0", },
"webpack-cli": "^4.8.0" "devDependencies": {
}, "@babel/core": "^7.19",
"scripts": { "@babel/preset-env": "^7.19",
"build": "cross-env BABEL_ENV=default NODE_ENV=production webpack", "babel-loader": "^8.2",
"watch": "cross-env BABEL_ENV=default NODE_ENV=production webpack --watch", "cross-env": "^7.0.3",
"dev": "cross-env BABEL_ENV=default webpack --watch" "file-loader": "^6.2.0",
} "sass": "^1.42.1",
"sass-loader": "^12.1.0",
"webpack": "^5.74",
"webpack-cli": "^4.10"
},
"scripts": {
"build": "cross-env BABEL_ENV=default NODE_ENV=production webpack",
"watch": "cross-env BABEL_ENV=default NODE_ENV=production webpack --watch",
"dev": "cross-env BABEL_ENV=default webpack --watch"
}
} }

View file

@ -10,6 +10,7 @@ document.addEventListener(
PayPalCommerceGatewayWebhooksStatus.resubscribe.endpoint, PayPalCommerceGatewayWebhooksStatus.resubscribe.endpoint,
{ {
method: 'POST', method: 'POST',
credentials: 'same-origin',
headers: { headers: {
'content-type': 'application/json' 'content-type': 'application/json'
}, },
@ -52,6 +53,7 @@ document.addEventListener(
PayPalCommerceGatewayWebhooksStatus.simulation.start.endpoint, PayPalCommerceGatewayWebhooksStatus.simulation.start.endpoint,
{ {
method: 'POST', method: 'POST',
credentials: 'same-origin',
headers: { headers: {
'content-type': 'application/json' 'content-type': 'application/json'
}, },
@ -106,6 +108,7 @@ document.addEventListener(
PayPalCommerceGatewayWebhooksStatus.simulation.state.endpoint, PayPalCommerceGatewayWebhooksStatus.simulation.state.endpoint,
{ {
method: 'GET', method: 'GET',
credentials: 'same-origin',
} }
); );

View file

@ -19,6 +19,7 @@ use WooCommerce\PayPalCommerce\Webhooks\Endpoint\SimulateEndpoint;
use WooCommerce\PayPalCommerce\Webhooks\Endpoint\SimulationStateEndpoint; use WooCommerce\PayPalCommerce\Webhooks\Endpoint\SimulationStateEndpoint;
use WooCommerce\PayPalCommerce\Webhooks\Handler\CheckoutOrderApproved; use WooCommerce\PayPalCommerce\Webhooks\Handler\CheckoutOrderApproved;
use WooCommerce\PayPalCommerce\Webhooks\Handler\CheckoutOrderCompleted; use WooCommerce\PayPalCommerce\Webhooks\Handler\CheckoutOrderCompleted;
use WooCommerce\PayPalCommerce\Webhooks\Handler\CheckoutPaymentApprovalReversed;
use WooCommerce\PayPalCommerce\Webhooks\Handler\PaymentCaptureCompleted; use WooCommerce\PayPalCommerce\Webhooks\Handler\PaymentCaptureCompleted;
use WooCommerce\PayPalCommerce\Webhooks\Handler\PaymentCaptureDenied; use WooCommerce\PayPalCommerce\Webhooks\Handler\PaymentCaptureDenied;
use WooCommerce\PayPalCommerce\Webhooks\Handler\PaymentCapturePending; use WooCommerce\PayPalCommerce\Webhooks\Handler\PaymentCapturePending;
@ -75,6 +76,7 @@ return array(
return array( return array(
new CheckoutOrderApproved( $logger, $prefix, $order_endpoint ), new CheckoutOrderApproved( $logger, $prefix, $order_endpoint ),
new CheckoutOrderCompleted( $logger, $prefix ), new CheckoutOrderCompleted( $logger, $prefix ),
new CheckoutPaymentApprovalReversed( $logger ),
new PaymentCaptureRefunded( $logger, $prefix ), new PaymentCaptureRefunded( $logger, $prefix ),
new PaymentCaptureReversed( $logger, $prefix ), new PaymentCaptureReversed( $logger, $prefix ),
new PaymentCaptureCompleted( $logger, $prefix, $order_endpoint ), new PaymentCaptureCompleted( $logger, $prefix, $order_endpoint ),

View file

@ -11,13 +11,15 @@ namespace WooCommerce\PayPalCommerce\Webhooks\Handler;
use Psr\Log\LoggerInterface; use Psr\Log\LoggerInterface;
use WooCommerce\PayPalCommerce\WcGateway\Gateway\PayUponInvoice\PayUponInvoiceGateway; use WooCommerce\PayPalCommerce\WcGateway\Gateway\PayUponInvoice\PayUponInvoiceGateway;
use WP_REST_Request;
use WP_REST_Response;
/** /**
* Class CheckoutOrderCompleted * Class CheckoutOrderCompleted
*/ */
class CheckoutOrderCompleted implements RequestHandler { class CheckoutOrderCompleted implements RequestHandler {
use PrefixTrait; use PrefixTrait, RequestHandlerTrait;
/** /**
* The logger. * The logger.
@ -51,97 +53,45 @@ class CheckoutOrderCompleted implements RequestHandler {
/** /**
* Whether a handler is responsible for a given request or not. * Whether a handler is responsible for a given request or not.
* *
* @param \WP_REST_Request $request The request. * @param WP_REST_Request $request The request.
* *
* @return bool * @return bool
*/ */
public function responsible_for_request( \WP_REST_Request $request ): bool { public function responsible_for_request( WP_REST_Request $request ): bool {
return in_array( $request['event_type'], $this->event_types(), true ); return in_array( $request['event_type'], $this->event_types(), true );
} }
/** /**
* Responsible for handling the request. * Responsible for handling the request.
* *
* @param \WP_REST_Request $request The request. * @param WP_REST_Request $request The request.
* *
* @return \WP_REST_Response * @return WP_REST_Response
*/ */
public function handle_request( \WP_REST_Request $request ): \WP_REST_Response { public function handle_request( WP_REST_Request $request ): WP_REST_Response {
$response = array( 'success' => false ); $response = array( 'success' => false );
$custom_ids = array_filter(
array_map(
static function ( array $purchase_unit ): string {
return isset( $purchase_unit['custom_id'] ) ?
(string) $purchase_unit['custom_id'] : '';
},
isset( $request['resource']['purchase_units'] ) ?
(array) $request['resource']['purchase_units'] : array()
),
static function ( string $order_id ): bool {
return ! empty( $order_id );
}
);
$custom_ids = $this->get_custom_ids_from_request( $request );
if ( empty( $custom_ids ) ) { if ( empty( $custom_ids ) ) {
$message = sprintf( return $this->no_custom_ids_from_request( $request, $response );
// translators: %s is the PayPal webhook Id.
__(
'No order for webhook event %s was found.',
'woocommerce-paypal-payments'
),
isset( $request['id'] ) ? $request['id'] : ''
);
$this->logger->log(
'warning',
$message,
array(
'request' => $request,
)
);
$response['message'] = $message;
return rest_ensure_response( $response );
} }
$order_ids = array_map( $wc_orders = $this->get_wc_orders_from_custom_ids( $custom_ids );
array(
$this,
'sanitize_custom_id',
),
$custom_ids
);
$args = array(
'post__in' => $order_ids,
'limit' => -1,
);
$wc_orders = wc_get_orders( $args );
if ( ! $wc_orders ) { if ( ! $wc_orders ) {
$message = sprintf( return $this->no_wc_orders_from_custom_ids( $request, $response );
// translators: %s is the PayPal order Id.
__( 'Order for PayPal order %s not found.', 'woocommerce-paypal-payments' ),
isset( $request['resource']['id'] ) ? $request['resource']['id'] : ''
);
$this->logger->log(
'warning',
$message,
array(
'request' => $request,
)
);
$response['message'] = $message;
return rest_ensure_response( $response );
} }
foreach ( $wc_orders as $wc_order ) { foreach ( $wc_orders as $wc_order ) {
if ( PayUponInvoiceGateway::ID === $wc_order->get_payment_method() ) { if ( PayUponInvoiceGateway::ID === $wc_order->get_payment_method() ) {
continue; continue;
} }
if ( ! in_array( $wc_order->get_status(), array( 'pending', 'on-hold' ), true ) ) { if ( ! in_array( $wc_order->get_status(), array( 'pending', 'on-hold' ), true ) ) {
continue; continue;
} }
$wc_order->payment_complete(); $wc_order->payment_complete();
$this->logger->log(
'info', $this->logger->info(
sprintf( sprintf(
// translators: %s is the order ID. // translators: %s is the order ID.
__( __(
@ -149,15 +99,11 @@ class CheckoutOrderCompleted implements RequestHandler {
'woocommerce-paypal-payments' 'woocommerce-paypal-payments'
), ),
(string) $wc_order->get_id() (string) $wc_order->get_id()
),
array(
'request' => $request,
'order' => $wc_order,
) )
); );
} }
$response['success'] = true; $response['success'] = true;
return rest_ensure_response( $response ); return new WP_REST_Response( $response );
} }
// phpcs:enable Inpsyde.CodeQuality.FunctionLength.TooLong
} }

View file

@ -0,0 +1,101 @@
<?php
/**
* Handles CHECKOUT.PAYMENT-APPROVAL.REVERSED Webhook.
*
* @package WooCommerce\PayPalCommerce\Webhooks\Handler
*/
declare(strict_types=1);
namespace WooCommerce\PayPalCommerce\Webhooks\Handler;
use Psr\Log\LoggerInterface;
use WP_REST_Request;
use WP_REST_Response;
/**
* Class CheckoutPaymentApprovalReversed
*/
class CheckoutPaymentApprovalReversed implements RequestHandler {
use RequestHandlerTrait, PrefixTrait;
/**
* The logger.
*
* @var LoggerInterface
*/
protected $logger;
/**
* CheckoutPaymentApprovalReversed constructor.
*
* @param LoggerInterface $logger The logger.
*/
public function __construct( LoggerInterface $logger ) {
$this->logger = $logger;
}
/**
* The event types a handler handles.
*
* @return string[]
*/
public function event_types(): array {
return array(
'CHECKOUT.PAYMENT-APPROVAL.REVERSED',
);
}
/**
* Whether a handler is responsible for a given request or not.
*
* @param WP_REST_Request $request The request.
*
* @return bool
*/
public function responsible_for_request( WP_REST_Request $request ): bool {
return in_array( $request['event_type'], $this->event_types(), true );
}
/**
* Responsible for handling the request.
*
* @param WP_REST_Request $request The request.
*
* @return WP_REST_Response
*/
public function handle_request( WP_REST_Request $request ): WP_REST_Response {
$response = array( 'success' => false );
$custom_ids = $this->get_custom_ids_from_request( $request );
if ( empty( $custom_ids ) ) {
return $this->no_custom_ids_from_request( $request, $response );
}
$wc_orders = $this->get_wc_orders_from_custom_ids( $custom_ids );
if ( ! $wc_orders ) {
return $this->no_wc_orders_from_custom_ids( $request, $response );
}
foreach ( $wc_orders as $wc_order ) {
if ( in_array( $wc_order->get_status(), array( 'pending', 'on-hold' ), true ) ) {
$error_message = sprintf(
// translators: %1$s is the order id.
__(
'Failed to capture order %1$s through PayPal.',
'woocommerce-paypal-payments'
),
(string) $wc_order->get_id()
);
$this->logger->warning( 'CHECKOUT.PAYMENT-APPROVAL.REVERSED received. ' . $error_message );
$wc_order->update_status( 'failed', $error_message );
}
}
$response['success'] = true;
return new WP_REST_Response( $response );
}
}

View file

@ -0,0 +1,111 @@
<?php
/**
* Trait which helps to handle the request.
*
* @package WooCommerce\PayPalCommerce\Webhooks\Handler
*/
declare(strict_types=1);
namespace WooCommerce\PayPalCommerce\Webhooks\Handler;
use stdClass;
use WC_Order;
use WP_REST_Request;
use WP_REST_Response;
trait RequestHandlerTrait {
/**
* Get available custom ids from the given request
*
* @param \WP_REST_Request $request The request.
* @return array
*/
protected function get_custom_ids_from_request( WP_REST_Request $request ): array {
return array_filter(
array_map(
static function ( array $purchase_unit ): string {
return isset( $purchase_unit['custom_id'] ) ?
(string) $purchase_unit['custom_id'] : '';
},
$request['resource'] !== null && isset( $request['resource']['purchase_units'] ) ?
(array) $request['resource']['purchase_units'] : array()
),
static function ( string $order_id ): bool {
return ! empty( $order_id );
}
);
}
/**
* Get WC orders from the given custom ids.
*
* @param array $custom_ids The custom ids.
* @return WC_Order[]
*/
protected function get_wc_orders_from_custom_ids( array $custom_ids ): array {
$order_ids = array_map(
array(
$this,
'sanitize_custom_id',
),
$custom_ids
);
$args = array(
'post__in' => $order_ids,
'limit' => -1,
);
$orders = wc_get_orders( $args );
return is_array( $orders ) ? $orders : array();
}
/**
* Return and log response for no custom ids found in request.
*
* @param WP_REST_Request $request The request.
* @param array $response The response.
* @return WP_REST_Response
*/
protected function no_custom_ids_from_request( WP_REST_Request $request, array $response ): WP_REST_Response {
$message = sprintf(
// translators: %s is the PayPal webhook Id.
__( 'No order for webhook event %s was found.', 'woocommerce-paypal-payments' ),
$request['id'] !== null && isset( $request['id'] ) ? $request['id'] : ''
);
return $this->log_and_return_response( $message, $response );
}
/**
* Return and log response for no WC orders found in response.
*
* @param WP_REST_Request $request The request.
* @param array $response The response.
* @return WP_REST_Response
*/
protected function no_wc_orders_from_custom_ids( WP_REST_Request $request, array $response ): WP_REST_Response {
$message = sprintf(
// translators: %s is the PayPal order Id.
__( 'WC order for PayPal order %s not found.', 'woocommerce-paypal-payments' ),
$request['resource'] !== null && isset( $request['resource']['id'] ) ? $request['resource']['id'] : ''
);
return $this->log_and_return_response( $message, $response );
}
/**
* Return and log response with the given message.
*
* @param string $message The message.
* @param array $response The response.
* @return WP_REST_Response
*/
private function log_and_return_response( string $message, array $response ): WP_REST_Response {
$this->logger->warning( $message );
$response['message'] = $message;
return new WP_REST_Response( $response );
}
}

View file

@ -2,7 +2,7 @@ const path = require('path');
const isProduction = process.env.NODE_ENV === 'production'; const isProduction = process.env.NODE_ENV === 'production';
module.exports = { module.exports = {
devtool: 'eval-source-map', devtool: isProduction ? 'source-map' : 'eval-source-map',
mode: isProduction ? 'production' : 'development', mode: isProduction ? 'production' : 'development',
target: 'web', target: 'web',
entry: { entry: {

File diff suppressed because it is too large Load diff

View file

@ -11,13 +11,15 @@
"install:modules:ppcp-webhooks": "cd modules/ppcp-webhooks && yarn install && cd -", "install:modules:ppcp-webhooks": "cd modules/ppcp-webhooks && yarn install && cd -",
"install:modules:ppcp-vaulting": "cd modules/ppcp-vaulting && yarn install && cd -", "install:modules:ppcp-vaulting": "cd modules/ppcp-vaulting && yarn install && cd -",
"install:modules:ppcp-order-tracking": "cd modules/ppcp-order-tracking && yarn install && cd -", "install:modules:ppcp-order-tracking": "cd modules/ppcp-order-tracking && yarn install && cd -",
"install:modules": "yarn run install:modules:ppcp-button && yarn run install:modules:ppcp-wc-gateway && yarn run install:modules:ppcp-webhooks && yarn run install:modules:ppcp-vaulting && yarn run install:modules:ppcp-order-tracking", "install:modules:ppcp-onboarding": "cd modules/ppcp-onboarding && yarn install && cd -",
"install:modules": "yarn run install:modules:ppcp-button && yarn run install:modules:ppcp-wc-gateway && yarn run install:modules:ppcp-webhooks && yarn run install:modules:ppcp-vaulting && yarn run install:modules:ppcp-order-tracking && yarn run install:modules:ppcp-onboarding",
"build:modules:ppcp-button": "cd modules/ppcp-button && yarn run build && cd -", "build:modules:ppcp-button": "cd modules/ppcp-button && yarn run build && cd -",
"build:modules:ppcp-wc-gateway": "cd modules/ppcp-wc-gateway && yarn run build && cd -", "build:modules:ppcp-wc-gateway": "cd modules/ppcp-wc-gateway && yarn run build && cd -",
"build:modules:ppcp-webhooks": "cd modules/ppcp-webhooks && yarn run build && cd -", "build:modules:ppcp-webhooks": "cd modules/ppcp-webhooks && yarn run build && cd -",
"build:modules:ppcp-vaulting": "cd modules/ppcp-vaulting && yarn run build && cd -", "build:modules:ppcp-vaulting": "cd modules/ppcp-vaulting && yarn run build && cd -",
"build:modules:ppcp-order-tracking": "cd modules/ppcp-order-tracking && yarn run build && cd -", "build:modules:ppcp-order-tracking": "cd modules/ppcp-order-tracking && yarn run build && cd -",
"build:modules": "yarn run build:modules:ppcp-button && yarn build:modules:ppcp-wc-gateway && yarn build:modules:ppcp-webhooks && yarn build:modules:ppcp-vaulting && yarn build:modules:ppcp-order-tracking", "build:modules:ppcp-onboarding": "cd modules/ppcp-onboarding && yarn run build && cd -",
"build:modules": "yarn run build:modules:ppcp-button && yarn build:modules:ppcp-wc-gateway && yarn build:modules:ppcp-webhooks && yarn build:modules:ppcp-vaulting && yarn build:modules:ppcp-order-tracking && yarn build:modules:ppcp-onboarding",
"build:dev": "yarn run install:modules && yarn run build:modules", "build:dev": "yarn run install:modules && yarn run build:modules",
"ddev:setup": "ddev start && ddev orchestrate", "ddev:setup": "ddev start && ddev orchestrate",