Update comments and fix code style warnings
MAILPOET-6318
This commit is contained in:
committed by
Jan Lysý
parent
a15f8ba562
commit
b1cc53ec5b
@@ -14,17 +14,17 @@ parameters:
|
|||||||
checkGenericClassInNonGenericObjectType: false
|
checkGenericClassInNonGenericObjectType: false
|
||||||
parallel:
|
parallel:
|
||||||
processTimeout: 300.0
|
processTimeout: 300.0
|
||||||
maximumNumberOfProcesses: 3 # Static analysis is running on Circle CI medium+ that has 3 CPUs
|
maximumNumberOfProcesses: 4 # Using 4 CPUs for Static analysis on Github actions
|
||||||
ignoreErrors:
|
ignoreErrors:
|
||||||
- '#_before\(\) has no return type specified#' # skip integration test before errors
|
- '#_before\(\) has no return type specified#' # skip integration test before errors
|
||||||
-
|
-
|
||||||
message: '#has no return type specified.#'
|
message: '#has no return type specified.#' # ignore has no return type specified for integration test files
|
||||||
path: ../../../packages/php/email-editor/tests/integration/*
|
path: ../../../packages/php/email-editor/tests/integration/*
|
||||||
-
|
-
|
||||||
message: '#assertStringContainsString\(\) expects string#'
|
message: '#assertStringContainsString\(\) expects string#' # ignore expects string, string|true|null given in integration test files. The test will fail if an invalid value is provided
|
||||||
path: ../../../packages/php/email-editor/tests/integration/*
|
path: ../../../packages/php/email-editor/tests/integration/*
|
||||||
-
|
-
|
||||||
message: '#assertStringNotContainsString\(\) expects string#'
|
message: '#assertStringNotContainsString\(\) expects string#' # ignore expects string, string|true|null given in integration test files. The test will fail if an invalid value is provided
|
||||||
path: ../../../packages/php/email-editor/tests/integration/*
|
path: ../../../packages/php/email-editor/tests/integration/*
|
||||||
reportUnmatchedIgnoredErrors: true
|
reportUnmatchedIgnoredErrors: true
|
||||||
dynamicConstantNames:
|
dynamicConstantNames:
|
||||||
|
@@ -89,7 +89,7 @@ class Renderer {
|
|||||||
*/
|
*/
|
||||||
public function render( \WP_Post $post, string $subject, string $pre_header, string $language, $meta_robots = '' ): array { // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundAfterLastUsed
|
public function render( \WP_Post $post, string $subject, string $pre_header, string $language, $meta_robots = '' ): array { // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundAfterLastUsed
|
||||||
$template_id = 'mailpoet/mailpoet//' . ( get_page_template_slug( $post ) ? get_page_template_slug( $post ) : 'email-general' );
|
$template_id = 'mailpoet/mailpoet//' . ( get_page_template_slug( $post ) ? get_page_template_slug( $post ) : 'email-general' );
|
||||||
/** @var \WP_Block_Template $template */ // phpcs:ignore
|
/** @var \WP_Block_Template $template */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort -- used for phpstan
|
||||||
$template = $this->templates->get_block_template( $template_id );
|
$template = $this->templates->get_block_template( $template_id );
|
||||||
$theme = $this->templates->get_block_template_theme( $template_id, $template->wp_id );
|
$theme = $this->templates->get_block_template_theme( $template_id, $template->wp_id );
|
||||||
|
|
||||||
|
@@ -371,7 +371,7 @@ class Templates {
|
|||||||
|
|
||||||
return array_map(
|
return array_map(
|
||||||
function ( $custom_template ) {
|
function ( $custom_template ) {
|
||||||
/** @var \WP_Post $custom_template */ // phpcs:ignore
|
/** @var \WP_Post $custom_template */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort -- used for phpstan
|
||||||
return $this->utils->build_block_template_from_post( $custom_template );
|
return $this->utils->build_block_template_from_post( $custom_template );
|
||||||
},
|
},
|
||||||
$custom_templates
|
$custom_templates
|
||||||
|
@@ -94,25 +94,25 @@ class Utils {
|
|||||||
return $template;
|
return $template;
|
||||||
}
|
}
|
||||||
|
|
||||||
// phpcs:disable
|
|
||||||
/**
|
/**
|
||||||
* Build a block template from a file.
|
* Build a block template from a file.
|
||||||
*
|
*
|
||||||
* @param object{
|
* @template TemplateObject
|
||||||
* slug: string,
|
* @phpstan-type TemplateObject object{
|
||||||
* id: string,
|
* slug: string,
|
||||||
* title: string,
|
* id: string,
|
||||||
* description: string,
|
* title: string,
|
||||||
* path: string,
|
* description: string,
|
||||||
* type: string,
|
* path: string,
|
||||||
* theme: string,
|
* type: string,
|
||||||
* source: string,
|
* theme: string,
|
||||||
* post_types: array<string>
|
* source: string,
|
||||||
* } $template_object Template object.
|
* post_types: array<string>
|
||||||
|
* }
|
||||||
|
* @param TemplateObject $template_object Template object.
|
||||||
* @return WP_Block_Template
|
* @return WP_Block_Template
|
||||||
*/
|
*/
|
||||||
public function build_block_template_from_file( $template_object ): WP_Block_Template {
|
public function build_block_template_from_file( $template_object ): WP_Block_Template {
|
||||||
// phpcs:enable
|
|
||||||
$template = new WP_Block_Template();
|
$template = new WP_Block_Template();
|
||||||
$template->id = $template_object->id;
|
$template->id = $template_object->id;
|
||||||
$template->theme = $template_object->theme;
|
$template->theme = $template_object->theme;
|
||||||
|
@@ -89,7 +89,7 @@ class Theme_Controller {
|
|||||||
if ( is_array( $style_value ) ) {
|
if ( is_array( $style_value ) ) {
|
||||||
$styles[ $key ] = $this->recursive_extract_preset_variables( $style_value );
|
$styles[ $key ] = $this->recursive_extract_preset_variables( $style_value );
|
||||||
} elseif ( strpos( $style_value, 'var:preset|' ) === 0 ) {
|
} elseif ( strpos( $style_value, 'var:preset|' ) === 0 ) {
|
||||||
/** @var string $style_value */ // phpcs:ignore
|
/** @var string $style_value */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort
|
||||||
$styles[ $key ] = 'var(--wp--' . str_replace( '|', '--', str_replace( 'var:', '', $style_value ) ) . ')';
|
$styles[ $key ] = 'var(--wp--' . str_replace( '|', '--', str_replace( 'var:', '', $style_value ) ) . ')';
|
||||||
} else {
|
} else {
|
||||||
$styles[ $key ] = $style_value;
|
$styles[ $key ] = $style_value;
|
||||||
|
@@ -153,7 +153,7 @@ class Image extends Abstract_Block_Renderer {
|
|||||||
$html = new \WP_HTML_Tag_Processor( $block_content );
|
$html = new \WP_HTML_Tag_Processor( $block_content );
|
||||||
if ( $html->next_tag( array( 'tag_name' => 'img' ) ) ) {
|
if ( $html->next_tag( array( 'tag_name' => 'img' ) ) ) {
|
||||||
// Getting height from styles and if it's set, we set the height attribute.
|
// Getting height from styles and if it's set, we set the height attribute.
|
||||||
/** @var string $styles */ // phpcs:ignore
|
/** @var string $styles */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort -- used for phpstan
|
||||||
$styles = $html->get_attribute( 'style' ) ?? '';
|
$styles = $html->get_attribute( 'style' ) ?? '';
|
||||||
$styles = $settings_controller->parse_styles_to_array( $styles );
|
$styles = $settings_controller->parse_styles_to_array( $styles );
|
||||||
$height = $styles['height'] ?? null;
|
$height = $styles['height'] ?? null;
|
||||||
@@ -280,7 +280,7 @@ class Image extends Abstract_Block_Renderer {
|
|||||||
private function add_style_to_element( $block_content, array $tag, string $style ): string {
|
private function add_style_to_element( $block_content, array $tag, string $style ): string {
|
||||||
$html = new \WP_HTML_Tag_Processor( $block_content );
|
$html = new \WP_HTML_Tag_Processor( $block_content );
|
||||||
if ( $html->next_tag( $tag ) ) {
|
if ( $html->next_tag( $tag ) ) {
|
||||||
/** @var string $element_style */ // phpcs:ignore
|
/** @var string $element_style */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort -- used for phpstan
|
||||||
$element_style = $html->get_attribute( 'style' ) ?? '';
|
$element_style = $html->get_attribute( 'style' ) ?? '';
|
||||||
$element_style = ! empty( $element_style ) ? ( rtrim( $element_style, ';' ) . ';' ) : ''; // Adding semicolon if it's missing.
|
$element_style = ! empty( $element_style ) ? ( rtrim( $element_style, ';' ) . ';' ) : ''; // Adding semicolon if it's missing.
|
||||||
$element_style .= $style;
|
$element_style .= $style;
|
||||||
@@ -301,7 +301,7 @@ class Image extends Abstract_Block_Renderer {
|
|||||||
private function remove_style_attribute_from_element( $block_content, array $tag, string $style_name ): string {
|
private function remove_style_attribute_from_element( $block_content, array $tag, string $style_name ): string {
|
||||||
$html = new \WP_HTML_Tag_Processor( $block_content );
|
$html = new \WP_HTML_Tag_Processor( $block_content );
|
||||||
if ( $html->next_tag( $tag ) ) {
|
if ( $html->next_tag( $tag ) ) {
|
||||||
/** @var string $element_style */ // phpcs:ignore
|
/** @var string $element_style */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort -- used for phpstan
|
||||||
$element_style = $html->get_attribute( 'style' ) ?? '';
|
$element_style = $html->get_attribute( 'style' ) ?? '';
|
||||||
$element_style = preg_replace( '/' . $style_name . ':(.?[0-9]+px)+;?/', '', $element_style );
|
$element_style = preg_replace( '/' . $style_name . ':(.?[0-9]+px)+;?/', '', $element_style );
|
||||||
$html->set_attribute( 'style', esc_attr( strval( $element_style ) ) );
|
$html->set_attribute( 'style', esc_attr( strval( $element_style ) ) );
|
||||||
|
@@ -27,7 +27,7 @@ class List_Block extends Abstract_Block_Renderer {
|
|||||||
$html = new \WP_HTML_Tag_Processor( $block_content );
|
$html = new \WP_HTML_Tag_Processor( $block_content );
|
||||||
$tag_name = ( $parsed_block['attrs']['ordered'] ?? false ) ? 'ol' : 'ul';
|
$tag_name = ( $parsed_block['attrs']['ordered'] ?? false ) ? 'ol' : 'ul';
|
||||||
if ( $html->next_tag( array( 'tag_name' => $tag_name ) ) ) {
|
if ( $html->next_tag( array( 'tag_name' => $tag_name ) ) ) {
|
||||||
/** @var string $styles */ // phpcs:ignore
|
/** @var string $styles */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort -- used for phpstan
|
||||||
$styles = $html->get_attribute( 'style' ) ?? '';
|
$styles = $html->get_attribute( 'style' ) ?? '';
|
||||||
$styles = $settings_controller->parse_styles_to_array( $styles );
|
$styles = $settings_controller->parse_styles_to_array( $styles );
|
||||||
|
|
||||||
|
@@ -38,14 +38,14 @@ class Text extends Abstract_Block_Renderer {
|
|||||||
$html = new \WP_HTML_Tag_Processor( $block_content );
|
$html = new \WP_HTML_Tag_Processor( $block_content );
|
||||||
$classes = 'email-text-block';
|
$classes = 'email-text-block';
|
||||||
if ( $html->next_tag() ) {
|
if ( $html->next_tag() ) {
|
||||||
/** @var string $block_classes */ // phpcs:ignore
|
/** @var string $block_classes */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort -- used for phpstan
|
||||||
$block_classes = $html->get_attribute( 'class' ) ?? '';
|
$block_classes = $html->get_attribute( 'class' ) ?? '';
|
||||||
$classes .= ' ' . $block_classes;
|
$classes .= ' ' . $block_classes;
|
||||||
// remove has-background to prevent double padding applied for wrapper and inner element.
|
// remove has-background to prevent double padding applied for wrapper and inner element.
|
||||||
$block_classes = str_replace( 'has-background', '', $block_classes );
|
$block_classes = str_replace( 'has-background', '', $block_classes );
|
||||||
// remove border related classes because we handle border on wrapping table cell.
|
// remove border related classes because we handle border on wrapping table cell.
|
||||||
$block_classes = preg_replace( '/[a-z-]+-border-[a-z-]+/', '', $block_classes );
|
$block_classes = preg_replace( '/[a-z-]+-border-[a-z-]+/', '', $block_classes );
|
||||||
/** @var string $block_classes */ // phpcs:ignore
|
/** @var string $block_classes */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort -- used for phpstan
|
||||||
$html->set_attribute( 'class', trim( $block_classes ) );
|
$html->set_attribute( 'class', trim( $block_classes ) );
|
||||||
$block_content = $html->get_updated_html();
|
$block_content = $html->get_updated_html();
|
||||||
}
|
}
|
||||||
@@ -118,7 +118,7 @@ class Text extends Abstract_Block_Renderer {
|
|||||||
// to prevent CSS Inliner from adding a default value and overriding the value set by user, which is on the wrapper element.
|
// to prevent CSS Inliner from adding a default value and overriding the value set by user, which is on the wrapper element.
|
||||||
// The value provided by WP uses clamp() function which is not supported in many email clients.
|
// The value provided by WP uses clamp() function which is not supported in many email clients.
|
||||||
$element_style = preg_replace( '/font-size:[^;]+;?/', 'font-size: inherit;', strval( $element_style ) );
|
$element_style = preg_replace( '/font-size:[^;]+;?/', 'font-size: inherit;', strval( $element_style ) );
|
||||||
/** @var string $element_style */ // phpcs:ignore
|
/** @var string $element_style */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort -- used for phpstan
|
||||||
$html->set_attribute( 'style', esc_attr( $element_style ) );
|
$html->set_attribute( 'style', esc_attr( $element_style ) );
|
||||||
$block_content = $html->get_updated_html();
|
$block_content = $html->get_updated_html();
|
||||||
}
|
}
|
||||||
|
@@ -1,42 +1,50 @@
|
|||||||
<?php // phpcs:ignoreFile
|
<?php
|
||||||
|
/**
|
||||||
|
* This file is part of the MailPoet Email Editor package.
|
||||||
|
*
|
||||||
|
* @package MailPoet\EmailEditor
|
||||||
|
*/
|
||||||
|
|
||||||
// throw exception if anything fails.
|
declare(strict_types = 1);
|
||||||
set_error_handler(
|
/**
|
||||||
|
* Throw exception if anything fails.
|
||||||
|
*/
|
||||||
|
set_error_handler( // phpcs:ignore -- This file is not used within WordPress environment.
|
||||||
function ( $severity, $message, $file, $line ) {
|
function ( $severity, $message, $file, $line ) {
|
||||||
throw new ErrorException( $message, 0, $severity, $file, $line );
|
throw new ErrorException( $message, 0, $severity, $file, $line ); // phpcs:ignore WordPress.Security.EscapeOutput.ExceptionNotEscaped
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
$mailpoetRootDir = dirname( __DIR__, 4 );
|
$mailpoet_root_dir = dirname( __DIR__, 4 );
|
||||||
|
|
||||||
$emailEditorPhpDir = dirname( __DIR__, 1 );
|
$email_editor_php_dir = dirname( __DIR__, 1 );
|
||||||
|
|
||||||
$phpStanDir = "$mailpoetRootDir/mailpoet/tasks/phpstan";
|
$php_stan_dir = "$mailpoet_root_dir/mailpoet/tasks/phpstan";
|
||||||
$phpStanBin = "$phpStanDir/vendor/bin/phpstan";
|
$php_stan_bin = "$php_stan_dir/vendor/bin/phpstan";
|
||||||
|
|
||||||
$emailEditorCustomConfig = "$phpStanDir/email-editor-phpstan.neon";
|
$email_editor_custom_config = "$php_stan_dir/email-editor-phpstan.neon";
|
||||||
|
|
||||||
|
|
||||||
$extraAgrPhpVersion = '';
|
$extra_agr_php_version = '';
|
||||||
if ( $argc > 1 && isset( $argv[1] ) && stripos( $argv[1], 'php-version' ) !== false ) {
|
if ( $argc > 1 && isset( $argv[1] ) && stripos( $argv[1], 'php-version' ) !== false ) {
|
||||||
$rawArgv = explode( '=', escapeshellcmd( $argv[1] ) );
|
$raw_argv = explode( '=', escapeshellcmd( $argv[1] ) );
|
||||||
$value = $rawArgv[1];
|
$value = $raw_argv[1];
|
||||||
$extraAgrPhpVersion = "ANALYSIS_PHP_VERSION=$value ";
|
$extra_agr_php_version = "ANALYSIS_PHP_VERSION=$value ";
|
||||||
}
|
}
|
||||||
|
|
||||||
$commands = array(
|
$commands = array(
|
||||||
"cd $phpStanDir && ", // we run commands from the PHPStan dir because we save MailPoet-specific configuration in it
|
"cd $php_stan_dir && ", // we run commands from the PHPStan dir because we save MailPoet-specific configuration in it.
|
||||||
"$extraAgrPhpVersion",
|
"$extra_agr_php_version",
|
||||||
'php -d memory_limit=-1 ',
|
'php -d memory_limit=-1 ',
|
||||||
"$phpStanBin analyse ",
|
"$php_stan_bin analyse ",
|
||||||
"-c $emailEditorCustomConfig ",
|
"-c $email_editor_custom_config ",
|
||||||
"$emailEditorPhpDir/src ",
|
"$email_editor_php_dir/src ",
|
||||||
"$emailEditorPhpDir/tests/integration ",
|
"$email_editor_php_dir/tests/integration ",
|
||||||
"$emailEditorPhpDir/tests/unit ",
|
"$email_editor_php_dir/tests/unit ",
|
||||||
);
|
);
|
||||||
|
|
||||||
$allCommands = implode( ' ', $commands );
|
$all_commands = implode( ' ', $commands );
|
||||||
|
|
||||||
echo "[run-phpstan] Running command: $allCommands \n";
|
echo "[run-phpstan] Running command: $all_commands \n"; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- This file is not used within WordPress environment.
|
||||||
|
|
||||||
passthru( $allCommands );
|
passthru( $all_commands ); // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.system_calls_passthru -- This file is not used within WordPress environment.
|
||||||
|
Reference in New Issue
Block a user