HELP
This commit is contained in:
parent
c6664a7597
commit
e05e9553f5
1250 changed files with 23379 additions and 147730 deletions
6
.gitignore
vendored
6
.gitignore
vendored
|
|
@ -5,7 +5,7 @@ web/app/mu-plugins/*/
|
|||
web/app/themes/twentytwentyfour/
|
||||
web/app/upgrade
|
||||
web/app/cache/*
|
||||
web/app/languages/plugins/
|
||||
web/app/languages/
|
||||
web/app/object-cache.php
|
||||
|
||||
# WordPress
|
||||
|
|
@ -59,3 +59,7 @@ containers/conf/angie/modules-available
|
|||
containers/conf/angie/modules-enabled
|
||||
containers/conf/angie/scripts
|
||||
containers/conf/angie/snippets
|
||||
|
||||
# PHP et Twig
|
||||
.php-cs-fixer.cache
|
||||
.twig-cs-fixer.cache
|
||||
|
|
|
|||
1
.php-cs-fixer.cache
Normal file
1
.php-cs-fixer.cache
Normal file
File diff suppressed because one or more lines are too long
|
|
@ -1,8 +1,262 @@
|
|||
<?php
|
||||
<?php declare(strict_types=1);
|
||||
|
||||
use PhpCsFixer\Config;
|
||||
use PhpCsFixer\Finder;
|
||||
use PhpCsFixer\Runner;
|
||||
|
||||
$finder = (new Finder())->in(__DIR__)->exclude(['vendor', 'web/vendor', 'web/wp', 'web/app/languages', 'web/app/plugins', 'web/app/mu-plugins']);
|
||||
$finder = new Finder()->in(__DIR__)->exclude([
|
||||
'containers',
|
||||
'db',
|
||||
'lib',
|
||||
'tests',
|
||||
'vendor',
|
||||
'web/app/languages',
|
||||
'web/app/mu-plugins',
|
||||
'web/app/plugins',
|
||||
'web/app/themes/twentytwentyfour',
|
||||
'web/vendor',
|
||||
'web/wp',
|
||||
]);
|
||||
|
||||
return (new Config())->setRules(['@PhpCsFixer' => true])->setFinder($finder);
|
||||
return new Config()
|
||||
->setRiskyAllowed(true)
|
||||
->setRules([
|
||||
'array_syntax' => ['syntax' => 'short'],
|
||||
'assign_null_coalescing_to_coalesce_equal' => true,
|
||||
'attribute_empty_parentheses' => ['use_parentheses' => true],
|
||||
'blank_line_after_namespace' => true,
|
||||
'blank_lines_before_namespace' => ['min_line_breaks' => 1, 'max_line_breaks' => 2],
|
||||
'cast_spaces' => true,
|
||||
'class_attributes_separation' => ['elements' => [
|
||||
'case' => 'none',
|
||||
'const' => 'none',
|
||||
'method' => 'one',
|
||||
'property' => 'one',
|
||||
'trait_import' => 'none',
|
||||
]],
|
||||
'class_reference_name_casing' => true,
|
||||
'clean_namespace' => true,
|
||||
'combine_consecutive_issets' => true,
|
||||
'combine_consecutive_unsets' => true,
|
||||
'combine_nested_dirname' => true,
|
||||
'comment_to_phpdoc' => true,
|
||||
'constant_case' => true,
|
||||
'date_time_immutable' => true,
|
||||
'declare_equal_normalize' => true,
|
||||
'declare_parentheses' => true,
|
||||
'declare_strict_types' => true,
|
||||
'dir_constant' => true,
|
||||
'echo_tag_syntax' => true,
|
||||
'encoding' => true,
|
||||
'ereg_to_preg' => true,
|
||||
'error_suppression' => true,
|
||||
'explicit_indirect_variable' => true,
|
||||
'explicit_string_variable' => true,
|
||||
'final_class' => true,
|
||||
'final_internal_class' => true,
|
||||
'full_opening_tag' => true,
|
||||
'fully_qualified_strict_types' => ['import_symbols' => true],
|
||||
'function_to_constant' => true,
|
||||
'global_namespace_import' => ['import_classes' => true, 'import_constants' => true, 'import_functions' => true],
|
||||
'heredoc_to_nowdoc' => true,
|
||||
'integer_literal_case' => true,
|
||||
'lambda_not_used_import' => true,
|
||||
'list_syntax' => true,
|
||||
'logical_operators' => true,
|
||||
'long_to_shorthand_operator' => true,
|
||||
'lowercase_cast' => true,
|
||||
'lowercase_keywords' => true,
|
||||
'lowercase_static_reference' => true,
|
||||
'magic_constant_casing' => true,
|
||||
'magic_method_casing' => true,
|
||||
'mb_str_functions' => true,
|
||||
'modernize_strpos' => ['modernize_stripos' => true],
|
||||
'modernize_types_casting' => true,
|
||||
'modifier_keywords' => true,
|
||||
'multiline_comment_opening_closing' => true,
|
||||
'native_constant_invocation' => true,
|
||||
'native_function_casing' => true,
|
||||
'native_function_invocation' => true,
|
||||
'native_type_declaration_casing' => true,
|
||||
'new_expression_parentheses' => true,
|
||||
'no_alias_functions' => ['sets' => ['@all']],
|
||||
'no_alias_language_construct_call' => true,
|
||||
'no_alternative_syntax' => true,
|
||||
'no_binary_string' => true,
|
||||
'no_closing_tag' => true,
|
||||
'no_empty_comment' => true,
|
||||
'no_homoglyph_names' => true,
|
||||
'no_leading_import_slash' => true,
|
||||
'no_mixed_echo_print' => ['use' => 'echo'],
|
||||
'no_multiline_whitespace_around_double_arrow' => true,
|
||||
'no_multiple_statements_per_line' => true,
|
||||
'no_null_property_initialization' => true,
|
||||
'no_php4_constructor' => true,
|
||||
'no_short_bool_cast' => true,
|
||||
'no_trailing_comma_in_singleline' => true,
|
||||
'no_trailing_whitespace_in_comment' => true,
|
||||
'no_unneeded_braces' => ['namespaces' => true],
|
||||
'no_unneeded_control_parentheses' => ['statements' => [
|
||||
'break',
|
||||
'clone',
|
||||
'continue',
|
||||
'echo_print',
|
||||
'negative_instanceof',
|
||||
'others',
|
||||
'return',
|
||||
'switch_case',
|
||||
'yield',
|
||||
'yield_from',
|
||||
]],
|
||||
'no_unneeded_final_method' => true,
|
||||
'no_unneeded_import_alias' => true,
|
||||
'no_unreachable_default_argument_value' => true,
|
||||
'no_unset_cast' => true,
|
||||
'no_unset_on_property' => true,
|
||||
'no_unused_imports' => true,
|
||||
'no_useless_concat_operator' => true,
|
||||
'no_useless_nullsafe_operator' => true,
|
||||
'no_useless_printf' => true,
|
||||
'no_useless_return' => true,
|
||||
'no_useless_sprintf' => true,
|
||||
'no_whitespace_before_comma_in_array' => ['after_heredoc' => true],
|
||||
'non_printable_character' => true,
|
||||
'normalize_index_brace' => true,
|
||||
'nullable_type_declaration' => ['syntax' => 'union'],
|
||||
'nullable_type_declaration_for_default_null_value' => true,
|
||||
'numeric_literal_separator' => ['override_existing' => true, 'strategy' => 'use_separator'],
|
||||
'ordered_attributes' => true,
|
||||
'ordered_class_elements' => ['case_sensitive' => false, 'sort_algorithm' => 'alpha'],
|
||||
'ordered_imports' => ['case_sensitive' => true],
|
||||
'ordered_interfaces' => true,
|
||||
'ordered_traits' => true,
|
||||
'ordered_types' => ['null_adjustment' => 'always_last'],
|
||||
'phpdoc_readonly_class_comment_to_keyword' => true,
|
||||
'phpdoc_to_param_type' => true,
|
||||
'phpdoc_to_property_type' => true,
|
||||
'phpdoc_to_return_type' => true,
|
||||
'pow_to_exponentiation' => true,
|
||||
'protected_to_private' => true,
|
||||
'psr_autoloading' => true,
|
||||
'random_api_migration' => ['replacements' => [
|
||||
'getrandmax' => 'mt_getrandmax',
|
||||
'rand' => 'mt_rand',
|
||||
'srand' => 'mt_srand',
|
||||
]],
|
||||
'return_assignment' => true,
|
||||
'self_accessor' => true,
|
||||
'self_static_accessor' => true,
|
||||
'set_type_to_cast' => true,
|
||||
'short_scalar_cast' => true,
|
||||
'simple_to_complex_string_variable' => true,
|
||||
'simplified_null_return' => true,
|
||||
'single_class_element_per_statement' => true,
|
||||
'single_import_per_statement' => true,
|
||||
'single_line_after_imports' => true,
|
||||
'single_line_comment_spacing' => true,
|
||||
'single_line_comment_style' => true,
|
||||
'single_line_empty_body' => true,
|
||||
'single_trait_insert_per_statement' => true,
|
||||
'standardize_not_equals' => true,
|
||||
'static_lambda' => true,
|
||||
'strict_comparison' => true,
|
||||
'strict_param' => true,
|
||||
'string_implicit_backslashes' => true,
|
||||
'string_length_to_empty' => true,
|
||||
'switch_continue_to_break' => true,
|
||||
'ternary_to_null_coalescing' => true,
|
||||
'trim_array_spaces' => true,
|
||||
'use_arrow_functions' => true,
|
||||
'void_return' => true,
|
||||
'whitespace_after_comma_in_array' => ['ensure_single_space' => true],
|
||||
// ---
|
||||
// Each line of multi-line DocComments must have an asterisk [PSR-5] and must be aligned with the first one.
|
||||
'align_multiline_comment' => ['comment_type' => 'all_multiline'],
|
||||
// There should not be blank lines between docblock and the documented element.
|
||||
'no_blank_lines_after_phpdoc' => true,
|
||||
// There should not be empty PHPDoc blocks.
|
||||
'no_empty_phpdoc' => true,
|
||||
// Removes @param, @return and @var tags that don't provide any useful information.
|
||||
'no_superfluous_phpdoc_tags' => [
|
||||
'allow_hidden_params' => false,
|
||||
'allow_mixed' => false,
|
||||
'allow_unused_params' => false,
|
||||
],
|
||||
// PHPDoc should contain @param for all params.
|
||||
'phpdoc_add_missing_param_annotation' => ['only_untyped' => false],
|
||||
// All items of the given PHPDoc tags must be either left-aligned or (by default) aligned vertically.
|
||||
'phpdoc_align' => true,
|
||||
// PHPDoc annotation descriptions should not be a sentence.
|
||||
'phpdoc_annotation_without_dot' => true,
|
||||
// PHPDoc array<T> type must be used instead of T[].
|
||||
'phpdoc_array_type' => true,
|
||||
// Docblocks should have the same indentation as the documented subject.
|
||||
'phpdoc_indent' => true,
|
||||
// Fixes PHPDoc inline tags.
|
||||
'phpdoc_inline_tag_normalizer' => true,
|
||||
// Changes doc blocks from single to multi line, or reversed. Works for class constants, properties and methods only.
|
||||
'phpdoc_line_span' => ['const' => 'single', 'method' => 'multi', 'property' => 'single'],
|
||||
// PHPDoc list type must be used instead of array without a key.
|
||||
'phpdoc_list_type' => true,
|
||||
// @access annotations must be removed from PHPDoc.
|
||||
'phpdoc_no_access' => true,
|
||||
// No alias PHPDoc tags should be used.
|
||||
'phpdoc_no_alias_tag' => true,
|
||||
// @return void and @return null annotations must be removed from PHPDoc.
|
||||
'phpdoc_no_empty_return' => false,
|
||||
// @package and @subpackage annotations must be removed from PHPDoc.
|
||||
'phpdoc_no_package' => true,
|
||||
// Classy that does not inherit must not have @inheritdoc tags.
|
||||
'phpdoc_no_useless_inheritdoc' => true,
|
||||
// Annotations in PHPDoc should be ordered in defined sequence.
|
||||
'phpdoc_order' => true,
|
||||
// Order PHPDoc tags by value.
|
||||
'phpdoc_order_by_value' => true,
|
||||
// Orders all @param annotations in DocBlocks according to method signature.
|
||||
'phpdoc_param_order' => true,
|
||||
// The type of @return annotations of methods returning a reference to itself must the configured one.
|
||||
'phpdoc_return_self_reference' => true,
|
||||
// Scalar types should always be written in the same form. int not integer, bool not boolean, float not real or double.
|
||||
'phpdoc_scalar' => ['types' => [
|
||||
'boolean',
|
||||
'callback',
|
||||
'double',
|
||||
'integer',
|
||||
'never-return',
|
||||
'never-returns',
|
||||
'no-return',
|
||||
'real',
|
||||
'str',
|
||||
]],
|
||||
// Annotations in PHPDoc should be grouped together so that annotations of the same type immediately follow each other. Annotations of a different type are separated by a single blank line.
|
||||
'phpdoc_separation' => [
|
||||
'groups' => [
|
||||
['Annotation', 'NamedArgumentConstructor', 'Target'],
|
||||
['author', 'copyright', 'license'],
|
||||
['category', 'package', 'subpackage'],
|
||||
['property', 'property-read', 'property-write'],
|
||||
['deprecated', 'link', 'see', 'since'],
|
||||
],
|
||||
'skip_unlisted_annotations' => false,
|
||||
],
|
||||
// Single line @var PHPDoc should have proper spacing.
|
||||
'phpdoc_single_line_var_spacing' => true,
|
||||
// PHPDoc summary should end in either a full stop, exclamation mark, or question mark.
|
||||
'phpdoc_summary' => true,
|
||||
// Docblocks should only be used on structural elements.
|
||||
'phpdoc_to_comment' => ['allow_before_return_statement' => true],
|
||||
// PHPDoc should start and end with content, excluding the very first and last line of the docblocks.
|
||||
'phpdoc_trim' => true,
|
||||
// Removes extra blank lines after summary and after description in PHPDoc.
|
||||
'phpdoc_trim_consecutive_blank_line_separation' => true,
|
||||
// The correct case must be used for standard PHP types in PHPDoc.
|
||||
'phpdoc_types' => true,
|
||||
// Sorts PHPDoc types.
|
||||
'phpdoc_types_order' => ['null_adjustment' => 'always_last'],
|
||||
// @var and @type annotations must have type and name in the correct order.
|
||||
'phpdoc_var_annotation_correct_order' => true,
|
||||
// @var and @type annotations of classy properties should not contain the name.
|
||||
'phpdoc_var_without_name' => true,
|
||||
])
|
||||
->setFinder($finder)
|
||||
->setParallelConfig(Runner\Parallel\ParallelConfigFactory::detect());
|
||||
|
|
|
|||
31
.swcrc
31
.swcrc
|
|
@ -1,31 +0,0 @@
|
|||
{
|
||||
"$schema": "https://swc.rs/schema.json",
|
||||
"jsc": {
|
||||
"externalHelpers": false,
|
||||
"keepClassNames": false,
|
||||
"loose": false,
|
||||
"minify": {
|
||||
"compress": true,
|
||||
"mangle": true
|
||||
},
|
||||
"parser": {
|
||||
"decorators": false,
|
||||
"decoratorsBeforeExport": false,
|
||||
"dynamicImport": false,
|
||||
"exportDefaultFrom": false,
|
||||
"exportNamespaceFrom": false,
|
||||
"functionBind": false,
|
||||
"importMeta": false,
|
||||
"jsx": false,
|
||||
"privateMethod": false,
|
||||
"syntax": "typescript",
|
||||
"topLevelAwait": false,
|
||||
"tsx": false
|
||||
},
|
||||
"preserveAllComments": false,
|
||||
"target": "es2020",
|
||||
"transform": null
|
||||
},
|
||||
"minify": true,
|
||||
"sourceMaps": true
|
||||
}
|
||||
|
|
@ -1 +1 @@
|
|||
{"php_version":"8.4.11","fixer_version":"ee9b6a31d2c2522b2773ecf31f5d29c2e26311a6","rules":{"TwigCsFixer\\Rules\\Delimiter\\DelimiterSpacingRule":{"skipIfNewLine":true},"TwigCsFixer\\Rules\\Function\\NamedArgumentSeparatorRule":null,"TwigCsFixer\\Rules\\Function\\NamedArgumentSpacingRule":null,"TwigCsFixer\\Rules\\Operator\\OperatorNameSpacingRule":null,"TwigCsFixer\\Rules\\Operator\\OperatorSpacingRule":null,"TwigCsFixer\\Rules\\Punctuation\\PunctuationSpacingRule":{"before":{")":0,"]":0,"}":0,":":0,".":0,",":0,"|":0,"?:":0},"after":{"(":0,"[":0,"{":0,".":0,"|":0,":":1,",":1,"?:":1}},"TwigCsFixer\\Rules\\Whitespace\\BlankEOFRule":null,"TwigCsFixer\\Rules\\Delimiter\\BlockNameSpacingRule":null,"TwigCsFixer\\Rules\\Whitespace\\EmptyLinesRule":null,"TwigCsFixer\\Rules\\Literal\\CompactHashRule":{"compact":false},"TwigCsFixer\\Rules\\Literal\\HashQuoteRule":{"useQuote":false},"TwigCsFixer\\Rules\\Function\\IncludeFunctionRule":null,"TwigCsFixer\\Rules\\Whitespace\\IndentRule":{"spaceRatio":4,"useTab":false},"TwigCsFixer\\Rules\\Literal\\SingleQuoteRule":{"skipStringContainingSingleQuote":true},"TwigCsFixer\\Rules\\Punctuation\\TrailingCommaMultiLineRule":{"comma":true},"TwigCsFixer\\Rules\\Punctuation\\TrailingCommaSingleLineRule":null,"TwigCsFixer\\Rules\\Whitespace\\TrailingSpaceRule":null},"hashes":{"web\/app\/themes\/haiku-atelier-2024\/views\/parts\/pages\/shop\/grille-produits.twig":"325d4e0610df79c739eabfe751b2f709","web\/app\/themes\/haiku-atelier-2024\/views\/parts\/pages\/produit\/grille-produits-similaires.twig":"eadf1a78a51084677aaaa56dafb1e708","web\/app\/themes\/haiku-atelier-2024\/views\/parts\/pages\/produit\/photos-produit.twig":"5654c0382c5ef553a0b96a09194d909a","web\/app\/themes\/haiku-atelier-2024\/views\/parts\/bandeau.twig":"1164a4e9baafbb15be2a4dc98c32ced1","web\/app\/themes\/haiku-atelier-2024\/views\/parts\/pied-de-page.twig":"d5f5afaa90db1db6590ea0ed0584c216","web\/app\/themes\/haiku-atelier-2024\/views\/parts\/menu-categories-produits.twig":"e132a6035820545f704075ab9e89d119","web\/app\/themes\/haiku-atelier-2024\/woocommerce\/emails\/views\/email-commande-envoyee.twig":"e4e3bbc92a40eeae8925085b560dcb0d","web\/app\/themes\/haiku-atelier-2024\/views\/parts\/pages\/produit\/informations-produit.twig":"4b7c756b4aa0f88942857e6c4969b354","web\/app\/themes\/haiku-atelier-2024\/views\/parts\/pages\/produit\/produits-similaires.twig":"695492c5926dfeeb69c37eb6227e1f18","web\/app\/themes\/haiku-atelier-2024\/views\/parts\/pages\/panier\/panneau-informations-client.twig":"095a41b6e4142d7c2d9ebe18e4ac24d0","web\/app\/themes\/haiku-atelier-2024\/views\/parts\/pages\/panier\/panneau-panier.twig":"0b84a3113ceceaac82ee96aea753c8aa","web\/app\/themes\/haiku-atelier-2024\/views\/parts\/html-head.twig":"691202d8b7719de34f604e42a74932af","web\/app\/themes\/haiku-atelier-2024\/views\/parts\/en-tete.twig":"1cf26fa4e64cdc7c6ed29b4e5627841a","web\/app\/themes\/haiku-atelier-2024\/views\/macros\/images.twig":"4beca7e03e55ef0e46828befcc779677","web\/app\/themes\/haiku-atelier-2024\/views\/404.twig":"75335b023fcc6f5c83197e8c126384e1","web\/app\/themes\/haiku-atelier-2024\/views\/a-propos.twig":"b5bdf0962e089bc93d33f5d23b97f64c","web\/app\/themes\/haiku-atelier-2024\/views\/cgv.twig":"97984ba4344e2dcf8c3237796203c614","web\/app\/themes\/haiku-atelier-2024\/views\/succes-commande.twig":"712e54c1866a66988ccb1a79cbae53d6","web\/app\/themes\/haiku-atelier-2024\/views\/echec-commande.twig":"9cf475c2c19664e9ef92a71e670b2880","web\/app\/themes\/haiku-atelier-2024\/views\/produit.twig":"43bf608a266e8b8652a8f878fbe4580e","web\/app\/themes\/haiku-atelier-2024\/views\/panier.twig":"d008509105bb53253214344429163558","web\/app\/themes\/haiku-atelier-2024\/views\/contact.twig":"5d9dcae3e990c671404a8200b6c9815a","web\/app\/themes\/haiku-atelier-2024\/views\/boutique.twig":"10449e7c29289282366d754ec3360589","web\/app\/themes\/haiku-atelier-2024\/views\/accueil.twig":"beb4b2270ea3a1bcdbf8cd9e69f83ee7","web\/app\/themes\/haiku-atelier-2024\/views\/base.twig":"3e3ed592fb1c4bc8405be3b52f403725","web\/app\/themes\/haiku-atelier-2024\/woocommerce\/emails\/views\/email-base.twig":"7ef70033248d96d208f965dc4d885d9f","web\/app\/themes\/haiku-atelier-2024\/woocommerce\/emails\/views\/email-commande-recue.twig":"0b09e4586dd8eb4ca9513b9ae38e307b"}}
|
||||
{"php_version":"8.4.11","fixer_version":"866af065fd09980b6390ee5c69e45b08053101e8","rules":{"TwigCsFixer\\Rules\\Delimiter\\DelimiterSpacingRule":{"skipIfNewLine":true},"TwigCsFixer\\Rules\\Function\\MacroArgumentNameRule":{"case":"snake_case"},"TwigCsFixer\\Rules\\Function\\NamedArgumentNameRule":{"case":"snake_case"},"TwigCsFixer\\Rules\\Function\\NamedArgumentSeparatorRule":null,"TwigCsFixer\\Rules\\Function\\NamedArgumentSpacingRule":null,"TwigCsFixer\\Rules\\Operator\\OperatorNameSpacingRule":null,"TwigCsFixer\\Rules\\Operator\\OperatorSpacingRule":null,"TwigCsFixer\\Rules\\Punctuation\\PunctuationSpacingRule":{"before":{")":0,"]":0,"}":0,":":0,".":0,",":0,"|":0,"?:":0},"after":{"(":0,"[":0,"{":0,".":0,"|":0,":":1,",":1,"?:":1}},"TwigCsFixer\\Rules\\Variable\\VariableNameRule":{"case":"snake_case","optionalPrefix":""},"TwigCsFixer\\Rules\\Whitespace\\BlankEOFRule":null,"TwigCsFixer\\Rules\\Delimiter\\BlockNameSpacingRule":null,"TwigCsFixer\\Rules\\Whitespace\\EmptyLinesRule":null,"TwigCsFixer\\Rules\\Literal\\CompactHashRule":{"compact":false},"TwigCsFixer\\Rules\\Literal\\HashQuoteRule":{"useQuote":false},"TwigCsFixer\\Rules\\Function\\IncludeFunctionRule":null,"TwigCsFixer\\Rules\\Whitespace\\IndentRule":{"spaceRatio":4,"useTab":false},"TwigCsFixer\\Rules\\Literal\\SingleQuoteRule":{"skipStringContainingSingleQuote":true},"TwigCsFixer\\Rules\\Punctuation\\TrailingCommaMultiLineRule":{"comma":true},"TwigCsFixer\\Rules\\Punctuation\\TrailingCommaSingleLineRule":null,"TwigCsFixer\\Rules\\Whitespace\\TrailingSpaceRule":null},"hashes":{"web\/app\/themes\/haiku-atelier-2024\/views\/parts\/pages\/shop\/grille-produits.twig":"ef4ff046636044e452eeb3fe9edefaeb","web\/app\/themes\/haiku-atelier-2024\/views\/parts\/pages\/produit\/grille-produits-similaires.twig":"eadf1a78a51084677aaaa56dafb1e708","web\/app\/themes\/haiku-atelier-2024\/views\/parts\/pages\/produit\/informations-produit.twig":"4b7c756b4aa0f88942857e6c4969b354","web\/app\/themes\/haiku-atelier-2024\/views\/parts\/pages\/produit\/photos-produit.twig":"5654c0382c5ef553a0b96a09194d909a","web\/app\/themes\/haiku-atelier-2024\/views\/parts\/pages\/produit\/produits-similaires.twig":"695492c5926dfeeb69c37eb6227e1f18","web\/app\/themes\/haiku-atelier-2024\/views\/parts\/pages\/panier\/panneau-informations-client.twig":"095a41b6e4142d7c2d9ebe18e4ac24d0","web\/app\/themes\/haiku-atelier-2024\/views\/parts\/pages\/panier\/panneau-panier.twig":"684e37c3acba0ee0800421b635b3d515","web\/app\/themes\/haiku-atelier-2024\/views\/parts\/pied-de-page.twig":"d5f5afaa90db1db6590ea0ed0584c216","web\/app\/themes\/haiku-atelier-2024\/views\/parts\/bandeau.twig":"1164a4e9baafbb15be2a4dc98c32ced1","web\/app\/themes\/haiku-atelier-2024\/views\/parts\/en-tete.twig":"1cf26fa4e64cdc7c6ed29b4e5627841a","web\/app\/themes\/haiku-atelier-2024\/views\/parts\/html-head.twig":"691202d8b7719de34f604e42a74932af","web\/app\/themes\/haiku-atelier-2024\/views\/parts\/menu-categories-produits.twig":"e132a6035820545f704075ab9e89d119","web\/app\/themes\/haiku-atelier-2024\/views\/macros\/images.twig":"4beca7e03e55ef0e46828befcc779677","web\/app\/themes\/haiku-atelier-2024\/views\/404.twig":"75335b023fcc6f5c83197e8c126384e1","web\/app\/themes\/haiku-atelier-2024\/views\/a-propos.twig":"b5bdf0962e089bc93d33f5d23b97f64c","web\/app\/themes\/haiku-atelier-2024\/views\/accueil.twig":"beb4b2270ea3a1bcdbf8cd9e69f83ee7","web\/app\/themes\/haiku-atelier-2024\/views\/base.twig":"3e3ed592fb1c4bc8405be3b52f403725","web\/app\/themes\/haiku-atelier-2024\/views\/boutique.twig":"10449e7c29289282366d754ec3360589","web\/app\/themes\/haiku-atelier-2024\/views\/cgv.twig":"97984ba4344e2dcf8c3237796203c614","web\/app\/themes\/haiku-atelier-2024\/views\/contact.twig":"5d9dcae3e990c671404a8200b6c9815a","web\/app\/themes\/haiku-atelier-2024\/views\/echec-commande.twig":"9cf475c2c19664e9ef92a71e670b2880","web\/app\/themes\/haiku-atelier-2024\/views\/panier.twig":"6a423fea77a22c54e37fe8a7b6e1f34f","web\/app\/themes\/haiku-atelier-2024\/views\/produit.twig":"43bf608a266e8b8652a8f878fbe4580e","web\/app\/themes\/haiku-atelier-2024\/views\/succes-commande.twig":"712e54c1866a66988ccb1a79cbae53d6","web\/app\/themes\/haiku-atelier-2024\/woocommerce\/emails\/views\/email-commande-envoyee.twig":"e4e3bbc92a40eeae8925085b560dcb0d","web\/app\/themes\/haiku-atelier-2024\/woocommerce\/emails\/views\/email-base.twig":"7ef70033248d96d208f965dc4d885d9f","web\/app\/themes\/haiku-atelier-2024\/woocommerce\/emails\/views\/email-commande-recue.twig":"0b09e4586dd8eb4ca9513b9ae38e307b"}}
|
||||
12
.twig-cs-fixer.php
Normal file
12
.twig-cs-fixer.php
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
<?php declare(strict_types=1);
|
||||
|
||||
use TwigCsFixer\Config\Config;
|
||||
use TwigCsFixer\Ruleset\Ruleset;
|
||||
use TwigCsFixer\Standard\TwigCsFixer;
|
||||
|
||||
$ruleset = new Ruleset()->addStandard(new TwigCsFixer());
|
||||
$config = new Config()
|
||||
->allowNonFixableRules()
|
||||
->setRuleset($ruleset);
|
||||
|
||||
return $config;
|
||||
64
biome.json
64
biome.json
|
|
@ -1,7 +1,16 @@
|
|||
{
|
||||
"$schema": "https://biomejs.dev/schemas/2.0.4/schema.json",
|
||||
"assist": { "enabled": false },
|
||||
"css": { "formatter": { "enabled": false }, "linter": { "enabled": true } },
|
||||
"assist": {
|
||||
"enabled": false
|
||||
},
|
||||
"css": {
|
||||
"formatter": {
|
||||
"enabled": false
|
||||
},
|
||||
"linter": {
|
||||
"enabled": true
|
||||
}
|
||||
},
|
||||
"files": {
|
||||
"experimentalScannerIgnores": [
|
||||
"*.min.js",
|
||||
|
|
@ -13,36 +22,61 @@
|
|||
"ignoreUnknown": true,
|
||||
"maxSize": 100000000
|
||||
},
|
||||
"formatter": { "enabled": false },
|
||||
"graphql": { "formatter": { "enabled": false }, "linter": { "enabled": true } },
|
||||
"json": { "formatter": { "enabled": false }, "linter": { "enabled": true } },
|
||||
"formatter": {
|
||||
"enabled": false
|
||||
},
|
||||
"graphql": {
|
||||
"formatter": {
|
||||
"enabled": false
|
||||
},
|
||||
"linter": {
|
||||
"enabled": true
|
||||
}
|
||||
},
|
||||
"json": {
|
||||
"formatter": {
|
||||
"enabled": false
|
||||
},
|
||||
"linter": {
|
||||
"enabled": true
|
||||
}
|
||||
},
|
||||
"linter": {
|
||||
"enabled": false,
|
||||
"rules": {
|
||||
"complexity": { "noForEach": "off" },
|
||||
"complexity": {
|
||||
"noForEach": "off"
|
||||
},
|
||||
"nursery": {
|
||||
"recommended": true,
|
||||
"useSortedClasses": {
|
||||
"fix": "unsafe",
|
||||
"level": "error",
|
||||
"options": { "attributes": ["class"], "functions": [""] }
|
||||
"options": {
|
||||
"attributes": [
|
||||
"class"
|
||||
],
|
||||
"functions": [
|
||||
""
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"recommended": true,
|
||||
"style": {
|
||||
"recommended": true,
|
||||
"noInferrableTypes": "error",
|
||||
"noNonNullAssertion": "off",
|
||||
"noParameterAssign": "error",
|
||||
"noUnusedTemplateLiteral": "error",
|
||||
"noUselessElse": "error",
|
||||
"recommended": true,
|
||||
"useAsConstAssertion": "error",
|
||||
"useDefaultParameterLast": "error",
|
||||
"useEnumInitializers": "error",
|
||||
"useSelfClosingElements": "error",
|
||||
"useSingleVarDeclarator": "error",
|
||||
"noUnusedTemplateLiteral": "error",
|
||||
"useNumberNamespace": "error",
|
||||
"noInferrableTypes": "error",
|
||||
"noUselessElse": "error"
|
||||
},
|
||||
"recommended": true
|
||||
"useSelfClosingElements": "error",
|
||||
"useSingleVarDeclarator": "error"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
18
compose.yaml
18
compose.yaml
|
|
@ -52,6 +52,21 @@ services:
|
|||
- "14250:14250"
|
||||
- "14268:14268"
|
||||
- "14269:14269"
|
||||
phpmyadmin:
|
||||
container_name: "haikuatelier.fr-phpmyadmin"
|
||||
depends_on:
|
||||
- "db"
|
||||
- "proxy"
|
||||
- "traefik"
|
||||
env_file:
|
||||
- path: "./.env"
|
||||
required: true
|
||||
image: "docker.io/library/phpmyadmin:latest"
|
||||
networks:
|
||||
- "haiku-network"
|
||||
ports:
|
||||
- "127.0.0.1:8080:80"
|
||||
restart: "on-failure:3"
|
||||
proxy:
|
||||
container_name: "haikuatelier.fr-proxy"
|
||||
depends_on:
|
||||
|
|
@ -118,13 +133,12 @@ services:
|
|||
- "CMD-SHELL"
|
||||
- "valkey-cli ping | grep PONG"
|
||||
timeout: "5s"
|
||||
image: "docker.io/valkey/valkey:8-alpine"
|
||||
image: "docker.io/valkey/valkey:9-alpine"
|
||||
restart: "unless-stopped"
|
||||
sysctls:
|
||||
- "net.core.somaxconn=512"
|
||||
volumes:
|
||||
- "./containers/conf/valkey.conf:/usr/local/etc/valkey/valkey.conf:ro"
|
||||
- "./containers/data/valkey:/data:rw"
|
||||
wordpress:
|
||||
container_name: "haikuatelier.fr-wordpress"
|
||||
depends_on:
|
||||
|
|
|
|||
148
composer.json
148
composer.json
|
|
@ -1,65 +1,11 @@
|
|||
{
|
||||
"name": "roots/bedrock",
|
||||
"type": "project",
|
||||
"license": "MIT",
|
||||
"description": "WordPress boilerplate with Composer, easier configuration, and an improved folder structure",
|
||||
"homepage": "https://roots.io/bedrock/",
|
||||
"authors": [
|
||||
{ "name": "Scott Walkinshaw", "email": "scott.walkinshaw@gmail.com", "homepage": "https://github.com/swalkinshaw" },
|
||||
{ "name": "Ben Word", "email": "ben@benword.com", "homepage": "https://github.com/retlehs" }
|
||||
],
|
||||
"keywords": ["bedrock", "composer", "roots", "wordpress", "wp", "wp-config"],
|
||||
"support": {
|
||||
"issues": "https://github.com/roots/bedrock/issues",
|
||||
"forum": "https://discourse.roots.io/category/bedrock"
|
||||
},
|
||||
"repositories": [
|
||||
{ "type": "composer", "url": "https://wpackagist.org", "only": ["wpackagist-plugin/*", "wpackagist-theme/*"] }
|
||||
],
|
||||
"require": {
|
||||
"php": ">=8.4",
|
||||
"composer/installers": "^2.3",
|
||||
"crell/fp": "^1.0",
|
||||
"htmlburger/carbon-fields": "^3.6",
|
||||
"illuminate/support": "^12.18",
|
||||
"laravel/helpers": "^1.7.1",
|
||||
"log1x/wp-smtp": "^1.0.2",
|
||||
"lstrojny/functional-php": "^1.17",
|
||||
"mnsami/composer-custom-directory-installer": "^2.0",
|
||||
"nesbot/carbon": "^3.8.2",
|
||||
"oscarotero/env": "^2.1.1",
|
||||
"ramsey/uuid": "^4.7.6",
|
||||
"roots/bedrock-autoloader": "^1.0.4",
|
||||
"roots/bedrock-disallow-indexing": "^2.0",
|
||||
"roots/wordpress": "^6.8.1",
|
||||
"roots/wp-config": "^1.0",
|
||||
"stripe/stripe-php": "^16.3",
|
||||
"symfony/uid": "^7.2.0",
|
||||
"timber/timber": "^2.3",
|
||||
"vlucas/phpdotenv": "^5.6.1",
|
||||
"wpackagist-plugin/falcon": "^2.8.4",
|
||||
"wpackagist-plugin/force-regenerate-thumbnails": "^2.2.1",
|
||||
"wpackagist-plugin/query-monitor": "^3.17.0",
|
||||
"wpackagist-plugin/redis-cache": "^2.5.4",
|
||||
"wpackagist-plugin/woo-preview-emails": "^2.2.13",
|
||||
"wpackagist-plugin/woocommerce": "^10",
|
||||
"wpackagist-plugin/wp-mail-logging": "^1.13.1",
|
||||
"wpackagist-plugin/wp-mail-smtp": "^4.2",
|
||||
"wpackagist-plugin/wp-openapi": "^1.0.16",
|
||||
"wpackagist-theme/twentytwentyfour": "^1.3"
|
||||
},
|
||||
"require-dev": {
|
||||
"friendsofphp/php-cs-fixer": "^3.89",
|
||||
"phpstan/extension-installer": "^1.4.3",
|
||||
"phpstan/phpstan": "^2.0.3",
|
||||
"roave/security-advisories": "dev-latest",
|
||||
"squizlabs/php_codesniffer": "^4.0",
|
||||
"szepeviktor/phpstan-wordpress": "2.x-dev",
|
||||
"vincentlanglet/twig-cs-fixer": "^3.10"
|
||||
"authors": [],
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"HaikuAtelier\\": "web/app/themes/haiku-atelier-2024/src/inc"
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
"optimize-autoloader": true,
|
||||
"preferred-install": "dist",
|
||||
"allow-plugins": {
|
||||
"carthage-software/mago": true,
|
||||
"composer/installers": true,
|
||||
|
|
@ -67,17 +13,87 @@
|
|||
"phpstan/extension-installer": true,
|
||||
"roots/wordpress-core-installer": true
|
||||
},
|
||||
"optimize-autoloader": true,
|
||||
"preferred-install": "dist",
|
||||
"sort-packages": true
|
||||
},
|
||||
"minimum-stability": "dev",
|
||||
"prefer-stable": true,
|
||||
"extra": {
|
||||
"installer-paths": {
|
||||
"web/vendor/{$vendor}/{$name}": ["htmlburger/carbon-fields"],
|
||||
"web/app/mu-plugins/{$name}/": ["type:wordpress-muplugin"],
|
||||
"web/app/plugins/{$name}/": ["type:wordpress-plugin"],
|
||||
"web/app/themes/{$name}/": ["type:wordpress-theme"]
|
||||
"web/app/mu-plugins/{$name}/": [
|
||||
"type:wordpress-muplugin"
|
||||
],
|
||||
"web/app/plugins/{$name}/": [
|
||||
"type:wordpress-plugin"
|
||||
],
|
||||
"web/app/themes/{$name}/": [
|
||||
"type:wordpress-theme"
|
||||
],
|
||||
"web/vendor/{$vendor}/{$name}": [
|
||||
"htmlburger/carbon-fields"
|
||||
]
|
||||
},
|
||||
"wordpress-install-dir": "web/wp"
|
||||
}
|
||||
},
|
||||
"minimum-stability": "dev",
|
||||
"name": "gcch/haiku-atelier",
|
||||
"prefer-stable": true,
|
||||
"repositories": [
|
||||
{
|
||||
"only": [
|
||||
"wpackagist-plugin/*",
|
||||
"wpackagist-theme/*"
|
||||
],
|
||||
"type": "composer",
|
||||
"url": "https://wpackagist.org"
|
||||
}
|
||||
],
|
||||
"require": {
|
||||
"composer/installers": "^2.3",
|
||||
"crell/fp": "^1.0",
|
||||
"htmlburger/carbon-fields": "^3.6.9",
|
||||
"illuminate/support": "^12.37",
|
||||
"laravel/helpers": "^1.8.1",
|
||||
"log1x/wp-smtp": "^1.0.2",
|
||||
"lstrojny/functional-php": "^1.17",
|
||||
"mnsami/composer-custom-directory-installer": "^2.0",
|
||||
"mrottow/vite-wordpress": "^0.1.3",
|
||||
"nesbot/carbon": "^3.10.3",
|
||||
"oscarotero/env": "^2.1.1",
|
||||
"php": ">=8.4",
|
||||
"ramsey/uuid": "^4.9.1",
|
||||
"roots/bedrock-autoloader": "^1.0.4",
|
||||
"roots/bedrock-disallow-indexing": "^2.0",
|
||||
"roots/wordpress": "^6.8.3",
|
||||
"roots/wp-config": "^1.0",
|
||||
"stripe/stripe-php": "^16.6",
|
||||
"symfony/uid": "^8",
|
||||
"timber/timber": "^2.3.3",
|
||||
"vlucas/phpdotenv": "^5.6.2",
|
||||
"webmozart/assert": "^1.12.1",
|
||||
"wpackagist-plugin/falcon": "2.8.6",
|
||||
"wpackagist-plugin/force-regenerate-thumbnails": "2.2.2",
|
||||
"wpackagist-plugin/query-monitor": "^3.20.0",
|
||||
"wpackagist-plugin/redis-cache": "^2.7.0",
|
||||
"wpackagist-plugin/wc-multishipping": "3.0",
|
||||
"wpackagist-plugin/woo-preview-emails": "2.2.14",
|
||||
"wpackagist-plugin/woocommerce": "10.3.6",
|
||||
"wpackagist-plugin/wp-mail-logging": "1.15.0",
|
||||
"wpackagist-plugin/wp-mail-smtp": "4.7.1",
|
||||
"wpackagist-plugin/wp-openapi": "1.0.27",
|
||||
"wpackagist-theme/twentytwentyfour": "^1.4"
|
||||
},
|
||||
"require-dev": {
|
||||
"friendsofphp/php-cs-fixer": "^3.89.2",
|
||||
"phpstan/extension-installer": "^1.4.3",
|
||||
"phpstan/phpstan": "^2.1.32",
|
||||
"phpstan/phpstan-deprecation-rules": "^2.0.3",
|
||||
"phpstan/phpstan-webmozart-assert": "^2.0",
|
||||
"rector/rector": "^2.2.7",
|
||||
"roave/security-advisories": "dev-latest",
|
||||
"squizlabs/php_codesniffer": "^4.0.1",
|
||||
"swissspidy/phpstan-no-private": "^1.0",
|
||||
"szepeviktor/phpstan-wordpress": "2.x-dev",
|
||||
"vincentlanglet/twig-cs-fixer": "^3.10"
|
||||
},
|
||||
"type": "project"
|
||||
}
|
||||
|
|
|
|||
961
composer.lock
generated
961
composer.lock
generated
File diff suppressed because it is too large
Load diff
|
|
@ -11,36 +11,34 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
use Roots\WPConfig\Config;
|
||||
|
||||
use function Env\env;
|
||||
use Roots\WPConfig\Config;
|
||||
|
||||
// USE_ENV_ARRAY + CONVERT_* + STRIP_QUOTES
|
||||
Env\Env::$options = 31;
|
||||
|
||||
/*
|
||||
/**
|
||||
* Directory containing all of the site's files.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
$root_dir = dirname(__DIR__);
|
||||
$root_dir = \dirname(__DIR__);
|
||||
|
||||
/*
|
||||
/**
|
||||
* Document Root.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
$webroot_dir = $root_dir.'/web';
|
||||
$webroot_dir = $root_dir . '/web';
|
||||
|
||||
/*
|
||||
* Use Dotenv to set required environment variables and load .env file in root
|
||||
* .env.local will override .env if it exists
|
||||
*/
|
||||
if (file_exists($root_dir.'/.env')) {
|
||||
$env_files = file_exists($root_dir.'/.env.local') ? [
|
||||
'.env',
|
||||
'.env.local',
|
||||
] : ['.env'];
|
||||
if (file_exists($root_dir . '/.env')) {
|
||||
$env_files = file_exists($root_dir . '/.env.local')
|
||||
? ['.env', '.env.local']
|
||||
: ['.env'];
|
||||
|
||||
$dotenv = Dotenv\Dotenv::createImmutable($root_dir, $env_files, false);
|
||||
|
||||
|
|
@ -56,10 +54,10 @@ if (file_exists($root_dir.'/.env')) {
|
|||
* Set up our global environment constant and load its config first
|
||||
* Default: production
|
||||
*/
|
||||
define('WP_ENV', env('WP_ENV') ?: 'production');
|
||||
\define('WP_ENV', env('WP_ENV') ?: 'production');
|
||||
|
||||
// Infer WP_ENVIRONMENT_TYPE based on WP_ENV
|
||||
if (!env('WP_ENVIRONMENT_TYPE') && in_array(WP_ENV, ['production', 'staging', 'development', 'local'])) {
|
||||
if (!env('WP_ENVIRONMENT_TYPE') && \in_array(WP_ENV, ['production', 'staging', 'development', 'local'], true)) {
|
||||
Config::define('WP_ENVIRONMENT_TYPE', WP_ENV);
|
||||
}
|
||||
|
||||
|
|
@ -69,12 +67,12 @@ Config::define('WP_SITEURL', env('WP_SITEURL'));
|
|||
|
||||
// Custom Content Directory
|
||||
Config::define('CONTENT_DIR', '/app');
|
||||
Config::define('WP_CONTENT_DIR', $webroot_dir.Config::get('CONTENT_DIR'));
|
||||
Config::define('WP_CONTENT_URL', Config::get('WP_HOME').Config::get('CONTENT_DIR'));
|
||||
Config::define('WP_CONTENT_DIR', $webroot_dir . Config::get('CONTENT_DIR'));
|
||||
Config::define('WP_CONTENT_URL', Config::get('WP_HOME') . Config::get('CONTENT_DIR'));
|
||||
|
||||
// DB settings
|
||||
if (env('DB_SSL')) {
|
||||
Config::define('MYSQL_CLIENT_FLAGS', MYSQLI_CLIENT_SSL);
|
||||
Config::define('MYSQL_CLIENT_FLAGS', \MYSQLI_CLIENT_SSL);
|
||||
}
|
||||
|
||||
Config::define('DB_NAME', env('DB_NAME'));
|
||||
|
|
@ -88,9 +86,9 @@ $table_prefix = env('DB_PREFIX') ?: 'wp_';
|
|||
if (env('DATABASE_URL')) {
|
||||
$dsn = (object) parse_url(env('DATABASE_URL'));
|
||||
|
||||
Config::define('DB_NAME', substr($dsn->path, 1));
|
||||
Config::define('DB_NAME', mb_substr($dsn->path, 1));
|
||||
Config::define('DB_USER', $dsn->user);
|
||||
Config::define('DB_PASSWORD', isset($dsn->pass) ? $dsn->pass : null);
|
||||
Config::define('DB_PASSWORD', $dsn->pass ?? null);
|
||||
Config::define('DB_HOST', isset($dsn->port) ? "{$dsn->host}:{$dsn->port}" : $dsn->host);
|
||||
}
|
||||
|
||||
|
|
@ -124,8 +122,8 @@ Config::define('SCRIPT_DEBUG', false);
|
|||
ini_set('display_errors', '0');
|
||||
|
||||
// Plugins
|
||||
Config::define('WPMU_PLUGIN_DIR', Config::get('WP_CONTENT_DIR').'/mu-plugins');
|
||||
Config::define('WP_PLUGIN_DIR', Config::get('WP_CONTENT_DIR').'/plugins');
|
||||
Config::define('WPMU_PLUGIN_DIR', Config::get('WP_CONTENT_DIR') . '/mu-plugins');
|
||||
Config::define('WP_PLUGIN_DIR', Config::get('WP_CONTENT_DIR') . '/plugins');
|
||||
|
||||
/*
|
||||
* Allow WordPress to detect HTTPS when used behind a reverse proxy or a load balancer
|
||||
|
|
@ -135,7 +133,7 @@ if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && 'https' === $_SERVER['HTTP_X_FO
|
|||
$_SERVER['HTTPS'] = 'on';
|
||||
}
|
||||
|
||||
$env_config = __DIR__.'/environments/'.WP_ENV.'.php';
|
||||
$env_config = __DIR__ . '/environments/' . WP_ENV . '.php';
|
||||
|
||||
if (file_exists($env_config)) {
|
||||
include_once $env_config;
|
||||
|
|
@ -144,6 +142,6 @@ if (file_exists($env_config)) {
|
|||
Config::apply();
|
||||
|
||||
// Bootstrap WordPress
|
||||
if (!defined('ABSPATH')) {
|
||||
define('ABSPATH', $webroot_dir.'/wp/');
|
||||
if (!\defined('ABSPATH')) {
|
||||
\define('ABSPATH', $webroot_dir . '/wp/');
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,13 +6,12 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
use Roots\WPConfig\Config;
|
||||
|
||||
use function Env\env;
|
||||
use Roots\WPConfig\Config;
|
||||
|
||||
Config::define('SAVEQUERIES', true);
|
||||
Config::define('WP_DEBUG', true);
|
||||
Config::define('WP_DEBUG_DISPLAY', false);
|
||||
Config::define('WP_DEBUG_DISPLAY', true);
|
||||
Config::define('WP_DEBUG_LOG', env('WP_DEBUG_LOG') ?? true);
|
||||
Config::define('WP_DISABLE_FATAL_ERROR_HANDLER', true);
|
||||
Config::define('SCRIPT_DEBUG', true);
|
||||
|
|
|
|||
|
|
@ -6,9 +6,8 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
use Roots\WPConfig\Config;
|
||||
|
||||
use function Env\env;
|
||||
use Roots\WPConfig\Config;
|
||||
|
||||
Config::define('WP_DEBUG', true);
|
||||
Config::define('WP_DEBUG_DISPLAY', false);
|
||||
|
|
|
|||
|
|
@ -6,9 +6,8 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
use Roots\WPConfig\Config;
|
||||
|
||||
use function Env\env;
|
||||
use Roots\WPConfig\Config;
|
||||
|
||||
Config::define('DISALLOW_INDEXING', true);
|
||||
Config::define('WOOCOMMERCE_API_CONSUMER_KEY', env('WOOCOMMERCE_API_CONSUMER_KEY'));
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ RUN set -eux && apk add --no-cache \
|
|||
# Récupère les fichiers du site pour la branche « Production ».
|
||||
RUN git clone --branch production --depth 1 http://git.gcch.fr/gcch/haiku-atelier-2024.git "/tmp/repo"
|
||||
|
||||
FROM docker.io/library/wordpress:php8.4-fpm-alpine AS php
|
||||
FROM docker.io/library/wordpress:php8.5-fpm-alpine AS php
|
||||
ENTRYPOINT []
|
||||
|
||||
LABEL org.opencontainers.image.title=wordpress-haiku-atelier \
|
||||
|
|
|
|||
|
|
@ -53,4 +53,5 @@ http {
|
|||
|
||||
############# WP conf
|
||||
include /etc/angie/haikuatelier.conf;
|
||||
include /etc/angie/phpmyadmin.conf;
|
||||
}
|
||||
|
|
|
|||
27
containers/conf/angie/phpmyadmin.conf
Normal file
27
containers/conf/angie/phpmyadmin.conf
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
map $http_upgrade $connection_upgrade {
|
||||
default upgrade;
|
||||
'' close;
|
||||
}
|
||||
|
||||
upstream phpmyadmin-upstream {
|
||||
server phpmyadmin:80;
|
||||
}
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
server_name "phpmyadmin.gcch.local";
|
||||
|
||||
access_log /var/log/angie/phpmyadmin-access.log;
|
||||
error_log /var/log/angie/phpmyadmin-error.log;
|
||||
|
||||
location / {
|
||||
proxy_pass http://phpmyadmin-upstream;
|
||||
proxy_http_version 1.1;
|
||||
proxy_read_timeout 86400;
|
||||
proxy_set_header Connection $connection_upgrade;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Host $host;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
}
|
||||
}
|
||||
|
|
@ -40,6 +40,13 @@ http:
|
|||
service: api@internal
|
||||
tls: true
|
||||
|
||||
phpmyadmin:
|
||||
entryPoints:
|
||||
- "websecure"
|
||||
rule: "Host(`phpmyadmin.gcch.local`)"
|
||||
service: "service-phpmyadmin"
|
||||
tls: true
|
||||
|
||||
whoami:
|
||||
entryPoints:
|
||||
- websecure
|
||||
|
|
|
|||
|
|
@ -18,6 +18,11 @@ http:
|
|||
servers:
|
||||
- url: "http://jaeger:4318"
|
||||
|
||||
service-phpmyadmin:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://proxy:80"
|
||||
|
||||
service-whoami:
|
||||
loadBalancer:
|
||||
servers:
|
||||
|
|
|
|||
50
cspell.json
50
cspell.json
|
|
@ -1,22 +1,7 @@
|
|||
{
|
||||
"dictionaries": ["fr-fr", "en-gb"],
|
||||
"words": [
|
||||
"GLITCHTIP",
|
||||
"Vali",
|
||||
"fdir",
|
||||
"mobily",
|
||||
"oxlint",
|
||||
"valibot",
|
||||
"zstandard",
|
||||
"Eles",
|
||||
"logtape",
|
||||
"wpackagist",
|
||||
"phpdotenv",
|
||||
"friendsofphp",
|
||||
"htmlburger",
|
||||
"Crell",
|
||||
"wpdb",
|
||||
"classlike"
|
||||
"dictionaries": [
|
||||
"fr-fr",
|
||||
"en-gb"
|
||||
],
|
||||
"userWords": [
|
||||
"lightningcss",
|
||||
|
|
@ -37,6 +22,33 @@
|
|||
"muplugin",
|
||||
"wpautop",
|
||||
"ERRMODE",
|
||||
"laravel"
|
||||
"laravel",
|
||||
"Surchargement"
|
||||
],
|
||||
"words": [
|
||||
"GLITCHTIP",
|
||||
"Vali",
|
||||
"fdir",
|
||||
"mobily",
|
||||
"oxlint",
|
||||
"valibot",
|
||||
"zstandard",
|
||||
"Eles",
|
||||
"logtape",
|
||||
"wpackagist",
|
||||
"phpdotenv",
|
||||
"friendsofphp",
|
||||
"htmlburger",
|
||||
"Crell",
|
||||
"wpdb",
|
||||
"classlike",
|
||||
"dashicons",
|
||||
"buddicons",
|
||||
"mago",
|
||||
"gcch",
|
||||
"metaboxes",
|
||||
"multiformats",
|
||||
"titlewrap",
|
||||
"FidelityProgramError"
|
||||
]
|
||||
}
|
||||
|
|
|
|||
18270
db/haiku_atelier-2025-12-03-c65939b.sql
Normal file
18270
db/haiku_atelier-2025-12-03-c65939b.sql
Normal file
File diff suppressed because one or more lines are too long
18
docs/code_fidélité.md
Normal file
18
docs/code_fidélité.md
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
# Code de fidélité
|
||||
|
||||
- Un programme de fidélité vise à récompenser les achats répétés auprès de Haiku Atelier par l'obtention de réductions progressivement plus importantes à chaque commande.
|
||||
- Le pourcentage de réduction s'applique à chaque commande où le programme de fidélité est invoqué.
|
||||
- Chaque commande successive augmente le pourcentage de réduction, de 5% (un commande) jusqu'à 20% (cinq commandes).
|
||||
- Une fois la cinquième commande effectuée, la réduction retourne à 5%.
|
||||
- Un programme de fidélité est créé, à la demande explicite de l'acheteur lors d'une commande, en l'associant à l'adresse email qu'il a renseigné.
|
||||
- Lorsqu'un acheteur potentiel renseigne ses informations personnelles et les fait valider, le backoffice vérifie que son adresse email correspond à un programme de fidélité. Si c'est le cas, proposer le choix à l'acheteur d'appliquer ou non la réduction.
|
||||
|
||||
## Technique
|
||||
|
||||
- Il ne semble pas trop viable d'utiliser de créer une taxonomie pour les **Commandes**.
|
||||
- Les **Coupons** sont un type de post, `shop_coupon`.
|
||||
- Peut-être créer un nouveau type de post, `fidelity_program` ?
|
||||
|
||||
## Liens
|
||||
|
||||
- [Ajouter manuellement une réduction à un Panier](https://stackoverflow.com/questions/22928367/how-to-create-custom-discount-for-the-cart-in-woocommerce).
|
||||
27
dprint.json
27
dprint.json
|
|
@ -11,8 +11,19 @@
|
|||
"exec": {
|
||||
"cacheKey": "1",
|
||||
"commands": [
|
||||
{ "command": "prettier --ignore-unknown --write --stdin-filepath {{file_path}}", "exts": ["xml"] },
|
||||
{ "command": "just --dump", "fileNames": ["justfile"], "stdin": true }
|
||||
{
|
||||
"command": "prettier --ignore-unknown --write --stdin-filepath {{file_path}}",
|
||||
"exts": [
|
||||
"xml"
|
||||
]
|
||||
},
|
||||
{
|
||||
"command": "just --dump",
|
||||
"fileNames": [
|
||||
"justfile"
|
||||
],
|
||||
"stdin": true
|
||||
}
|
||||
],
|
||||
"cwd": "${originConfigDir}",
|
||||
"indentWidth": 2,
|
||||
|
|
@ -24,7 +35,12 @@
|
|||
"json": {
|
||||
"commentLine.forceSpaceAfterSlashes": true,
|
||||
"indentWidth": 2,
|
||||
"jsonTrailingCommaFiles": [".swcrc", "biome.jsonc", "settings.json", "tsconfig.json"],
|
||||
"jsonTrailingCommaFiles": [
|
||||
".swcrc",
|
||||
"biome.jsonc",
|
||||
"settings.json",
|
||||
"tsconfig.json"
|
||||
],
|
||||
"lineWidth": 120,
|
||||
"newLineKind": "lf",
|
||||
"preferSingleLine": true,
|
||||
|
|
@ -47,7 +63,7 @@
|
|||
"omitNumberLeadingZero": false,
|
||||
"operatorLinebreak": "before",
|
||||
"preferSingleLine": true,
|
||||
"printWidth": 100,
|
||||
"printWidth": 120,
|
||||
"quotes": "alwaysDouble",
|
||||
"singleLineBlockThreshold": null,
|
||||
"singleLineTopLevelDeclarations": false,
|
||||
|
|
@ -81,7 +97,7 @@
|
|||
"https://plugins.dprint.dev/markdown-0.20.0.wasm",
|
||||
"https://plugins.dprint.dev/toml-0.7.0.wasm",
|
||||
"https://plugins.dprint.dev/g-plane/malva-v0.15.0.wasm",
|
||||
"https://plugins.dprint.dev/g-plane/markup_fmt-v0.24.0.wasm",
|
||||
"https://plugins.dprint.dev/g-plane/markup_fmt-v0.24.1.wasm",
|
||||
"https://plugins.dprint.dev/g-plane/pretty_yaml-v0.5.1.wasm",
|
||||
"https://plugins.dprint.dev/exec-0.6.0.json@a054130d458f124f9b5c91484833828950723a5af3f8ff2bd1523bd47b83b364"
|
||||
],
|
||||
|
|
@ -99,6 +115,7 @@
|
|||
"conditionalExpression.preferSingleLine": true,
|
||||
"exportDeclaration.sortNamedExports": "maintain",
|
||||
"importDeclaration.sortNamedImports": "maintain",
|
||||
"lineWidth": 120,
|
||||
"module.sortExportDeclarations": "maintain",
|
||||
"module.sortImportDeclarations": "maintain",
|
||||
"quoteProps": "asNeeded",
|
||||
|
|
|
|||
|
|
@ -1,61 +0,0 @@
|
|||
import js from "@eslint/js";
|
||||
import oxlint from "eslint-plugin-oxlint";
|
||||
import perfectionist from "eslint-plugin-perfectionist";
|
||||
import globals from "globals";
|
||||
import tseslint from "typescript-eslint";
|
||||
|
||||
export default tseslint.config(
|
||||
js.configs.recommended,
|
||||
perfectionist.configs["recommended-natural"],
|
||||
...tseslint.configs.strictTypeChecked,
|
||||
...tseslint.configs.stylisticTypeChecked,
|
||||
oxlint.configs["flat/recommended"],
|
||||
{
|
||||
files: ["*.js", "web/app/themes/haiku-atelier-2024/src/**/*.ts"],
|
||||
languageOptions: {
|
||||
ecmaVersion: "latest",
|
||||
globals: {
|
||||
...globals.browser,
|
||||
...globals.es2020,
|
||||
},
|
||||
parserOptions: {
|
||||
projectService: true,
|
||||
tsconfigRootDir: import.meta.dirname,
|
||||
},
|
||||
},
|
||||
rules: {
|
||||
/* Utilise Array<T> plutôt que T[]. */
|
||||
"@typescript-eslint/array-type": [
|
||||
"error",
|
||||
{
|
||||
default: "generic",
|
||||
readonly: "generic",
|
||||
},
|
||||
],
|
||||
/* L'usage d'interfaces ou de types doit être à la discrétion du développeur. */
|
||||
"@typescript-eslint/consistent-type-definitions": "off",
|
||||
/* Désactive cette règle pour les fonctions fléchées pour rendre le code moins verbeux. */
|
||||
"@typescript-eslint/no-confusing-void-expression": [
|
||||
"error",
|
||||
{
|
||||
ignoreArrowShorthand: true,
|
||||
ignoreVoidOperator: false,
|
||||
},
|
||||
],
|
||||
/* Chiant avec certaines Promises. */
|
||||
"@typescript-eslint/no-misused-promises": "off",
|
||||
/* Cette règle empêche l'usage de génériques précisant les types de retour de fonctions. */
|
||||
"@typescript-eslint/no-unnecessary-type-parameters": "off",
|
||||
// Pour utiliser LogTape.
|
||||
"@typescript-eslint/no-unused-expressions": "off",
|
||||
/* Cette règle est doublon avec les règles noUnused* de TypeScript. */
|
||||
"@typescript-eslint/no-unused-vars": "off",
|
||||
/* Cette règle empêche de lever des erreurs génériques (p.ex. `E extends Error`). */
|
||||
"@typescript-eslint/only-throw-error": "off",
|
||||
/* Cette règle empêche le style fonctionnel « point free ». */
|
||||
"@typescript-eslint/unbound-method": "off",
|
||||
/* Cette règle interdit l'usage de fonctions vides sauf pour les fonctions fléchées. */
|
||||
"no-empty-function": ["error", { allow: ["arrowFunctions"] }],
|
||||
},
|
||||
},
|
||||
);
|
||||
11
eslint.config.ts
Executable file
11
eslint.config.ts
Executable file
|
|
@ -0,0 +1,11 @@
|
|||
import { configTypescriptNavigateur } from "@gcch/configuration-eslint";
|
||||
import { defineConfig } from "eslint/config";
|
||||
|
||||
export default defineConfig([...configTypescriptNavigateur], {
|
||||
rules: {
|
||||
"@typescript-eslint/no-empty-object-type": "off",
|
||||
"perfectionist/sort-modules": "off",
|
||||
"unicorn/no-array-method-this-argument": "off",
|
||||
"unicorn/no-useless-undefined": "off",
|
||||
},
|
||||
});
|
||||
23
justfile
23
justfile
|
|
@ -4,6 +4,11 @@ set unstable := true
|
|||
cacheFolder := ".cache"
|
||||
prettierCacheFile := "prettiercache"
|
||||
|
||||
# Aliases
|
||||
|
||||
alias up := up-services
|
||||
alias down := down-services
|
||||
|
||||
# Recette par défaut.
|
||||
default: dev
|
||||
|
||||
|
|
@ -21,17 +26,19 @@ update:
|
|||
# Formatte avec Prettier et dprint.
|
||||
[group('qualité')]
|
||||
format:
|
||||
@echo "Formatage de l'ensemble du code avec Prettier et dprint."
|
||||
bun prettier \
|
||||
--cache \
|
||||
--cache-location "{{ cacheFolder }}/{{ prettierCacheFile }}" \
|
||||
--ignore-unknown \
|
||||
--write \
|
||||
.
|
||||
--cache \
|
||||
--cache-location "{{ cacheFolder }}/{{ prettierCacheFile }}" \
|
||||
--ignore-unknown \
|
||||
--write \
|
||||
.
|
||||
-dprint fmt
|
||||
# TwigCsFixher
|
||||
|
||||
jsonsort *.json
|
||||
taplo fmt **/*.toml
|
||||
|
||||
-vendor/bin/twig-cs-fixer fix web/app/themes/haiku-atelier-2024/
|
||||
# Mago
|
||||
./vendor/bin/php-cs-fixer fix --diff
|
||||
mago fmt
|
||||
|
||||
# Compile, minifie et optimise Sass vers CSS.
|
||||
|
|
|
|||
18
mago.toml
18
mago.toml
|
|
@ -3,8 +3,8 @@ php-version = "8.4.0"
|
|||
[source]
|
||||
excludes = ["web/wp/wp-admin/includes/noop.php"]
|
||||
extensions = ["php"]
|
||||
includes = ["config", "vendor", "web/app/plugins", "web/vendor", "web/wp"]
|
||||
paths = ["web/app/themes/haiku-atelier-2024/"]
|
||||
includes = ["config", "vendor", "web/app/plugins", "web/wp"]
|
||||
paths = ["web/app/themes/haiku-atelier-2024"]
|
||||
|
||||
[formatter]
|
||||
# Brace style for classes, traits, etc.
|
||||
|
|
@ -24,7 +24,7 @@ php-version = "8.4.0"
|
|||
# Prefer single quotes over double quotes for strings.
|
||||
single-quote = true
|
||||
# Number of spaces per indentation level.
|
||||
tab-width = 4
|
||||
tab-width = 2
|
||||
# Add a trailing comma to multi-line arrays, parameter lists, etc.
|
||||
trailing-comma = true
|
||||
# Use tabs instead of spaces for indentation.
|
||||
|
|
@ -52,7 +52,7 @@ php-version = "8.4.0"
|
|||
# Preserve existing line breaks in attribute lists.
|
||||
preserve-breaking-attribute-list = false
|
||||
# Preserve existing line breaks in ternary expressions.
|
||||
preserve-breaking-conditional-expression = false
|
||||
preserve-breaking-conditional-expression = true
|
||||
# Always break parameter lists with promoted properties.
|
||||
break-promoted-properties-list = true
|
||||
# Place the binary operator on the next line when breaking.
|
||||
|
|
@ -64,11 +64,11 @@ php-version = "8.4.0"
|
|||
# Use table-style alignment for arrays.
|
||||
array-table-style-alignment = true
|
||||
# Sort use statements alphabetically.
|
||||
sort-uses = true
|
||||
sort-uses = false
|
||||
# Insert a blank line between different types of use statements.
|
||||
separate-use-types = true
|
||||
separate-use-types = false
|
||||
# Expand grouped use statements into individual statements.
|
||||
expand-use-groups = true
|
||||
expand-use-groups = false
|
||||
# How to format null type hints (null|T vs ?T).
|
||||
null-type-hint = "null_pipe"
|
||||
# Add parentheses around new in member access ((new Foo)->bar()).
|
||||
|
|
@ -82,6 +82,8 @@ php-version = "8.4.0"
|
|||
# Add a space before arrow function parameters.
|
||||
space-before-arrow-function-parameter-list-parenthesis = false
|
||||
|
||||
excludes = ["vendor"]
|
||||
|
||||
[linter]
|
||||
integrations = ["wordpress"]
|
||||
|
||||
|
|
@ -89,9 +91,11 @@ php-version = "8.4.0"
|
|||
ambiguous-function-call = { enabled = true }
|
||||
halstead = { effort-threshold = 7000 }
|
||||
literal-named-argument = { enabled = false }
|
||||
no-else-clause = { enabled = false }
|
||||
no-redundant-readonly = { enabled = true }
|
||||
no-redundant-use = { enabled = true }
|
||||
no-variable-variable = { enabled = true }
|
||||
tagged-todo = { enabled = false }
|
||||
|
||||
[analyzer]
|
||||
allow-possibly-undefined-array-keys = true
|
||||
|
|
|
|||
149
package.json
149
package.json
|
|
@ -1,72 +1,14 @@
|
|||
{
|
||||
"name": "haikuatelier.fr",
|
||||
"version": "1.0.0",
|
||||
"type": "module",
|
||||
"description": "",
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"main": "index.js",
|
||||
"keywords": [],
|
||||
"scripts": { "knip": "knip" },
|
||||
"dependencies": {
|
||||
"@logtape/logtape": "^1.1.2",
|
||||
"@mobily/ts-belt": "v4.0.0-rc.5",
|
||||
"@sentry/browser": "^10.24.0",
|
||||
"a11y-dialog": "^8.1.4",
|
||||
"chalk": "^5.6.2",
|
||||
"effect": "^3.19.3",
|
||||
"lit-html": "^3.3.1",
|
||||
"loglevel": "^1.9.2",
|
||||
"loglevel-plugin-prefix": "^0.8.4",
|
||||
"optics-ts": "^2.4.1",
|
||||
"purify-ts": "2.1.2",
|
||||
"ts-pattern": "^5.9.0",
|
||||
"valibot": "1.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@biomejs/biome": "^2.3.4",
|
||||
"@cspell/dict-fr-fr": "^2.3.2",
|
||||
"@eslint/js": "^9.39.1",
|
||||
"@gcch/configuration-prettier": "^0.0.10",
|
||||
"@playwright/test": "^1.56.1",
|
||||
"@prettier/plugin-xml": "^3.4.2",
|
||||
"@sentry/core": "^10.24.0",
|
||||
"@swc/cli": "0.7.8",
|
||||
"@types/eslint__js": "^9.14.0",
|
||||
"@types/node": "^24.10.0",
|
||||
"@vitejs/plugin-legacy": "^7.2.1",
|
||||
"better-typescript-lib": "^2.12.0",
|
||||
"browserslist": "^4.27.0",
|
||||
"caniuse-lite": "^1.0.30001754",
|
||||
"eslint": "^9.39.1",
|
||||
"eslint-plugin-oxlint": "^1.26.0",
|
||||
"eslint-plugin-perfectionist": "^4.15.1",
|
||||
"fdir": "^6.5.0",
|
||||
"globals": "^16.5.0",
|
||||
"knip": "^5.68.0",
|
||||
"lightningcss-cli": "^1.30.2",
|
||||
"oxlint": "^1.27.0",
|
||||
"picomatch": "^4.0.3",
|
||||
"playwright": "^1.56.1",
|
||||
"prettier": "^3.6.2",
|
||||
"prettier-plugin-pkg": "^0.21.2",
|
||||
"prettier-plugin-sh": "^0.18.0",
|
||||
"sass-embedded": "^1.93.3",
|
||||
"stylelint": "^16.25.0",
|
||||
"stylelint-config-clean-order": "^7.0.0",
|
||||
"stylelint-config-sass-guidelines": "^12.1.0",
|
||||
"stylelint-config-standard-scss": "^16.0.0",
|
||||
"stylelint-declaration-block-no-ignored-properties": "^2.8.0",
|
||||
"stylelint-plugin-logical-css": "^1.2.3",
|
||||
"typescript": "5.9.3",
|
||||
"typescript-eslint": "^8.46.3",
|
||||
"vite": "^7.2.2",
|
||||
"vite-plugin-compression2": "^2.3.1",
|
||||
"vite-plugin-manifest-sri": "^0.2.0",
|
||||
"vite-plugin-node-polyfills": "^0.24.0",
|
||||
"vite-plugin-valibot-env": "^1.0.1",
|
||||
"vite-tsconfig-paths": "^5.1.4",
|
||||
"wp-types": "^4.68.3"
|
||||
"license": "ISC",
|
||||
"author": "",
|
||||
"type": "module",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"knip": "knip"
|
||||
},
|
||||
"browserslist": [
|
||||
"chrome >0 and last 3 years",
|
||||
|
|
@ -77,9 +19,80 @@
|
|||
"and_ff >0 and last 3 years",
|
||||
"ios >0 and last 3 years"
|
||||
],
|
||||
"knip": {
|
||||
"entry": ["web/app/themes/haiku-atelier-2024/src/scripts/*.ts"],
|
||||
"project": ["web/app/themes/haiku-atelier-2024/src/scripts/**/*.{js,ts,d.ts}"]
|
||||
"dependencies": {
|
||||
"@effect/platform": "^0.93.6",
|
||||
"@effect/platform-browser": "^0.73.0",
|
||||
"@gcch/ideale-standard": "^0.0.6",
|
||||
"@mobily/ts-belt": "v4.0.0-rc.5",
|
||||
"@sentry/browser": "^10.29.0",
|
||||
"a11y-dialog": "^8.1.4",
|
||||
"effect": "^3.19.9",
|
||||
"lit-html": "^3.3.1",
|
||||
"nimble-html": "^0.1.5",
|
||||
"purify-ts": "2.1.2",
|
||||
"ts-pattern": "^5.9.0",
|
||||
"valibot": "1.1.0"
|
||||
},
|
||||
"trustedDependencies": ["@biomejs/biome", "@parcel/watcher", "@swc/core", "core-js", "esbuild", "lightningcss-cli"]
|
||||
"devDependencies": {
|
||||
"@biomejs/biome": "^2.3.8",
|
||||
"@cspell/dict-fr-fr": "^2.3.2",
|
||||
"@effect/language-service": "^0.60.0",
|
||||
"@eslint/js": "^9.39.1",
|
||||
"@gcch/configuration-eslint": "^0.0.10",
|
||||
"@gcch/configuration-prettier": "^0.0.10",
|
||||
"@playwright/test": "^1.57.0",
|
||||
"@prettier/plugin-xml": "^3.4.2",
|
||||
"@sentry/core": "^10.29.0",
|
||||
"@types/eslint__js": "^9.14.0",
|
||||
"@types/node": "^24.10.1",
|
||||
"better-typescript-lib": "^2.12.0",
|
||||
"browserslist": "^4.28.1",
|
||||
"caniuse-lite": "^1.0.30001759",
|
||||
"eslint": "^9.39.1",
|
||||
"eslint-plugin-oxlint": "^1.31.0",
|
||||
"eslint-plugin-perfectionist": "^4.15.1",
|
||||
"fdir": "^6.5.0",
|
||||
"globals": "^16.5.0",
|
||||
"knip": "^5.71.0",
|
||||
"lightningcss-cli": "^1.30.2",
|
||||
"oxlint": "^1.31.0",
|
||||
"picomatch": "^4.0.3",
|
||||
"playwright": "^1.57.0",
|
||||
"prettier": "^3.7.4",
|
||||
"prettier-plugin-curly": "^0.4.1",
|
||||
"prettier-plugin-pkg": "^0.21.2",
|
||||
"prettier-plugin-sh": "^0.18.0",
|
||||
"sass-embedded": "^1.93.3",
|
||||
"stylelint": "^16.26.1",
|
||||
"stylelint-config-clean-order": "^8.0.0",
|
||||
"stylelint-config-sass-guidelines": "^12.1.0",
|
||||
"stylelint-config-standard-scss": "^16.0.0",
|
||||
"stylelint-declaration-block-no-ignored-properties": "^2.8.0",
|
||||
"stylelint-no-unsupported-browser-features": "^8.0.5",
|
||||
"stylelint-order": "^7.0.0",
|
||||
"stylelint-plugin-logical-css": "^1.2.3",
|
||||
"stylelint-value-no-unknown-custom-properties": "^6.0.1",
|
||||
"typescript": "5.9.3",
|
||||
"typescript-eslint": "^8.48.1",
|
||||
"vite": "8.0.0-beta.0",
|
||||
"vite-php-manifest": "^0.1.1",
|
||||
"vite-plugin-valibot-env": "^1.0.1",
|
||||
"vite-tsconfig-paths": "^5.1.4",
|
||||
"wp-types": "^4.69.0"
|
||||
},
|
||||
"knip": {
|
||||
"entry": [
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/*.ts"
|
||||
],
|
||||
"project": [
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/**/*.{js,ts,d.ts}"
|
||||
]
|
||||
},
|
||||
"trustedDependencies": [
|
||||
"@biomejs/biome",
|
||||
"core-js",
|
||||
"esbuild",
|
||||
"lightningcss-cli",
|
||||
"msgpackr-extract"
|
||||
]
|
||||
}
|
||||
|
|
|
|||
29
phpcs.xml
29
phpcs.xml
|
|
@ -1,29 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<ruleset name="Roots">
|
||||
<description>Roots Coding Standards</description>
|
||||
|
||||
<!-- Scan all files in directory -->
|
||||
<file>.</file>
|
||||
|
||||
<!-- Scan only PHP files -->
|
||||
<arg
|
||||
name="extensions"
|
||||
value="php"
|
||||
/>
|
||||
|
||||
<!-- Ignore WordPress and Composer dependencies -->
|
||||
<exclude-pattern>vendor/</exclude-pattern>
|
||||
<exclude-pattern>web/app/languages/</exclude-pattern>
|
||||
<exclude-pattern>web/app/mu-plugins/</exclude-pattern>
|
||||
<exclude-pattern>web/app/plugins/</exclude-pattern>
|
||||
<exclude-pattern>web/app/themes/twentytwentyfour/</exclude-pattern>
|
||||
<exclude-pattern>web/wp</exclude-pattern>
|
||||
|
||||
<!-- Show colors in console -->
|
||||
<arg value="-colors" />
|
||||
|
||||
<!-- Show sniff codes in all reports -->
|
||||
<arg value="ns" />
|
||||
|
||||
<rule ref="Squiz" />
|
||||
</ruleset>
|
||||
69
phpstan.neon
69
phpstan.neon
|
|
@ -1,22 +1,49 @@
|
|||
parameters:
|
||||
parallel:
|
||||
maximumNumberOfProcesses: 8
|
||||
level: 6
|
||||
paths:
|
||||
- web/app/themes/haiku-atelier-2024
|
||||
scanDirectories:
|
||||
- vendor
|
||||
- web/app
|
||||
- web/vendor
|
||||
- web/wp
|
||||
scanFiles:
|
||||
- .php-cs-fixer.dist.php
|
||||
- web/index.php
|
||||
- web/wp-config.php
|
||||
# Utilise la version de développement de PHPStan
|
||||
includes:
|
||||
- phar://phpstan.phar/conf/bleedingEdge.neon
|
||||
|
||||
excludePaths:
|
||||
analyse:
|
||||
- web/app/themes/la-fille-davril/vendor
|
||||
analyseAndScan:
|
||||
- web/app/themes/twentytwentyfour
|
||||
- web/app/languages
|
||||
parameters:
|
||||
# When set to true, it reports use of dynamic properties as undefined.
|
||||
checkDynamicProperties: true
|
||||
checkExplicitMixedMissingReturn: true
|
||||
# When set to true, it reports function and method calls with incorrect name case.
|
||||
checkFunctionNameCase: true
|
||||
# When set to true, it reports references to built-in classes with incorrect name case.
|
||||
checkInternalClassCaseSensitivity: true
|
||||
# When set to true, it reports return typehints that could be narrowed down because some of the listed types are never returned from a public or protected method.
|
||||
checkTooWideReturnTypesInProtectedAndPublicMethods: true
|
||||
# When set to true, it reports properties with native types that weren’t initialized in the class constructor.
|
||||
checkUninitializedProperties: false
|
||||
reportUnmatchedIgnoredErrors: false
|
||||
# When set to true, it reports violations of parameter type contravariance and return type covariance.
|
||||
reportMaybesInMethodSignatures: true
|
||||
# By default PHPStan reports wrong type in @var tag only for native types on the right side of =. With reportWrongPhpDocTypeInVarTag set to true it will consider PHPDoc types too.
|
||||
reportWrongPhpDocTypeInVarTag: true
|
||||
# Setting treatPhpDocTypesAsCertain to false relaxes some of the rules around type-checking.
|
||||
treatPhpDocTypesAsCertain: false
|
||||
|
||||
parallel:
|
||||
jobSize: 20
|
||||
maximumNumberOfProcesses: 32
|
||||
minimumNumberOfJobsPerProcess: 2
|
||||
|
||||
level: max
|
||||
|
||||
scanDirectories:
|
||||
- config
|
||||
- vendor
|
||||
- web/app
|
||||
- web/wp
|
||||
|
||||
scanFiles:
|
||||
- .php-cs-fixer.dist.php
|
||||
- web/index.php
|
||||
- web/wp-config.php
|
||||
|
||||
paths:
|
||||
- web/app/themes/haiku-atelier-2024
|
||||
|
||||
excludePaths:
|
||||
analyseAndScan:
|
||||
- web/app/languages
|
||||
- web/app/themes/twentytwentyfour
|
||||
|
|
|
|||
16
rector.php
Normal file
16
rector.php
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
<?php declare(strict_types=1);
|
||||
|
||||
use Rector\Config\RectorConfig;
|
||||
|
||||
return RectorConfig::configure()
|
||||
->withPaths([__DIR__ . '/web/app/themes/haiku-atelier-2024'])
|
||||
->withPhpSets(php84: true)
|
||||
->withTypeCoverageLevel(10)
|
||||
->withTypeCoverageDocblockLevel(10)
|
||||
->withDeadCodeLevel(10)
|
||||
->withCodeQualityLevel(10)
|
||||
->withPreparedSets(
|
||||
carbon: true,
|
||||
instanceOf: true,
|
||||
privatization: true,
|
||||
);
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
<?php
|
||||
<?php declare(strict_types=1);
|
||||
|
||||
require_once 'web/wp/wp-load.php';
|
||||
|
||||
ini_set('max_execution_time', 3600);
|
||||
set_time_limit(3600);
|
||||
ini_set('max_execution_time', 3_600);
|
||||
set_time_limit(3_600);
|
||||
|
||||
$pdo = new PDO('mysql:dbname=haiku_atelier;host=localhost', 'haiku_utilisateur', 'spNFx5EAYwvF7o7XFMjiHpNPYJimDtmKWv');
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,11 @@
|
|||
"exactOptionalPropertyTypes": true,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"isolatedModules": true,
|
||||
"lib": ["DOM", "DOM.Iterable", "ESNext"],
|
||||
"lib": [
|
||||
"DOM",
|
||||
"DOM.Iterable",
|
||||
"ESNext"
|
||||
],
|
||||
"module": "ESNext",
|
||||
"moduleDetection": "force",
|
||||
"moduleResolution": "Bundler",
|
||||
|
|
@ -30,6 +34,11 @@
|
|||
"noUncheckedSideEffectImports": true,
|
||||
"noUnusedLocals": true,
|
||||
"noUnusedParameters": true,
|
||||
"plugins": [
|
||||
{
|
||||
"name": "@effect/language-service"
|
||||
}
|
||||
],
|
||||
"skipLibCheck": false,
|
||||
"strict": true,
|
||||
"strictBindCallApply": true,
|
||||
|
|
@ -39,10 +48,23 @@
|
|||
"suppressExcessPropertyErrors": false,
|
||||
"suppressImplicitAnyIndexErrors": false,
|
||||
"target": "ESNext",
|
||||
"types": ["node", "vite/client"],
|
||||
"types": [
|
||||
"node",
|
||||
"vite/client"
|
||||
],
|
||||
"useDefineForClassFields": true,
|
||||
"useUnknownInCatchVariables": true
|
||||
},
|
||||
"exclude": ["vendor", "web/app/plugins", "web/wp"],
|
||||
"include": ["*.js", "lib", "web/app/themes/haiku-atelier-2024/src", "vite.config.ts"]
|
||||
"exclude": [
|
||||
"vendor",
|
||||
"web/app/plugins",
|
||||
"web/wp"
|
||||
],
|
||||
"include": [
|
||||
"*.js",
|
||||
"lib",
|
||||
"web/app/themes/haiku-atelier-2024/src",
|
||||
"vite.config.ts",
|
||||
"eslint.config.ts"
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,12 +1,9 @@
|
|||
import legacy from "@vitejs/plugin-legacy";
|
||||
import { fdir, PathsOutput } from "fdir";
|
||||
import { resolve } from "node:path";
|
||||
import path from "node:path";
|
||||
import process from "node:process";
|
||||
import * as v from "valibot";
|
||||
import { defineConfig, loadEnv } from "vite";
|
||||
import { compression } from "vite-plugin-compression2";
|
||||
import manifestSRI from "vite-plugin-manifest-sri";
|
||||
import { nodePolyfills } from "vite-plugin-node-polyfills";
|
||||
import { VitePhpManifest } from "vite-php-manifest";
|
||||
import valibot from "vite-plugin-valibot-env";
|
||||
|
||||
const SLUG_THEME = "haiku-atelier-2024";
|
||||
|
|
@ -16,6 +13,7 @@ const SRC_TYPESCRIPT_PATHS: Promise<PathsOutput> = new fdir()
|
|||
.withMaxDepth(0)
|
||||
.crawl(`web/app/themes/${SLUG_THEME}/src/scripts`)
|
||||
.withPromise();
|
||||
const PATHS = await SRC_TYPESCRIPT_PATHS;
|
||||
|
||||
// Voir le fichier vite.env.d.ts.
|
||||
const SCHEMA_ENVIRONNEMENT = v.object({
|
||||
|
|
@ -27,31 +25,13 @@ const SCHEMA_ENVIRONNEMENT = v.object({
|
|||
const basePlugins = [
|
||||
// Permet de valider les variables d'environnements définies à partir d'un schéma Valibot
|
||||
valibot(SCHEMA_ENVIRONNEMENT),
|
||||
manifestSRI({ algorithms: ["sha512"] }),
|
||||
nodePolyfills({
|
||||
include: [],
|
||||
protocolImports: true,
|
||||
}),
|
||||
];
|
||||
// Les extensions activées en production.
|
||||
const prodPlugins = [
|
||||
legacy({
|
||||
modernPolyfills: true,
|
||||
modernTargets:
|
||||
"chrome >0 and last 3 years, edge >0 and last 3 years, safari >0 and last 3 years, firefox >0 and last 3 years, and_chr >0 and last 3 years, and_ff >0 and last 3 years, ios >0 and last 3 years",
|
||||
renderLegacyChunks: true,
|
||||
}),
|
||||
compression({
|
||||
algorithms: [
|
||||
"brotliCompress",
|
||||
"gzip",
|
||||
"zstandard",
|
||||
],
|
||||
threshold: 1000,
|
||||
VitePhpManifest({
|
||||
shortArraySyntax: true,
|
||||
unlinkOriginManifest: false,
|
||||
}),
|
||||
];
|
||||
|
||||
export default defineConfig(async ({ mode }) => {
|
||||
export default defineConfig(({ mode }) => {
|
||||
const env = loadEnv(mode, process.cwd(), "VITE");
|
||||
console.debug(env);
|
||||
|
||||
|
|
@ -59,22 +39,18 @@ export default defineConfig(async ({ mode }) => {
|
|||
base: "/",
|
||||
build: {
|
||||
assetsDir: ".",
|
||||
cssMinify: "lightningcss",
|
||||
emptyOutDir: true,
|
||||
// Génère un fichier manifeste dans outDir.
|
||||
manifest: true,
|
||||
minify: env["VITE_MODE"] === "production",
|
||||
outDir: resolve("./web/app/themes/haiku-atelier-2024/assets/js"),
|
||||
outDir: "./web/app/themes/haiku-atelier-2024/assets/js",
|
||||
reportCompressedSize: true,
|
||||
rollupOptions: {
|
||||
input: await SRC_TYPESCRIPT_PATHS,
|
||||
experimental: {
|
||||
incrementalBuild: true,
|
||||
nativeMagicString: true,
|
||||
},
|
||||
input: PATHS,
|
||||
output: {
|
||||
assetFileNames: "[name].[hash].[extname]",
|
||||
chunkFileNames: "[name].[hash].js",
|
||||
entryFileNames: "[name].js",
|
||||
assetFileNames: "[hash].[extname]",
|
||||
chunkFileNames: "[hash].js",
|
||||
entryFileNames: "[name].[hash].js",
|
||||
minify: env["VITE_MODE"] === "production",
|
||||
},
|
||||
treeshake: true,
|
||||
|
|
@ -83,7 +59,11 @@ export default defineConfig(async ({ mode }) => {
|
|||
target: "es2020",
|
||||
write: true,
|
||||
},
|
||||
css: {
|
||||
devSourcemap: true,
|
||||
transformer: "lightningcss",
|
||||
},
|
||||
mode: env["VITE_MODE"] ?? "production",
|
||||
plugins: env["VITE_MODE"] === "production" ? [...basePlugins, ...prodPlugins] : [...basePlugins],
|
||||
plugins: [...basePlugins],
|
||||
};
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
/var/www/wordpress/web/app/plugins/query-monitor/wp-content/db.php
|
||||
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because it is too large
Load diff
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-05-25 12:26:44+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"The suggested policy text has been copied to your clipboard.":["The suggested policy text has been copied to your clipboard."],"This user’s personal data export file was downloaded.":["This user’s personal data export file was downloaded."],"This user’s personal data export link was sent.":["This user’s personal data export link was sent."],"An error occurred while attempting to find and erase personal data.":["An error occurred while attempting to find and erase personal data."],"Personal data was found for this user but some of the personal data found was not erased.":["Personal data was found for this user, but some of the personal data found was not erased."],"All of the personal data found for this user was erased.":["All of the personal data found for this user was erased."],"Personal data was found for this user but was not erased.":["Personal data was found for this user, but was not erased."],"No personal data was found for this user.":["No personal data was found for this user."],"An error occurred while attempting to export personal data.":["An error occurred while attempting to export personal data."],"No personal data export file was generated.":["No personal data export file was generated."]}},"comment":{"reference":"wp-admin\/js\/privacy-tools.js"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-10-08 12:55:00+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"Editor tips":["Editor tips"],"Disable tips":["Disable tips"],"Got it":["Got it"],"See next tip":["See next tip"]}},"comment":{"reference":"wp-includes\/js\/dist\/nux.js"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-05-25 12:26:44+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"%1$s is deprecated since version %2$s! Use %3$s instead. Please consider writing more inclusive code.":["%1$s is deprecated since version %2$s! Use %3$s instead. Please consider writing more inclusive code."]}},"comment":{"reference":"wp-admin\/js\/password-strength-meter.js"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-10-08 12:55:00+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"%s applied.":["%s applied."],"%s removed.":["%s removed."]}},"comment":{"reference":"wp-includes\/js\/dist\/rich-text.js"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-10-08 12:55:00+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"pattern (singular)\u0004Synced":["Synced"],"Sync this pattern across multiple locations.":["Sync this pattern across multiple locations."],"Unsynced pattern created: %s":["Unsynced pattern created: %s"],"Synced pattern created: %s":["Synced pattern created: %s"],"Untitled pattern block":["Untitled pattern block"],"My pattern":["My pattern"],"Create pattern":["Create pattern"],"Manage patterns":["Manage patterns"],"Create":["Create"],"Detach":["Detach"],"Cancel":["Cancel"],"Name":["Name"]}},"comment":{"reference":"wp-includes\/js\/dist\/reusable-blocks.js"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-10-08 12:55:00+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"%1$s Block. Row %2$d":["%1$s Block. Row %2$d"],"Design":["Design"],"%s Block":["%s Block"],"%1$s Block. %2$s":["%1$s Block. %2$s"],"%1$s Block. Column %2$d":["%1$s Block. Column %2$d"],"%1$s Block. Column %2$d. %3$s":["%1$s Block. Column %2$d. %3$s"],"%1$s Block. Row %2$d. %3$s":["%1$s Block. Row %2$d. %3$s"],"Reusable blocks":["Reusable blocks"],"Embeds":["Embeds"],"Text":["Text"],"Widgets":["Widgets"],"Theme":["Theme"],"Media":["Media"]}},"comment":{"reference":"wp-includes\/js\/dist\/blocks.js"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-10-08 12:55:00+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"You are probably offline.":["You are probably offline."],"Media upload failed. If this is a photo or a large image, please scale it down and try again.":["Media upload failed. If this is a photo or a large image, please scale it down and try again."],"The response is not a valid JSON response.":["The response is not a valid JSON response."],"An unknown error occurred.":["An unknown error occurred."]}},"comment":{"reference":"wp-includes\/js\/dist\/api-fetch.js"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-05-25 12:26:44+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"Submitted on:":["Submitted on:"],"%1$s %2$s, %3$s at %4$s:%5$s":["%1$s %2$s, %3$s at %4$s:%5$s"]}},"comment":{"reference":"wp-admin\/js\/comment.js"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-05-25 12:26:44+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"Selected crop ratio exceeds the boundaries of the image. Try a different ratio.":["Selected crop ratio exceeds the boundaries of the image. Try a different ratio."],"Could not load the preview image.":["Could not load the preview image."],"Could not load the preview image. Please reload the page and try again.":["Could not load the preview image. Please reload the page and try again."],"Image updated.":["Image updated."]}},"comment":{"reference":"wp-admin\/js\/image-edit.js"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-10-08 12:55:00+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"pattern\u0004\"%s\" duplicated.":["\"%s\" duplicated."],"pattern\u0004%s (Copy)":["%s (Copy)"],"These blocks are editable using overrides.":["These blocks are editable using overrides."],"This %1$s is editable using the \"%2$s\" override.":["This %1$s is editable using the \"%2$s\" override."],"Allow changes to this block throughout instances of this pattern.":["Allow changes to this block throughout instances of this pattern."],"Overrides currently don't support image captions or links. Remove the caption or link first before enabling overrides.":["Overrides currently don't support image captions or links. Remove the caption or link first before enabling overrides."],"Disable":["Disable"],"Are you sure you want to disable overrides? Disabling overrides will revert all applied overrides for this block throughout instances of this pattern.":["Are you sure you want to disable overrides? Disabling overrides will revert all applied overrides for this block throughout instances of this pattern."],"Disable overrides":["Disable overrides"],"For example, if you are creating a recipe pattern, you use \"Recipe Title\", \"Recipe Description\", etc.":["For example, if you are creating a recipe pattern, you use \"Recipe Title\", \"Recipe Description\", etc."],"Overrides are changes you make to a block within a synced pattern instance. Use overrides to customize a synced pattern instance to suit its new context. Name this block to specify an override.":["Overrides are changes you make to a block within a synced pattern instance. Use overrides to customise a synced pattern instance to suit its new context. Name this block to specify an override."],"Enable overrides":["Enable overrides"],"Overrides":["Overrides"],"pattern (singular)\u0004Synced":["Synced"],"Pattern category renamed.":["Pattern category renamed."],"This category already exists. Please use a different name.":["This category already exists. Please use a different name."],"Please enter a new name for this category.":["Please enter a new name for this category."],"Pattern renamed":["Pattern renamed"],"Sync this pattern across multiple locations.":["Sync this pattern across multiple locations."],"Duplicate pattern":["Duplicate pattern"],"Block name changed to: \"%s\".":["Block name changed to: \"%s\"."],"Unsynced pattern created: %s":["Unsynced pattern created: %s"],"Synced pattern created: %s":["Synced pattern created: %s"],"My pattern":["My pattern"],"Create pattern":["Create pattern"],"An error occurred while renaming the pattern.":["An error occurred while renaming the pattern."],"Manage patterns":["Manage patterns"],"Rename":["Rename"],"Duplicate":["Duplicate"],"Reset":["Reset"],"Detach":["Detach"],"Enable":["Enable"],"Add":["Add"],"Cancel":["Cancel"],"Name":["Name"],"Categories":["Categories"],"Save":["Save"]}},"comment":{"reference":"wp-includes\/js\/dist\/patterns.js"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-10-08 12:55:00+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"Search commands and settings":["Search commands and settings"],"Command suggestions":["Command suggestions"],"Command palette":["Command palette"],"Open the command palette.":["Open the command palette."],"No results found.":["No results found."]}},"comment":{"reference":"wp-includes\/js\/dist\/commands.js"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-10-08 12:55:00+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"Pattern imported successfully!":["Pattern imported successfully!"],"Invalid pattern JSON file":["Invalid pattern JSON file"],"button label\u0004Import":["Import"],"Unknown error":["Unknown error"],"Invalid JSON file":["Invalid JSON file"],"Import from JSON":["Import from JSON"],"File":["File"]}},"comment":{"reference":"wp-includes\/js\/dist\/list-reusable-blocks.js"}}
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-10-08 12:55:00+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"Annotation":["Annotation"]}},"comment":{"reference":"wp-includes\/js\/dist\/annotations.js"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-10-08 12:55:00+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"Notifications":["Notifications"]}},"comment":{"reference":"wp-includes\/js\/dist\/a11y.js"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-10-08 12:55:00+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"Add non breaking space.":["Add non-breaking space."],"https:\/\/wordpress.org\/documentation\/article\/wordpress-block-editor\/":["https:\/\/wordpress.org\/documentation\/article\/wordpress-block-editor\/"],"Convert the current paragraph or heading to a heading of level 1 to 6.":["Convert the current paragraph or heading to a heading of level 1 to 6."],"Convert the current heading to a paragraph.":["Convert the current heading to a paragraph."],"Make the selected text inline code.":["Make the selected text inline code."],"Strikethrough the selected text.":["Strikethrough the selected text."],"Insert a link to a post or page.":["Insert a link to a post or page."],"https:\/\/wordpress.org\/documentation\/article\/block-based-widgets-editor\/":["https:\/\/wordpress.org\/documentation\/article\/block-based-widgets-editor\/"],"New to the block editor?":["New to the block editor?"],"Get the Classic Widgets plugin.":["Get the Classic Widgets plugin."],"https:\/\/wordpress.org\/plugins\/classic-widgets\/":["https:\/\/en-gb.wordpress.org\/plugins\/classic-widgets\/"],"Want to stick with the old widgets?":["Want to stick with the old widgets?"],"You can now add any block to your site\u2019s widget areas. Don\u2019t worry, all of your favorite widgets still work flawlessly.":["You can now add any block to your site\u2019s widget areas. Don\u2019t worry, all of your favourite widgets still work flawlessly."],"Your theme provides different \u201cblock\u201d areas for you to add and edit content.\u00a0Try adding a search bar, social icons, or other types of blocks here and see how they\u2019ll look on your site.":["Your theme provides different \u201cblock\u201d areas for you to add and edit content.\u00a0Try adding a search bar, social icons, or other types of blocks here and see how they\u2019ll look on your site."],"Welcome to block Widgets":["Welcome to block widgets"],"Contain text cursor inside block deactivated":["Contain text cursor inside block deactivated"],"Contain text cursor inside block activated":["Contain text cursor inside block activated"],"Close inserter":["Close inserter"],"Aids screen readers by stopping text caret from leaving blocks.":["Aids screen readers by stopping text caret from leaving blocks."],"Preferences":["Preferences"],"Show more settings":["Show more settings"],"Contain text cursor inside block":["Contain text cursor inside block"],"Here's a detailed guide.":["Here's a detailed guide."],"Welcome Guide":["Welcome Guide"],"Keyboard shortcuts":["Keyboard shortcuts"],"Generic label for block inserter button\u0004Add block":["Add block"],"Display these keyboard shortcuts.":["Display these keyboard shortcuts."],"Add a block":["Add a block"],"Top toolbar deactivated":["Top toolbar deactivated"],"Top toolbar activated":["Top toolbar activated"],"Top toolbar":["Top toolbar"],"Got it":["Got it"],"Block Settings":["Block Settings"],"Remove a link.":["Remove a link."],"Convert the selected text into a link.":["Convert the selected text into a link."],"Underline the selected text.":["Underline the selected text."],"Make the selected text italic.":["Make the selected text italic."],"Make the selected text bold.":["Make the selected text bold."],"Text formatting":["Text formatting"],"Forward-slash":["Forward-slash"],"Change the block type after adding a new paragraph.":["Change the block type after adding a new paragraph."],"Block shortcuts":["Block shortcuts"],"Selection shortcuts":["Selection shortcuts"],"Redo your last undo.":["Redo your last undo."],"Undo your last changes.":["Undo your last changes."],"Save your changes.":["Save your changes."],"Global shortcuts":["Global shortcuts"],"Access all block and document tools in a single place":["Access all block and document tools in a single place"],"noun\u0004View":["View"],"Options":["Options"],"Document tools":["Document tools"],"The editor has encountered an unexpected error.":["The editor has encountered an unexpected error."],"Copy Error":["Copy Error"],"(opens in a new tab)":["(opens in a new tab)"],"Customizing":["Customising"],"Tools":["Tools"],"Widgets":["Widgets"],"Help":["Help"],"Redo":["Redo"],"Undo":["Undo"]}},"comment":{"reference":"wp-includes\/js\/dist\/customize-widgets.js"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-10-08 12:55:00+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"Global Styles":["Global Styles"],"Widget types":["Widget types"],"Menu Item":["Menu Item"],"Comment":["Comment"],"Widget areas":["Widget areas"],"Site":["Site"],"Post Type":["Post Type"],"Taxonomy":["Taxonomy"],"Menu Location":["Menu Location","Menu Locations"],"Status":["Status"],"Menu":["Menu"],"User":["User"],"Base":["Base"],"Widgets":["Widgets"],"Themes":["Themes"],"(no title)":["(no title)"],"Media":["Media"],"Plugins":["Plugins"]}},"comment":{"reference":"wp-includes\/js\/dist\/core-data.js"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-05-25 12:26:44+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"Running additional tests... please wait.":["Running additional tests... please wait."],"All site health tests have finished running. There are items that should be addressed.":["All site health tests have finished running. There are items that should be addressed."],"All site health tests have finished running. Your site is looking good.":["All site health tests have finished running. Your site is looking good."],"Unavailable":["Unavailable"],"No details available":["No details available"],"A test is unavailable":["A test is unavailable"],"Should be improved":["Should be improved"],"Good":["Good"],"%s critical issue":["%s critical issue","%s critical issues"],"%s item with no issues detected":["%s item with no issues detected","%s items with no issues detected"],"%s recommended improvement":["%s recommended improvement","%s recommended improvements"],"Site information has been copied to your clipboard.":["Site information has been copied to your clipboard."]}},"comment":{"reference":"wp-admin\/js\/site-health.js"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-05-25 12:26:44+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"Use as featured image":["Use as featured image"],"Saving\u2026":["Saving\u2026"],"Could not set that as the thumbnail image. Try a different attachment.":["Could not set that as the thumbnail image. Try a different attachment."],"Done":["Done"]}},"comment":{"reference":"wp-admin\/js\/set-post-thumbnail.js"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-05-25 12:26:44+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"Screen Options updated.":["Screen Options updated."],"Drag boxes here":["Drag boxes here"],"Add boxes from the Screen Options menu":["Add boxes from the Screen Options menu"],"The boxes order has been saved.":["The boxes order has been saved."],"The box is on the last position":["The box is on the last position"],"The box is on the first position":["The box is on the first position"]}},"comment":{"reference":"wp-admin\/js\/postbox.js"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-05-25 12:26:44+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"Widget has been added to the selected sidebar":["Widget has been added to the selected sidebar"],"Saved":["Saved"],"The changes you made will be lost if you navigate away from this page.":["The changes you made will be lost if you navigate away from this page."],"Save":["Save"]}},"comment":{"reference":"wp-admin\/js\/widgets.js"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-05-25 12:26:44+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"All application passwords revoked.":["All application passwords revoked."],"Are you sure you want to revoke all passwords? This action cannot be undone.":["Are you sure you want to revoke all passwords? This action cannot be undone."],"Application password revoked.":["Application password revoked."],"Are you sure you want to revoke this password? This action cannot be undone.":["Are you sure you want to revoke this password? This action cannot be undone."],"Dismiss this notice.":["Dismiss this notice."]}},"comment":{"reference":"wp-admin\/js\/application-passwords.js"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-05-25 12:26:44+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"URL Slug":["URL Slug"],"Permalink saved":["Permalink saved"],"Published on:":["Published on:"],"Publish on:":["Publish on:"],"Schedule for:":["Schedule for:"],"Saving Draft\u2026":["Saving Draft\u2026"],"No more comments found.":["No more comments found."],"Show more comments":["Show more comments"],"post action\/button label\u0004Schedule":["Schedule"],"%1$s %2$s, %3$s at %4$s:%5$s":["%1$s %2$s, %3$s at %4$s:%5$s"],"Public, Sticky":["Public, Sticky"],"Privately Published":["Privately Published"],"Save as Pending":["Save as Pending"],"Password Protected":["Password Protected"],"The file URL has been copied to your clipboard":["The file URL has been copied to your clipboard"],"Could not set that as the thumbnail image. Try a different attachment.":["Could not set that as the thumbnail image. Try a different attachment."],"The changes you made will be lost if you navigate away from this page.":["The changes you made will be lost if you navigate away from this page."],"Update":["Update"],"Public":["Public"],"Private":["Private"],"OK":["OK"],"Save Draft":["Save Draft"],"Cancel":["Cancel"],"Publish":["Publish"],"Published":["Published"]}},"comment":{"reference":"wp-admin\/js\/post.js"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-05-25 12:26:44+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"Are you sure you want to do this?\nThe comment changes you made will be lost.":["Are you sure you want to do this?\nThe comment changes you made will be lost."],"Are you sure you want to edit this comment?\nThe changes you made will be lost.":["Are you sure you want to edit this comment?\nThe changes you made will be lost."],"Approve and Reply":["Approve and Reply"],"Comments (%s)":["Comments (%s)"],"Reply":["Reply"],"Comments":["Comments"]}},"comment":{"reference":"wp-admin\/js\/edit-comments.js"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-10-08 12:55:00+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"Preference activated - %s":["Preference activated \u2013 %s"],"Preference deactivated - %s":["Preference deactivated \u2013 %s"],"Preferences":["Preferences"],"Back":["Back"]}},"comment":{"reference":"wp-includes\/js\/dist\/preferences.js"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-10-08 12:55:00+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"Non breaking space":["Non-breaking space"],"https:\/\/www.w3.org\/WAI\/tutorials\/images\/decision-tree\/":["https:\/\/www.w3.org\/WAI\/tutorials\/images\/decision-tree\/"],"Mark as nofollow":["Mark as nofollow"],"Text direction":["Text direction"],"A valid language attribute, like \"en\" or \"fr\".":["A valid language attribute, like \"en\" or \"fr\"."],"Leave empty if decorative.":["Leave empty if decorative."],"Clear Unknown Formatting":["Clear Unknown Formatting"],"Create page: <mark>%s<\/mark>":["Create page: <mark>%s<\/mark>"],"Highlight":["Highlight"],"Keyboard input":["Keyboard input"],"Inline code":["Inline code"],"Describe the purpose of the image.":["Describe the purpose of the image."],"Link edited.":["Link edited."],"Link removed.":["Link removed."],"Inline image":["Inline image"],"media":["media"],"photo":["photo"],"Warning: the link has been inserted but may have errors. Please test it.":["Warning: the link has been inserted but may have errors. Please test it."],"Link inserted.":["Link inserted."],"Left to right":["Left to right"],"Right to left":["Right to left"],"Link":["Link"],"Background":["Background"],"Superscript":["Superscript"],"Subscript":["Subscript"],"Strikethrough":["Strikethrough"],"Underline":["Underline"],"Italic":["Italic"],"Bold":["Bold"],"Language":["Language"],"Text":["Text"],"Width":["Width"],"Alternative text":["Alternative text"],"Apply":["Apply"]}},"comment":{"reference":"wp-includes\/js\/dist\/format-library.js"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-10-08 12:55:00+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"Legacy widget":["Legacy widget"],"Create a classic widget layout with a title that\u2019s styled by your theme for your widget areas.":["Create a classic widget layout with a title that\u2019s styled by your theme for your widget areas."],"Widget Group":["Widget group"],"The \"%s\" block was affected by errors and may not function properly. Check the developer tools for more details.":["The \"%s\" block was affected by errors and may not function properly. Check the developer tools for more details."],"Move to widget area":["Move to widget area"],"Widget is missing.":["Widget is missing."],"No preview available.":["No preview available."],"Legacy Widget Preview":["Legacy Widget Preview"],"Select widget":["Select widget"],"Convert to blocks":["Convert to blocks"],"Move to":["Move to"],"Legacy Widget":["Legacy Widget"],"There are no widgets available.":["There are no widgets available."],"Save":["Save"],"Title":["Title"]}},"comment":{"reference":"wp-includes\/js\/dist\/widgets.js"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-10-08 12:55:00+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"The file URL has been copied to your clipboard":["The file URL has been copied to your clipboard"],"An error has occurred. Please reload the page and try again.":["An error has occurred. Please reload the page and try again."]}},"comment":{"reference":"wp-admin\/js\/media.js"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-05-25 12:26:44+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"Plugin details":["Plugin details"],"Plugin: %s":["Plugin: %s"]}},"comment":{"reference":"wp-admin\/js\/plugin-install.js"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-05-25 12:26:44+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"Screen Options updated.":["Screen Options updated."],"%1$s is deprecated since version %2$s with no alternative available.":["%1$s is deprecated since version %2$s with no alternative available."],"%1$s is deprecated since version %2$s! Use %3$s instead.":["%1$s is deprecated since version %2$s! Use %3$s instead."],"Please select at least one item to perform this action on.":["Please select at least one item to perform this action on."],"Expand Main menu":["Expand Main menu"],"Dismiss this notice.":["Dismiss this notice."],"You are about to permanently delete these items from your site.\nThis action cannot be undone.\n'Cancel' to stop, 'OK' to delete.":["You are about to permanently delete these items from your site.\nThis action cannot be undone.\n'Cancel' to stop, 'OK' to delete."],"Collapse Main menu":["Collapse Main menu"]}},"comment":{"reference":"wp-admin\/js\/common.js"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-10-08 12:55:00+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"An error occurred while processing your request. Please try again later.":["An error occurred while processing your request. Please try again later."],"Sorry, you are not allowed to do that.":["Sorry, you are not allowed to do that."]}},"comment":{"reference":"wp-admin\/js\/tags.js"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-05-25 12:26:44+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"Hide":["Hide"],"Hide password":["Hide password"],"Show password":["Show password"],"Show":["Show"]}},"comment":{"reference":"wp-admin\/js\/password-toggle.js"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-05-25 12:26:44+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"%d result found. Use up and down arrow keys to navigate.":["%d result found. Use up and down arrow keys to navigate.","%d results found. Use up and down arrow keys to navigate."],"Term selected.":["Term selected."],"tag delimiter\u0004,":[","],"No results found.":["No results found."]}},"comment":{"reference":"wp-admin\/js\/tags-suggest.js"}}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-10-08 12:55:00+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"Showing %1$s of %2$s media items":["Showing %1$s of %2$s media items"],"Jump to first loaded item":["Jump to first loaded item"],"Load more":["Load more"],"Number of media items displayed: %d. Click load more for more results.":["Number of media items displayed: %d. Click \u201cload more\u201d for more results."],"The file URL has been copied to your clipboard":["The file URL has been copied to your clipboard"],"%s item selected":["%s item selected","%s items selected"],"Number of media items displayed: %d. Scroll the page for more results.":["Number of media items displayed: %d. Scroll the page for more results."]}},"comment":{"reference":"wp-includes\/js\/media-views.js"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-05-25 12:26:44+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"Application password has been copied to your clipboard.":["Application password has been copied to your clipboard."],"Your new password has not been saved.":["Your new password has not been saved."],"Hide":["Hide"],"Confirm use of weak password":["Confirm use of weak password"],"Hide password":["Hide password"],"Show password":["Show password"],"Show":["Show"],"The changes you made will be lost if you navigate away from this page.":["The changes you made will be lost if you navigate away from this page."]}},"comment":{"reference":"wp-admin\/js\/user-profile.js"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-05-25 12:26:44+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"An error occurred while saving your changes. Please try again. If the problem persists, you may need to manually update the file via FTP.":["An error occurred while saving your changes. Please try again. If the problem persists, you may need to manually update the file via FTP."],"There is %s error which must be fixed before you can update this file.":["There is %s error which must be fixed before you can update this file.","There are %s errors which must be fixed before you can update this file."],"The changes you made will be lost if you navigate away from this page.":["The changes you made will be lost if you navigate away from this page."]}},"comment":{"reference":"wp-admin\/js\/theme-plugin-editor.js"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-10-08 12:55:00+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"Explore all blocks":["Explore all blocks"],"Customize each block":["Customise each block"],"Welcome to the editor":["Welcome to the editor"],"Enable or disable fullscreen mode.":["Enable or disable fullscreen mode."],"Use up and down arrow keys to resize the meta box panel.":["Use up and down arrow keys to resize the meta box panel."],"Meta Boxes":["Meta boxes"],"New to the block editor? Want to learn more about using it? <a>Here's a detailed guide.<\/a>":["New to the block editor? Want to learn more about using it? <a>Here's a detailed guide.<\/a>"],"pattern (singular)\u0004Synced":["Synced"],"Sync this pattern across multiple locations.":["Sync this pattern across multiple locations."],"Fullscreen on.":["Fullscreen on."],"Fullscreen off.":["Fullscreen off."],"Show and hide the admin user interface":["Show and hide the admin user interface"],"Enter fullscreen":["Enter fullscreen"],"My pattern":["My pattern"],"Create pattern":["Create pattern"],"Hide & Reload Page":["Hide & Reload Page"],"Show & Reload Page":["Show & Reload Page"],"Manage patterns":["Manage patterns"],"https:\/\/wordpress.org\/documentation\/article\/wordpress-block-editor\/":["https:\/\/wordpress.org\/documentation\/article\/wordpress-block-editor\/"],"\"%s\" successfully created.":["\"%s\" successfully created."],"The \"%s\" plugin has encountered an error and cannot be rendered.":["The \"%s\" plugin has encountered an error and cannot be rendered."],"Drag to resize":["Drag to resize"],"Templates help define the layout of the site. You can customize all aspects of your posts and pages using blocks and patterns in this editor.":["Templates help define the layout of the site. You can customise all aspects of your posts and pages using blocks and patterns in this editor."],"Welcome to the template editor":["Welcome to the template editor"],"Use theme styles":["Use theme styles"],"Make the editor look like your theme.":["Make the editor look like your theme."],"All of the blocks available to you live in the block library. You\u2019ll find it wherever you see the <InserterIconImage \/> icon.":["All of the blocks available to you live in the block library. You\u2019ll find it wherever you see the <InserterIconImage \/> icon."],"Each block comes with its own set of controls for changing things like color, width, and alignment. These will show and hide automatically when you have a block selected.":["Each block comes with its own set of controls for changing things like colour, width and alignment. These will show and hide automatically when you have a block selected."],"In the WordPress editor, each paragraph, image, or video is presented as a distinct \u201cblock\u201d of content.":["In the WordPress editor, each paragraph, image or video is presented as a distinct \u201cblock\u201d of content."],"Get started":["Get started"],"inserter":["inserter"],"Welcome Guide":["Welcome Guide"],"A page reload is required for this change. Make sure your content is saved before reloading.":["A page reload is required for this change. Make sure your content is saved before reloading."],"Fullscreen mode deactivated.":["Fullscreen mode deactivated."],"Fullscreen mode activated.":["Fullscreen mode activated."],"Custom fields":["Custom fields"],"Create":["Create"],"Fullscreen mode":["Fullscreen mode"],"Site Icon":["Site Icon"],"Back":["Back"],"Exit fullscreen":["Exit fullscreen"],"Learn more":["Learn more"],"Name":["Name"],"Advanced":["Advanced"],"Undo":["Undo"],"Edit":["Edit"]}},"comment":{"reference":"wp-includes\/js\/dist\/edit-post.js"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"translation-revision-date":"2025-10-08 12:55:00+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"Your session has expired. You can log in again from this page or go to the login page.":["Your session has expired. You can log in again from this page or go to the login page."]}},"comment":{"reference":"wp-includes\/js\/wp-auth-check.js"}}
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue