diff --git a/.nvmrc b/.nvmrc
index 2a393af59..7af24b7dd 100644
--- a/.nvmrc
+++ b/.nvmrc
@@ -1 +1 @@
-20.18.0
+22.11.0
diff --git a/classes/class-alerts-list.php b/classes/class-alerts-list.php
index 72bee5ae1..c49c49ac9 100644
--- a/classes/class-alerts-list.php
+++ b/classes/class-alerts-list.php
@@ -374,8 +374,8 @@ public function save_alert_inline_edit( $data, $postarr ) {
$trigger_author = wp_stream_filter_input( INPUT_POST, 'wp_stream_trigger_author' );
$trigger_connector_and_context = wp_stream_filter_input( INPUT_POST, 'wp_stream_trigger_connector_or_context' );
$trigger_connector_and_context_split = explode( '-', $trigger_connector_and_context );
- $trigger_connector = $trigger_connector_and_context_split[0];
- $trigger_context = $trigger_connector_and_context_split[1];
+ $trigger_connector = array_shift( $trigger_connector_and_context_split ) ?? '';
+ $trigger_context = array_shift( $trigger_connector_and_context_split ) ?? '';
$trigger_action = wp_stream_filter_input( INPUT_POST, 'wp_stream_trigger_action' );
$alert_type = wp_stream_filter_input( INPUT_POST, 'wp_stream_alert_type' );
diff --git a/classes/class-alerts.php b/classes/class-alerts.php
index ae25e387b..0af952d26 100644
--- a/classes/class-alerts.php
+++ b/classes/class-alerts.php
@@ -610,6 +610,24 @@ public function display_triggers_box( $post = array() ) {
echo '';
$form->render_fields();
wp_nonce_field( 'save_alert', 'wp_stream_alerts_nonce' );
+
+ if ( $post instanceof \WP_Post ) :
+ /**
+ * These fields are required for the post to be saved, as the Admin AJAX inline_save action is fired.
+ *
+ * @see get_inline_data()
+ * @see wp_ajax_inline_save()
+ */
+ ?>
+
+
+
+
+
+
+
+ =7.1"
+ "php": ">=7.2"
},
"type": "library",
"extra": {
@@ -5692,7 +5692,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php80/tree/v1.30.0"
+ "source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0"
},
"funding": [
{
@@ -5708,7 +5708,7 @@
"type": "tidelift"
}
],
- "time": "2024-05-31T15:07:36+00:00"
+ "time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-php81",
@@ -5788,16 +5788,16 @@
},
{
"name": "symfony/process",
- "version": "v5.4.40",
+ "version": "v5.4.46",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "deedcb3bb4669cae2148bc920eafd2b16dc7c046"
+ "reference": "01906871cb9b5e3cf872863b91aba4ec9767daf4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/deedcb3bb4669cae2148bc920eafd2b16dc7c046",
- "reference": "deedcb3bb4669cae2148bc920eafd2b16dc7c046",
+ "url": "https://api.github.com/repos/symfony/process/zipball/01906871cb9b5e3cf872863b91aba4ec9767daf4",
+ "reference": "01906871cb9b5e3cf872863b91aba4ec9767daf4",
"shasum": ""
},
"require": {
@@ -5830,7 +5830,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/process/tree/v5.4.40"
+ "source": "https://github.com/symfony/process/tree/v5.4.46"
},
"funding": [
{
@@ -5846,7 +5846,7 @@
"type": "tidelift"
}
],
- "time": "2024-05-31T14:33:22+00:00"
+ "time": "2024-11-06T09:18:28+00:00"
},
{
"name": "symfony/service-contracts",
diff --git a/connectors/class-connector-buddypress.php b/connectors/class-connector-buddypress.php
index 490516fbb..f21c98462 100644
--- a/connectors/class-connector-buddypress.php
+++ b/connectors/class-connector-buddypress.php
@@ -176,7 +176,7 @@ public function action_links( $links, $record ) {
// Check we have access to BuddyPress on this blog and that the user will have access to the links.
if ( ! $this->is_dependency_satisfied() || ! bp_current_user_can_moderate() ) {
- return [];
+ return array();
}
// In the links, we also need to check the functions themselves as they're dependent on the BuddyPress module being enabled.
diff --git a/package-lock.json b/package-lock.json
index 0967598b2..d574f3576 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,19 +11,19 @@
"timeago": "^1.6.7"
},
"devDependencies": {
- "@playwright/test": "^1.48.1",
- "@types/node": "^22.7.9",
- "@wordpress/e2e-test-utils-playwright": "^1.10.0",
- "@wordpress/eslint-plugin": "^21.3.0",
- "@wordpress/scripts": "^30.3.0",
+ "@playwright/test": "^1.49.0",
+ "@types/node": "^22.9.1",
+ "@wordpress/e2e-test-utils-playwright": "^1.12.0",
+ "@wordpress/eslint-plugin": "^21.5.0",
+ "@wordpress/scripts": "^30.5.1",
"copy-webpack-plugin": "^12.0.2",
"eslint-plugin-react-hooks": "^5.0.0",
"jquery": "3.7.1",
- "npm-run-all2": "^7.0.0",
- "uuid": "^10.0.0"
+ "npm-run-all2": "^7.0.1",
+ "uuid": "^11.0.3"
},
"engines": {
- "node": "^20.18.0"
+ "node": "^22.11.0"
}
},
"node_modules/@ampproject/remapping": {
@@ -3331,13 +3331,13 @@
}
},
"node_modules/@playwright/test": {
- "version": "1.48.1",
- "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.48.1.tgz",
- "integrity": "sha512-s9RtWoxkOLmRJdw3oFvhFbs9OJS0BzrLUc8Hf6l2UdCNd1rqeEyD4BhCJkvzeEoD1FsK4mirsWwGerhVmYKtZg==",
+ "version": "1.49.0",
+ "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.49.0.tgz",
+ "integrity": "sha512-DMulbwQURa8rNIQrf94+jPJQ4FmOVdpE5ZppRNvWVjvhC+6sOeo28r8MgIpQRYouXRtt/FCCXU7zn20jnHR4Qw==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
- "playwright": "1.48.1"
+ "playwright": "1.49.0"
},
"bin": {
"playwright": "cli.js"
@@ -4306,13 +4306,13 @@
"license": "MIT"
},
"node_modules/@types/node": {
- "version": "22.7.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.9.tgz",
- "integrity": "sha512-jrTfRC7FM6nChvU7X2KqcrgquofrWLFDeYC1hKfwNWomVvrn7JIksqf344WN2X/y8xrgqBd2dJATZV4GbatBfg==",
+ "version": "22.9.1",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.1.tgz",
+ "integrity": "sha512-p8Yy/8sw1caA8CdRIQBG5tiLHmxtQKObCijiAa9Ez+d4+PRffM4054xbju0msf+cvhJpnFEeNjxmVT/0ipktrg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "undici-types": "~6.19.2"
+ "undici-types": "~6.19.8"
}
},
"node_modules/@types/node-forge": {
@@ -4521,6 +4521,84 @@
"@types/node": "*"
}
},
+ "node_modules/@typescript-eslint/eslint-plugin": {
+ "version": "6.21.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz",
+ "integrity": "sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@eslint-community/regexpp": "^4.5.1",
+ "@typescript-eslint/scope-manager": "6.21.0",
+ "@typescript-eslint/type-utils": "6.21.0",
+ "@typescript-eslint/utils": "6.21.0",
+ "@typescript-eslint/visitor-keys": "6.21.0",
+ "debug": "^4.3.4",
+ "graphemer": "^1.4.0",
+ "ignore": "^5.2.4",
+ "natural-compare": "^1.4.0",
+ "semver": "^7.5.4",
+ "ts-api-utils": "^1.0.1"
+ },
+ "engines": {
+ "node": "^16.0.0 || >=18.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha",
+ "eslint": "^7.0.0 || ^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+ "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@typescript-eslint/parser": {
+ "version": "6.21.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz",
+ "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "@typescript-eslint/scope-manager": "6.21.0",
+ "@typescript-eslint/types": "6.21.0",
+ "@typescript-eslint/typescript-estree": "6.21.0",
+ "@typescript-eslint/visitor-keys": "6.21.0",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": "^16.0.0 || >=18.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^7.0.0 || ^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
"node_modules/@typescript-eslint/scope-manager": {
"version": "6.21.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz",
@@ -4538,6 +4616,34 @@
"url": "https://opencollective.com/typescript-eslint"
}
},
+ "node_modules/@typescript-eslint/type-utils": {
+ "version": "6.21.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz",
+ "integrity": "sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/typescript-estree": "6.21.0",
+ "@typescript-eslint/utils": "6.21.0",
+ "debug": "^4.3.4",
+ "ts-api-utils": "^1.0.1"
+ },
+ "engines": {
+ "node": "^16.0.0 || >=18.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^7.0.0 || ^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
"node_modules/@typescript-eslint/types": {
"version": "6.21.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz",
@@ -4591,6 +4697,45 @@
"node": ">=10"
}
},
+ "node_modules/@typescript-eslint/utils": {
+ "version": "6.21.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz",
+ "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.4.0",
+ "@types/json-schema": "^7.0.12",
+ "@types/semver": "^7.5.0",
+ "@typescript-eslint/scope-manager": "6.21.0",
+ "@typescript-eslint/types": "6.21.0",
+ "@typescript-eslint/typescript-estree": "6.21.0",
+ "semver": "^7.5.4"
+ },
+ "engines": {
+ "node": "^16.0.0 || >=18.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/utils/node_modules/semver": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+ "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/@typescript-eslint/visitor-keys": {
"version": "6.21.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz",
@@ -4898,9 +5043,9 @@
}
},
"node_modules/@wordpress/e2e-test-utils-playwright": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/@wordpress/e2e-test-utils-playwright/-/e2e-test-utils-playwright-1.10.0.tgz",
- "integrity": "sha512-pxXW0nLToS/OPKzFnpi6Q9xWF67n+JYk3q2lNXrCirE5IffTmpy+MwbRD2eFiHq7qzTcO9MeQKwq/t8V4NTVqA==",
+ "version": "1.12.0",
+ "resolved": "https://registry.npmjs.org/@wordpress/e2e-test-utils-playwright/-/e2e-test-utils-playwright-1.12.0.tgz",
+ "integrity": "sha512-Lb5Z+Ia80679efJOl3W8drIbXDlahbRIrJrQmd096n0mbRaplm+JLFydLYlT4F+5XxYbrrwTkqBcNXIA2JlXHw==",
"dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
@@ -4920,17 +5065,17 @@
}
},
"node_modules/@wordpress/eslint-plugin": {
- "version": "21.3.0",
- "resolved": "https://registry.npmjs.org/@wordpress/eslint-plugin/-/eslint-plugin-21.3.0.tgz",
- "integrity": "sha512-nZTaj4RwfAgE16oVqWf7UkDohHrZkk4S4m3tC8j8ZO8XbH+QMiJi7Ga6vi9VlUu47k6xo4vQYNfvnpX+qzX7eA==",
+ "version": "21.5.0",
+ "resolved": "https://registry.npmjs.org/@wordpress/eslint-plugin/-/eslint-plugin-21.5.0.tgz",
+ "integrity": "sha512-tXJPfvLsEuQ8faBr3kU5o1KpVQmjgoUwJ2rxgWIjKadMZCnmZqqQVfKToedZkSbip6FgAyqjG/j9glkxPrX12Q==",
"dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/eslint-parser": "7.25.7",
"@typescript-eslint/eslint-plugin": "^6.4.1",
"@typescript-eslint/parser": "^6.4.1",
- "@wordpress/babel-preset-default": "^8.10.0",
- "@wordpress/prettier-config": "^4.10.0",
+ "@wordpress/babel-preset-default": "*",
+ "@wordpress/prettier-config": "*",
"cosmiconfig": "^7.0.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-import": "^2.25.2",
@@ -4945,286 +5090,20 @@
"requireindex": "^1.2.0"
},
"engines": {
- "node": ">=18.12.0",
- "npm": ">=8.19.2"
- },
- "peerDependencies": {
- "@babel/core": ">=7",
- "eslint": ">=8",
- "prettier": ">=3",
- "typescript": ">=4"
- },
- "peerDependenciesMeta": {
- "prettier": {
- "optional": true
- },
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@wordpress/eslint-plugin/node_modules/@typescript-eslint/eslint-plugin": {
- "version": "6.21.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz",
- "integrity": "sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@eslint-community/regexpp": "^4.5.1",
- "@typescript-eslint/scope-manager": "6.21.0",
- "@typescript-eslint/type-utils": "6.21.0",
- "@typescript-eslint/utils": "6.21.0",
- "@typescript-eslint/visitor-keys": "6.21.0",
- "debug": "^4.3.4",
- "graphemer": "^1.4.0",
- "ignore": "^5.2.4",
- "natural-compare": "^1.4.0",
- "semver": "^7.5.4",
- "ts-api-utils": "^1.0.1"
- },
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha",
- "eslint": "^7.0.0 || ^8.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@wordpress/eslint-plugin/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/type-utils": {
- "version": "6.21.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz",
- "integrity": "sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/typescript-estree": "6.21.0",
- "@typescript-eslint/utils": "6.21.0",
- "debug": "^4.3.4",
- "ts-api-utils": "^1.0.1"
- },
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^7.0.0 || ^8.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@wordpress/eslint-plugin/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": {
- "version": "6.21.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz",
- "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.4.0",
- "@types/json-schema": "^7.0.12",
- "@types/semver": "^7.5.0",
- "@typescript-eslint/scope-manager": "6.21.0",
- "@typescript-eslint/types": "6.21.0",
- "@typescript-eslint/typescript-estree": "6.21.0",
- "semver": "^7.5.4"
- },
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^7.0.0 || ^8.0.0"
- }
- },
- "node_modules/@wordpress/eslint-plugin/node_modules/@typescript-eslint/parser": {
- "version": "6.21.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz",
- "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "@typescript-eslint/scope-manager": "6.21.0",
- "@typescript-eslint/types": "6.21.0",
- "@typescript-eslint/typescript-estree": "6.21.0",
- "@typescript-eslint/visitor-keys": "6.21.0",
- "debug": "^4.3.4"
- },
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^7.0.0 || ^8.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@wordpress/eslint-plugin/node_modules/eslint-plugin-jest": {
- "version": "27.9.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.9.0.tgz",
- "integrity": "sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/utils": "^5.10.0"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- },
- "peerDependencies": {
- "@typescript-eslint/eslint-plugin": "^5.0.0 || ^6.0.0 || ^7.0.0",
- "eslint": "^7.0.0 || ^8.0.0",
- "jest": "*"
- },
- "peerDependenciesMeta": {
- "@typescript-eslint/eslint-plugin": {
- "optional": true
- },
- "jest": {
- "optional": true
- }
- }
- },
- "node_modules/@wordpress/eslint-plugin/node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/scope-manager": {
- "version": "5.62.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz",
- "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/types": "5.62.0",
- "@typescript-eslint/visitor-keys": "5.62.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@wordpress/eslint-plugin/node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/types": {
- "version": "5.62.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz",
- "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@wordpress/eslint-plugin/node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/typescript-estree": {
- "version": "5.62.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz",
- "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "@typescript-eslint/types": "5.62.0",
- "@typescript-eslint/visitor-keys": "5.62.0",
- "debug": "^4.3.4",
- "globby": "^11.1.0",
- "is-glob": "^4.0.3",
- "semver": "^7.3.7",
- "tsutils": "^3.21.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@wordpress/eslint-plugin/node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/utils": {
- "version": "5.62.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz",
- "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.2.0",
- "@types/json-schema": "^7.0.9",
- "@types/semver": "^7.3.12",
- "@typescript-eslint/scope-manager": "5.62.0",
- "@typescript-eslint/types": "5.62.0",
- "@typescript-eslint/typescript-estree": "5.62.0",
- "eslint-scope": "^5.1.1",
- "semver": "^7.3.7"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
- }
- },
- "node_modules/@wordpress/eslint-plugin/node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/visitor-keys": {
- "version": "5.62.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz",
- "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/types": "5.62.0",
- "eslint-visitor-keys": "^3.3.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": ">=18.12.0",
+ "npm": ">=8.19.2"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@wordpress/eslint-plugin/node_modules/eslint-plugin-playwright": {
- "version": "0.15.3",
- "resolved": "https://registry.npmjs.org/eslint-plugin-playwright/-/eslint-plugin-playwright-0.15.3.tgz",
- "integrity": "sha512-LQMW5y0DLK5Fnpya7JR1oAYL2/7Y9wDiYw6VZqlKqcRGSgjbVKNqxraphk7ra1U3Bb5EK444xMgUlQPbMg2M1g==",
- "dev": true,
- "license": "MIT",
"peerDependencies": {
- "eslint": ">=7",
- "eslint-plugin-jest": ">=25"
+ "@babel/core": ">=7",
+ "eslint": ">=8",
+ "prettier": ">=3",
+ "typescript": ">=4"
},
"peerDependenciesMeta": {
- "eslint-plugin-jest": {
+ "prettier": {
+ "optional": true
+ },
+ "typescript": {
"optional": true
}
}
@@ -5242,19 +5121,6 @@
"eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0"
}
},
- "node_modules/@wordpress/eslint-plugin/node_modules/eslint-visitor-keys": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
- "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
"node_modules/@wordpress/eslint-plugin/node_modules/globals": {
"version": "13.24.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
@@ -5271,19 +5137,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@wordpress/eslint-plugin/node_modules/semver": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
- "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/@wordpress/jest-console": {
"version": "8.10.0",
"resolved": "https://registry.npmjs.org/@wordpress/jest-console/-/jest-console-8.10.0.tgz",
@@ -5368,25 +5221,25 @@
}
},
"node_modules/@wordpress/scripts": {
- "version": "30.3.0",
- "resolved": "https://registry.npmjs.org/@wordpress/scripts/-/scripts-30.3.0.tgz",
- "integrity": "sha512-8CPh5Mr21kjmRcyjQtm548Ycr+hBUXzBm8IF9sVng3/AQ8pB7mUXRqNZ18Rr/v6awcOZEZaODOEQq5YRg0cAXA==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/@wordpress/scripts/-/scripts-30.5.1.tgz",
+ "integrity": "sha512-VM5NViNfdQR69MWxLnptB8svvnrEV+oUVgWL8icsLdCt2CENgPwUIk/Gs0wzeAVK05cGjrCESapJnEgIXp5lzA==",
"dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/core": "7.25.7",
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.11",
"@svgr/webpack": "^8.0.1",
- "@wordpress/babel-preset-default": "^8.10.0",
- "@wordpress/browserslist-config": "^6.10.0",
- "@wordpress/dependency-extraction-webpack-plugin": "^6.10.0",
- "@wordpress/e2e-test-utils-playwright": "^1.10.0",
- "@wordpress/eslint-plugin": "^21.3.0",
- "@wordpress/jest-preset-default": "^12.10.0",
- "@wordpress/npm-package-json-lint-config": "^5.10.0",
- "@wordpress/postcss-plugins-preset": "^5.10.0",
- "@wordpress/prettier-config": "^4.10.0",
- "@wordpress/stylelint-config": "^23.2.0",
+ "@wordpress/babel-preset-default": "*",
+ "@wordpress/browserslist-config": "*",
+ "@wordpress/dependency-extraction-webpack-plugin": "*",
+ "@wordpress/e2e-test-utils-playwright": "*",
+ "@wordpress/eslint-plugin": "*",
+ "@wordpress/jest-preset-default": "*",
+ "@wordpress/npm-package-json-lint-config": "*",
+ "@wordpress/postcss-plugins-preset": "*",
+ "@wordpress/prettier-config": "*",
+ "@wordpress/stylelint-config": "*",
"adm-zip": "^0.5.9",
"babel-jest": "29.7.0",
"babel-loader": "9.2.1",
@@ -5416,7 +5269,6 @@
"npm-package-json-lint": "^6.4.0",
"npm-packlist": "^3.0.0",
"postcss": "^8.4.5",
- "postcss-import": "^16.1.0",
"postcss-loader": "^6.2.1",
"prettier": "npm:wp-prettier@3.0.3",
"puppeteer-core": "^23.1.0",
@@ -5444,19 +5296,19 @@
"npm": ">=8.19.2"
},
"peerDependencies": {
- "@playwright/test": "^1.47.0",
+ "@playwright/test": "^1.48.1",
"react": "^18.0.0",
"react-dom": "^18.0.0"
}
},
"node_modules/@wordpress/scripts/node_modules/@puppeteer/browsers": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.4.0.tgz",
- "integrity": "sha512-x8J1csfIygOwf6D6qUAZ0ASk3z63zPb7wkNeHRerCMh82qWKUrOgkuP005AJC8lDL6/evtXETGEJVcwykKT4/g==",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.4.1.tgz",
+ "integrity": "sha512-0kdAbmic3J09I6dT8e9vE2JOCSt13wHCW5x/ly8TSt2bDtuIWe2TgLZZDHdcziw9AVCzflMAXCrVyRIhIs44Ng==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
- "debug": "^4.3.6",
+ "debug": "^4.3.7",
"extract-zip": "^2.0.1",
"progress": "^2.0.3",
"proxy-agent": "^6.4.0",
@@ -5604,9 +5456,9 @@
}
},
"node_modules/@wordpress/scripts/node_modules/devtools-protocol": {
- "version": "0.0.1354347",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1354347.tgz",
- "integrity": "sha512-BlmkSqV0V84E2WnEnoPnwyix57rQxAM5SKJjf4TbYOCGLAWtz8CDH8RIaGOjPgPCXo2Mce3kxSY497OySidY3Q==",
+ "version": "0.0.1367902",
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1367902.tgz",
+ "integrity": "sha512-XxtPuC3PGakY6PD7dG66/o8KwJ/LkH2/EKe19Dcw58w53dv4/vSQEkn/SzuyhHE2q4zPgCkxQBxus3VV4ql+Pg==",
"dev": true,
"license": "BSD-3-Clause"
},
@@ -5728,16 +5580,16 @@
}
},
"node_modules/@wordpress/scripts/node_modules/puppeteer-core": {
- "version": "23.6.0",
- "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-23.6.0.tgz",
- "integrity": "sha512-se1bhgUpR9C529SgHGr/eyT92mYyQPAhA2S9pGtGrVG2xob9qE6Pbp7TlqiSPlnnY1lINqhn6/67EwkdzOmKqQ==",
+ "version": "23.8.0",
+ "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-23.8.0.tgz",
+ "integrity": "sha512-c2ymGN2M//We7pC+JhP2dE/g4+qnT89BO+EMSZyJmecN3DN6RNqErA7eH7DrWoNIcU75r2nP4VHa4pswAL6NVg==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
- "@puppeteer/browsers": "2.4.0",
+ "@puppeteer/browsers": "2.4.1",
"chromium-bidi": "0.8.0",
"debug": "^4.3.7",
- "devtools-protocol": "0.0.1354347",
+ "devtools-protocol": "0.0.1367902",
"typed-query-selector": "^2.12.0",
"ws": "^8.18.0"
},
@@ -9566,6 +9418,163 @@
"node": "*"
}
},
+ "node_modules/eslint-plugin-jest": {
+ "version": "27.9.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.9.0.tgz",
+ "integrity": "sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/utils": "^5.10.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ },
+ "peerDependencies": {
+ "@typescript-eslint/eslint-plugin": "^5.0.0 || ^6.0.0 || ^7.0.0",
+ "eslint": "^7.0.0 || ^8.0.0",
+ "jest": "*"
+ },
+ "peerDependenciesMeta": {
+ "@typescript-eslint/eslint-plugin": {
+ "optional": true
+ },
+ "jest": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/scope-manager": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz",
+ "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/visitor-keys": "5.62.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/types": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz",
+ "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/typescript-estree": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz",
+ "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/visitor-keys": "5.62.0",
+ "debug": "^4.3.4",
+ "globby": "^11.1.0",
+ "is-glob": "^4.0.3",
+ "semver": "^7.3.7",
+ "tsutils": "^3.21.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/utils": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz",
+ "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.2.0",
+ "@types/json-schema": "^7.0.9",
+ "@types/semver": "^7.3.12",
+ "@typescript-eslint/scope-manager": "5.62.0",
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/typescript-estree": "5.62.0",
+ "eslint-scope": "^5.1.1",
+ "semver": "^7.3.7"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/visitor-keys": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz",
+ "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/types": "5.62.0",
+ "eslint-visitor-keys": "^3.3.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/eslint-plugin-jest/node_modules/eslint-visitor-keys": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint-plugin-jest/node_modules/semver": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+ "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/eslint-plugin-jsdoc": {
"version": "46.10.1",
"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.10.1.tgz",
@@ -9668,6 +9677,22 @@
"node": "*"
}
},
+ "node_modules/eslint-plugin-playwright": {
+ "version": "0.15.3",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-playwright/-/eslint-plugin-playwright-0.15.3.tgz",
+ "integrity": "sha512-LQMW5y0DLK5Fnpya7JR1oAYL2/7Y9wDiYw6VZqlKqcRGSgjbVKNqxraphk7ra1U3Bb5EK444xMgUlQPbMg2M1g==",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "eslint": ">=7",
+ "eslint-plugin-jest": ">=25"
+ },
+ "peerDependenciesMeta": {
+ "eslint-plugin-jest": {
+ "optional": true
+ }
+ }
+ },
"node_modules/eslint-plugin-prettier": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz",
@@ -16272,16 +16297,16 @@
"license": "ISC"
},
"node_modules/npm-run-all2": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/npm-run-all2/-/npm-run-all2-7.0.0.tgz",
- "integrity": "sha512-hXQT0BFU0G37H516ZJgISho4FslbdqMj7U8A7xoj81mhYSyxnwfF6dsraWAA1xL7ak/8yUVvAN4Lx4PpTc5Ohg==",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/npm-run-all2/-/npm-run-all2-7.0.1.tgz",
+ "integrity": "sha512-Adbv+bJQ8UTAM03rRODqrO5cx0YU5KCG2CvHtSURiadvdTjjgGJXdbc1oQ9CXBh9dnGfHSoSB1Web/0Dzp6kOQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"ansi-styles": "^6.2.1",
"cross-spawn": "^7.0.3",
"memorystream": "^0.3.1",
- "minimatch": "^10.0.1",
+ "minimatch": "^9.0.0",
"pidtree": "^0.6.0",
"read-package-json-fast": "^4.0.0",
"shell-quote": "^1.7.3",
@@ -16294,7 +16319,7 @@
"run-s": "bin/run-s/index.js"
},
"engines": {
- "node": "^20.5.0 || >=22.0.0",
+ "node": "^18.17.0 || >=20.5.0",
"npm": ">= 9"
}
},
@@ -16321,22 +16346,6 @@
"node": ">=16"
}
},
- "node_modules/npm-run-all2/node_modules/minimatch": {
- "version": "10.0.1",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz",
- "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": "20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/npm-run-all2/node_modules/which": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz",
@@ -17045,13 +17054,13 @@
}
},
"node_modules/playwright": {
- "version": "1.48.1",
- "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.48.1.tgz",
- "integrity": "sha512-j8CiHW/V6HxmbntOfyB4+T/uk08tBy6ph0MpBXwuoofkSnLmlfdYNNkFTYD6ofzzlSqLA1fwH4vwvVFvJgLN0w==",
+ "version": "1.49.0",
+ "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.49.0.tgz",
+ "integrity": "sha512-eKpmys0UFDnfNb3vfsf8Vx2LEOtflgRebl0Im2eQQnYMA4Aqd+Zw8bEOB+7ZKvN76901mRnqdsiOGKxzVTbi7A==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
- "playwright-core": "1.48.1"
+ "playwright-core": "1.49.0"
},
"bin": {
"playwright": "cli.js"
@@ -17064,9 +17073,9 @@
}
},
"node_modules/playwright-core": {
- "version": "1.48.1",
- "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.48.1.tgz",
- "integrity": "sha512-Yw/t4VAFX/bBr1OzwCuOMZkY1Cnb4z/doAFSwf4huqAGWmf9eMNjmK7NiOljCdLmxeRYcGPPmcDgU0zOlzP0YA==",
+ "version": "1.49.0",
+ "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.49.0.tgz",
+ "integrity": "sha512-R+3KKTQF3npy5GTiKH/T+kdhoJfJojjHESR1YEWhYuEKRVfVaxH3+4+GvXE5xyCngCxhxnykk0Vlah9v8fs3jA==",
"dev": true,
"license": "Apache-2.0",
"bin": {
@@ -17235,24 +17244,6 @@
"postcss": "^8.4.31"
}
},
- "node_modules/postcss-import": {
- "version": "16.1.0",
- "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-16.1.0.tgz",
- "integrity": "sha512-7hsAZ4xGXl4MW+OKEWCnF6T5jqBw80/EE9aXg1r2yyn1RsVEU8EtKXbijEODa+rg7iih4bKf7vlvTGYR4CnPNg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "postcss-value-parser": "^4.0.0",
- "read-cache": "^1.0.0",
- "resolve": "^1.1.7"
- },
- "engines": {
- "node": ">=18.0.0"
- },
- "peerDependencies": {
- "postcss": "^8.0.0"
- }
- },
"node_modules/postcss-loader": {
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz",
@@ -18267,26 +18258,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/read-cache": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
- "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "pify": "^2.3.0"
- }
- },
- "node_modules/read-cache/node_modules/pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/read-package-json-fast": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-4.0.0.tgz",
@@ -21219,9 +21190,9 @@
}
},
"node_modules/undici-types": {
- "version": "6.19.6",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.6.tgz",
- "integrity": "sha512-e/vggGopEfTKSvj4ihnOLTsqhrKRN3LeO6qSN/GxohhuRv8qH9bNQ4B8W7e/vFL+0XTnmHPB4/kegunZGA4Org==",
+ "version": "6.19.8",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
+ "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==",
"dev": true,
"license": "MIT"
},
@@ -21455,9 +21426,9 @@
}
},
"node_modules/uuid": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz",
- "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==",
+ "version": "11.0.3",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.0.3.tgz",
+ "integrity": "sha512-d0z310fCWv5dJwnX1Y/MncBAqGMKEzlBb1AOf7z9K8ALnd0utBX/msg/fA0+sbyN1ihbMsLhrBlnl1ak7Wa0rg==",
"dev": true,
"funding": [
"https://github.com/sponsors/broofa",
@@ -21465,7 +21436,7 @@
],
"license": "MIT",
"bin": {
- "uuid": "dist/bin/uuid"
+ "uuid": "dist/esm/bin/uuid"
}
},
"node_modules/v8-to-istanbul": {
diff --git a/package.json b/package.json
index 29d73d9f4..81062af7d 100644
--- a/package.json
+++ b/package.json
@@ -6,7 +6,7 @@
"author": "XWP",
"license": "GPLv2+",
"engines": {
- "node": "^20.18.0"
+ "node": "^22.11.0"
},
"repository": {
"type": "git",
@@ -24,16 +24,16 @@
"track"
],
"devDependencies": {
- "@playwright/test": "^1.48.1",
- "@types/node": "^22.7.9",
- "@wordpress/e2e-test-utils-playwright": "^1.10.0",
- "@wordpress/eslint-plugin": "^21.3.0",
- "@wordpress/scripts": "^30.3.0",
+ "@playwright/test": "^1.49.0",
+ "@types/node": "^22.9.1",
+ "@wordpress/e2e-test-utils-playwright": "^1.12.0",
+ "@wordpress/eslint-plugin": "^21.5.0",
+ "@wordpress/scripts": "^30.5.1",
"copy-webpack-plugin": "^12.0.2",
"eslint-plugin-react-hooks": "^5.0.0",
"jquery": "3.7.1",
- "npm-run-all2": "^7.0.0",
- "uuid": "^10.0.0"
+ "npm-run-all2": "^7.0.1",
+ "uuid": "^11.0.3"
},
"scripts": {
"build": "wp-scripts build",
diff --git a/tests/phpunit/connectors/test-class-connector-wordpress-seo.php b/tests/phpunit/connectors/test-class-connector-wordpress-seo.php
index 0464f4580..d710803b4 100644
--- a/tests/phpunit/connectors/test-class-connector-wordpress-seo.php
+++ b/tests/phpunit/connectors/test-class-connector-wordpress-seo.php
@@ -52,8 +52,10 @@ public function test_wordpress_seo_installed_and_activated() {
*/
public function test_callback_added_post_meta() {
+ $expects = defined( 'WPSEO_VERSION' ) && version_compare( WPSEO_VERSION, '23.5', '<' ) ? $ths->once() : $this->never();
+
// Set expected calls for the Mock.
- $this->mock->expects( $this->once() )
+ $this->mock->expects( $expects )
->method( 'log' )
->with(
$this->equalTo(
diff --git a/tests/phpunit/test-class-alerts-list.php b/tests/phpunit/test-class-alerts-list.php
index 68e334313..cb9225606 100644
--- a/tests/phpunit/test-class-alerts-list.php
+++ b/tests/phpunit/test-class-alerts-list.php
@@ -61,4 +61,58 @@ public function test_enqueue_scripts() {
$alerts_list->enqueue_scripts( '' );
$this->assertTrue( wp_script_is( 'wp-stream-alerts-list' ) );
}
+
+ /**
+ * Test save_alert_inline_edit method.
+ */
+ public function test_save_alert_inline_edit() {
+ $alerts_list = new Alerts_List( $this->plugin );
+ $post_id = wp_insert_post(
+ array(
+ 'post_type' => Alerts::POST_TYPE,
+ )
+ );
+ $postarr = array(
+ 'ID' => $post_id,
+ 'post_type' => Alerts::POST_TYPE,
+ );
+ $data = array();
+
+ // Create and authenticate user.
+ $user_id = self::factory()->user->create( array( 'role' => 'administrator' ) );
+ wp_set_current_user( $user_id );
+
+ $_POST['post_type'] = Alerts::POST_TYPE;
+ $_POST['wp_stream_trigger_author'] = 'author';
+ $_POST['wp_stream_trigger_connector_or_context'] = 'connector-context';
+ $_POST['wp_stream_trigger_action'] = 'action';
+ $_POST['wp_stream_alert_type'] = 'type';
+ $_POST['wp_stream_alert_status'] = 'status';
+ $_POST[ Alerts::POST_TYPE . '_edit_nonce' ] = wp_create_nonce( 'stream-src/classes/class-alerts-list.php' );
+
+ $alerts_list->save_alert_inline_edit( $data, $postarr );
+
+ $alert_meta = get_post_meta( $post_id, 'alert_meta', true );
+ $this->assertEquals( 'type', get_post_meta( $post_id, 'alert_type', true ), 'Alert type not saved' );
+ $this->assertEquals( 'author', $alert_meta['trigger_author'], 'Trigger author not saved' );
+ $this->assertEquals( 'connector', $alert_meta['trigger_connector'], 'Trigger connector not saved' );
+ $this->assertEquals( 'context', $alert_meta['trigger_context'], 'Trigger context not saved' );
+ $this->assertEquals( 'action', $alert_meta['trigger_action'], 'Trigger action not saved' );
+
+ // Test case with just a connector data.
+ $_POST['wp_stream_trigger_connector_or_context'] = 'connector';
+
+ $alerts_list->save_alert_inline_edit( $data, $postarr );
+ $alert_meta = get_post_meta( $post_id, 'alert_meta', true );
+ $this->assertEquals( 'connector', $alert_meta['trigger_connector'], 'Trigger connector not saved' );
+ $this->assertEmpty( $alert_meta['trigger_context'], 'Trigger context not saved empty' );
+
+ // Test case with no connector or context data.
+ $_POST['wp_stream_trigger_connector_or_context'] = '';
+
+ $alerts_list->save_alert_inline_edit( $data, $postarr );
+ $alert_meta = get_post_meta( $post_id, 'alert_meta', true );
+ $this->assertEmpty( $alert_meta['trigger_connector'], 'Trigger connector not saved empty' );
+ $this->assertEmpty( $alert_meta['trigger_context'], 'Trigger context not saved empty' );
+ }
}