diff --git a/build/translations.min.js b/build/translations.min.js new file mode 100644 index 0000000..8337080 --- /dev/null +++ b/build/translations.min.js @@ -0,0 +1 @@ +/* performance module translations helper */ \ No newline at end of file diff --git a/components/advancedSettings/JetpackBoost/index.js b/components/advancedSettings/JetpackBoost/index.js index b2f0e57..0dbaf2d 100644 --- a/components/advancedSettings/JetpackBoost/index.js +++ b/components/advancedSettings/JetpackBoost/index.js @@ -1,6 +1,6 @@ // Wordpress import { useState } from '@wordpress/element'; -import { sprintf, __ } from '@wordpress/i18n'; +import { sprintf } from '@wordpress/i18n'; // Newfold import { FeatureUpsell } from '@newfold/ui-component-library'; @@ -105,7 +105,7 @@ const JetpackBoost = ( { methods, constants } ) => { setModuleStatus={ setModuleStatus } /> { fields.map( ( field ) => { if ( field.showOnModuleDisabled ) { diff --git a/components/cacheSettings/index.js b/components/cacheSettings/index.js index fdc35a0..383bd46 100644 --- a/components/cacheSettings/index.js +++ b/components/cacheSettings/index.js @@ -19,6 +19,7 @@ const CacheSettings = ( { methods, constants, Components } ) => { label: constants.text.cacheLevel1Label, description: constants.text.cacheLevel1Description + + ' ' + constants.text.cacheLevel1Recommendation, value: 1, notice: constants.text.cacheLevel1NoticeText, @@ -27,6 +28,7 @@ const CacheSettings = ( { methods, constants, Components } ) => { label: constants.text.cacheLevel2Label, description: constants.text.cacheLevel2Description + + ' ' + constants.text.cacheLevel2Recommendation, value: 2, notice: constants.text.cacheLevel2NoticeText, @@ -35,6 +37,7 @@ const CacheSettings = ( { methods, constants, Components } ) => { label: constants.text.cacheLevel3Label, description: constants.text.cacheLevel3Description + + ' ' + constants.text.cacheLevel3Recommendation, value: 3, notice: constants.text.cacheLevel3NoticeText, diff --git a/composer.json b/composer.json index 33d3e13..de48036 100644 --- a/composer.json +++ b/composer.json @@ -36,11 +36,28 @@ "newfold-labs/wp-module-installer": "^1.2.2" }, "require-dev": { - "newfold-labs/wp-php-standards": "^1.2.4" + "newfold-labs/wp-php-standards": "^1.2.4", + "wp-cli/wp-cli-bundle": "^2.11", + "wp-cli/i18n-command": "^2.6" }, "config": { "allow-plugins": { "dealerdirect/phpcodesniffer-composer-installer": true } + }, + "scripts": { + "i18n-pot": "vendor/bin/wp i18n make-pot . ./languages/wp-module-performance.pot --domain=wp-module-performance --headers='{\"Report-Msgid-Bugs-To\":\"https://github.com/newfold-labs/wp-module-performance/issues\",\"POT-Creation-Date\":null}' --exclude=build,node_modules,src,tests", + "i18n-po": "vendor/bin/wp i18n update-po ./languages/wp-module-performance.pot ./languages", + "i18n-mo": "vendor/bin/wp i18n make-mo ./languages", + "i18n-json": "rm -f languages/*.json && vendor/bin/wp i18n make-json ./languages --no-purge --pretty-print", + "i18n": [ + "@i18n-pot", + "@i18n-po", + "@i18n-mo", + "@i18n-json" + ] + }, + "scripts-descriptions": { + "i18n": "Generate files for translation." } } diff --git a/composer.lock b/composer.lock index bad9bb5..f284c3c 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "e4e83dfacb9fc14f062e24bdd34c77d9", + "content-hash": "7d72f5a22608defb3b11d7b2e6d7db74", "packages": [ { "name": "doctrine/inflector", @@ -447,16 +447,16 @@ }, { "name": "newfold-labs/wp-module-pls", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/newfold-labs/wp-module-pls.git", - "reference": "08b7c41b3d52d66414b6234389d7f4c414477d91" + "reference": "e68a79350e9eedcb592cd8e9ec79cc01e29e37a5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/newfold-labs/wp-module-pls/zipball/08b7c41b3d52d66414b6234389d7f4c414477d91", - "reference": "08b7c41b3d52d66414b6234389d7f4c414477d91", + "url": "https://api.github.com/repos/newfold-labs/wp-module-pls/zipball/e68a79350e9eedcb592cd8e9ec79cc01e29e37a5", + "reference": "e68a79350e9eedcb592cd8e9ec79cc01e29e37a5", "shasum": "" }, "require": { @@ -487,10 +487,10 @@ ], "description": "A Newfold module that handles license key provisioning, validation, and other lifecycle events for registered plugins using the PLS API via Hiive.", "support": { - "source": "https://github.com/newfold-labs/wp-module-pls/tree/1.0.0", + "source": "https://github.com/newfold-labs/wp-module-pls/tree/1.0.1", "issues": "https://github.com/newfold-labs/wp-module-pls/issues" }, - "time": "2024-10-23T09:11:18+00:00" + "time": "2024-12-11T19:31:32+00:00" }, { "name": "wp-forge/collection", @@ -612,16 +612,16 @@ }, { "name": "wp-forge/wp-htaccess-manager", - "version": "1.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/wp-forge/wp-htaccess-manager.git", - "reference": "f1fac7af85c0d75a211a5d0e73cd43a7d62debe8" + "reference": "203f0e54378ce2cad9ec8c272851bc7170efcbb1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wp-forge/wp-htaccess-manager/zipball/f1fac7af85c0d75a211a5d0e73cd43a7d62debe8", - "reference": "f1fac7af85c0d75a211a5d0e73cd43a7d62debe8", + "url": "https://api.github.com/repos/wp-forge/wp-htaccess-manager/zipball/203f0e54378ce2cad9ec8c272851bc7170efcbb1", + "reference": "203f0e54378ce2cad9ec8c272851bc7170efcbb1", "shasum": "" }, "type": "library", @@ -646,9 +646,9 @@ "description": "A helper library for making changes to .htaccess files in WordPress.", "support": { "issues": "https://github.com/wp-forge/wp-htaccess-manager/issues", - "source": "https://github.com/wp-forge/wp-htaccess-manager/tree/1.0" + "source": "https://github.com/wp-forge/wp-htaccess-manager/tree/1.0.1" }, - "time": "2022-04-01T16:21:01+00:00" + "time": "2025-01-13T16:12:03+00:00" }, { "name": "wp-forge/wp-options", @@ -816,39 +816,39 @@ ], "packages-dev": [ { - "name": "dealerdirect/phpcodesniffer-composer-installer", - "version": "v1.0.0", + "name": "composer/ca-bundle", + "version": "1.5.5", "source": { "type": "git", - "url": "https://github.com/PHPCSStandards/composer-installer.git", - "reference": "4be43904336affa5c2f70744a348312336afd0da" + "url": "https://github.com/composer/ca-bundle.git", + "reference": "08c50d5ec4c6ced7d0271d2862dec8c1033283e6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCSStandards/composer-installer/zipball/4be43904336affa5c2f70744a348312336afd0da", - "reference": "4be43904336affa5c2f70744a348312336afd0da", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/08c50d5ec4c6ced7d0271d2862dec8c1033283e6", + "reference": "08c50d5ec4c6ced7d0271d2862dec8c1033283e6", "shasum": "" }, "require": { - "composer-plugin-api": "^1.0 || ^2.0", - "php": ">=5.4", - "squizlabs/php_codesniffer": "^2.0 || ^3.1.0 || ^4.0" + "ext-openssl": "*", + "ext-pcre": "*", + "php": "^7.2 || ^8.0" }, "require-dev": { - "composer/composer": "*", - "ext-json": "*", - "ext-zip": "*", - "php-parallel-lint/php-parallel-lint": "^1.3.1", - "phpcompatibility/php-compatibility": "^9.0", - "yoast/phpunit-polyfills": "^1.0" + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^8 || ^9", + "psr/log": "^1.0 || ^2.0 || ^3.0", + "symfony/process": "^4.0 || ^5.0 || ^6.0 || ^7.0" }, - "type": "composer-plugin", + "type": "library", "extra": { - "class": "PHPCSStandards\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\Plugin" + "branch-alias": { + "dev-main": "1.x-dev" + } }, "autoload": { "psr-4": { - "PHPCSStandards\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\": "src/" + "Composer\\CaBundle\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -857,528 +857,5152 @@ ], "authors": [ { - "name": "Franck Nijhof", - "email": "franck.nijhof@dealerdirect.com", - "homepage": "http://www.frenck.nl", - "role": "Developer / IT Manager" - }, - { - "name": "Contributors", - "homepage": "https://github.com/PHPCSStandards/composer-installer/graphs/contributors" + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" } ], - "description": "PHP_CodeSniffer Standards Composer Installer Plugin", - "homepage": "http://www.dealerdirect.com", + "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", "keywords": [ - "PHPCodeSniffer", - "PHP_CodeSniffer", - "code quality", - "codesniffer", - "composer", - "installer", - "phpcbf", - "phpcs", - "plugin", - "qa", - "quality", - "standard", - "standards", - "style guide", - "stylecheck", - "tests" + "cabundle", + "cacert", + "certificate", + "ssl", + "tls" ], "support": { - "issues": "https://github.com/PHPCSStandards/composer-installer/issues", - "source": "https://github.com/PHPCSStandards/composer-installer" - }, - "time": "2023-01-05T11:28:13+00:00" - }, - { - "name": "newfold-labs/wp-php-standards", - "version": "1.2.4", - "source": { - "type": "git", - "url": "https://github.com/newfold-labs/wp-php-standards.git", - "reference": "7ef8833b93f8bcdf52c6006f3adb53972d0799a6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/newfold-labs/wp-php-standards/zipball/7ef8833b93f8bcdf52c6006f3adb53972d0799a6", - "reference": "7ef8833b93f8bcdf52c6006f3adb53972d0799a6", - "shasum": "" - }, - "require": { - "dealerdirect/phpcodesniffer-composer-installer": "@stable", - "phpcompatibility/phpcompatibility-wp": "@stable", - "squizlabs/php_codesniffer": "@stable", - "wp-coding-standards/wpcs": "@stable" + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/ca-bundle/issues", + "source": "https://github.com/composer/ca-bundle/tree/1.5.5" }, - "type": "phpcodesniffer-standard", - "license": [ - "GPL-2.0-or-later" - ], - "authors": [ + "funding": [ { - "name": "Micah Wood", - "email": "micah@wpscholar.com" + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" } ], - "description": "PHP Code Sniffer Standards for Newfold WordPress projects.", - "support": { - "source": "https://github.com/newfold-labs/wp-php-standards/tree/1.2.4", - "issues": "https://github.com/newfold-labs/wp-php-standards/issues" - }, - "time": "2024-07-22T23:16:21+00:00" + "time": "2025-01-08T16:17:16+00:00" }, { - "name": "phpcompatibility/php-compatibility", - "version": "9.3.5", + "name": "composer/class-map-generator", + "version": "1.5.0", "source": { "type": "git", - "url": "https://github.com/PHPCompatibility/PHPCompatibility.git", - "reference": "9fb324479acf6f39452e0655d2429cc0d3914243" + "url": "https://github.com/composer/class-map-generator.git", + "reference": "4b0a223cf5be7c9ee7e0ef1bc7db42b4a97c9915" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibility/zipball/9fb324479acf6f39452e0655d2429cc0d3914243", - "reference": "9fb324479acf6f39452e0655d2429cc0d3914243", + "url": "https://api.github.com/repos/composer/class-map-generator/zipball/4b0a223cf5be7c9ee7e0ef1bc7db42b4a97c9915", + "reference": "4b0a223cf5be7c9ee7e0ef1bc7db42b4a97c9915", "shasum": "" }, "require": { - "php": ">=5.3", - "squizlabs/php_codesniffer": "^2.3 || ^3.0.2" - }, - "conflict": { - "squizlabs/php_codesniffer": "2.6.2" + "composer/pcre": "^2.1 || ^3.1", + "php": "^7.2 || ^8.0", + "symfony/finder": "^4.4 || ^5.3 || ^6 || ^7" }, "require-dev": { - "phpunit/phpunit": "~4.5 || ^5.0 || ^6.0 || ^7.0" + "phpstan/phpstan": "^1.12 || ^2", + "phpstan/phpstan-deprecation-rules": "^1 || ^2", + "phpstan/phpstan-phpunit": "^1 || ^2", + "phpstan/phpstan-strict-rules": "^1.1 || ^2", + "phpunit/phpunit": "^8", + "symfony/filesystem": "^5.4 || ^6" }, - "suggest": { - "dealerdirect/phpcodesniffer-composer-installer": "^0.5 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically.", - "roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues." + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\ClassMapGenerator\\": "src" + } }, - "type": "phpcodesniffer-standard", "notification-url": "https://packagist.org/downloads/", "license": [ - "LGPL-3.0-or-later" + "MIT" ], "authors": [ { - "name": "Wim Godden", - "homepage": "https://github.com/wimg", - "role": "lead" - }, - { - "name": "Juliette Reinders Folmer", - "homepage": "https://github.com/jrfnl", - "role": "lead" - }, - { - "name": "Contributors", - "homepage": "https://github.com/PHPCompatibility/PHPCompatibility/graphs/contributors" + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "https://seld.be" } ], - "description": "A set of sniffs for PHP_CodeSniffer that checks for PHP cross-version compatibility.", - "homepage": "http://techblog.wimgodden.be/tag/codesniffer/", + "description": "Utilities to scan PHP code and generate class maps.", "keywords": [ - "compatibility", - "phpcs", - "standards" + "classmap" ], "support": { - "issues": "https://github.com/PHPCompatibility/PHPCompatibility/issues", - "source": "https://github.com/PHPCompatibility/PHPCompatibility" + "issues": "https://github.com/composer/class-map-generator/issues", + "source": "https://github.com/composer/class-map-generator/tree/1.5.0" }, - "time": "2019-12-27T09:44:58+00:00" + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2024-11-25T16:11:06+00:00" }, { - "name": "phpcompatibility/phpcompatibility-paragonie", - "version": "1.3.3", + "name": "composer/composer", + "version": "2.8.4", "source": { "type": "git", - "url": "https://github.com/PHPCompatibility/PHPCompatibilityParagonie.git", - "reference": "293975b465e0e709b571cbf0c957c6c0a7b9a2ac" + "url": "https://github.com/composer/composer.git", + "reference": "112e37d1dca22b3fdb81cf3524ab4994f47fdb8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibilityParagonie/zipball/293975b465e0e709b571cbf0c957c6c0a7b9a2ac", - "reference": "293975b465e0e709b571cbf0c957c6c0a7b9a2ac", + "url": "https://api.github.com/repos/composer/composer/zipball/112e37d1dca22b3fdb81cf3524ab4994f47fdb8c", + "reference": "112e37d1dca22b3fdb81cf3524ab4994f47fdb8c", "shasum": "" }, "require": { - "phpcompatibility/php-compatibility": "^9.0" + "composer/ca-bundle": "^1.5", + "composer/class-map-generator": "^1.4.0", + "composer/metadata-minifier": "^1.0", + "composer/pcre": "^2.2 || ^3.2", + "composer/semver": "^3.3", + "composer/spdx-licenses": "^1.5.7", + "composer/xdebug-handler": "^2.0.2 || ^3.0.3", + "justinrainbow/json-schema": "^5.3", + "php": "^7.2.5 || ^8.0", + "psr/log": "^1.0 || ^2.0 || ^3.0", + "react/promise": "^2.11 || ^3.2", + "seld/jsonlint": "^1.4", + "seld/phar-utils": "^1.2", + "seld/signal-handler": "^2.0", + "symfony/console": "^5.4.35 || ^6.3.12 || ^7.0.3", + "symfony/filesystem": "^5.4.35 || ^6.3.12 || ^7.0.3", + "symfony/finder": "^5.4.35 || ^6.3.12 || ^7.0.3", + "symfony/polyfill-php73": "^1.24", + "symfony/polyfill-php80": "^1.24", + "symfony/polyfill-php81": "^1.24", + "symfony/process": "^5.4.35 || ^6.3.12 || ^7.0.3" }, "require-dev": { - "dealerdirect/phpcodesniffer-composer-installer": "^1.0", - "paragonie/random_compat": "dev-master", - "paragonie/sodium_compat": "dev-master" + "phpstan/phpstan": "^1.11.8", + "phpstan/phpstan-deprecation-rules": "^1.2.0", + "phpstan/phpstan-phpunit": "^1.4.0", + "phpstan/phpstan-strict-rules": "^1.6.0", + "phpstan/phpstan-symfony": "^1.4.0", + "symfony/phpunit-bridge": "^6.4.3 || ^7.0.1" }, "suggest": { - "dealerdirect/phpcodesniffer-composer-installer": "^1.0 || This Composer plugin will sort out the PHP_CodeSniffer 'installed_paths' automatically.", - "roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues." + "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", + "ext-zip": "Enabling the zip extension allows you to unzip archives", + "ext-zlib": "Allow gzip compression of HTTP requests" + }, + "bin": [ + "bin/composer" + ], + "type": "library", + "extra": { + "phpstan": { + "includes": [ + "phpstan/rules.neon" + ] + }, + "branch-alias": { + "dev-main": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\": "src/Composer/" + } }, - "type": "phpcodesniffer-standard", "notification-url": "https://packagist.org/downloads/", "license": [ - "LGPL-3.0-or-later" + "MIT" ], "authors": [ { - "name": "Wim Godden", - "role": "lead" + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "https://www.naderman.de" }, { - "name": "Juliette Reinders Folmer", - "role": "lead" + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "https://seld.be" } ], - "description": "A set of rulesets for PHP_CodeSniffer to check for PHP cross-version compatibility issues in projects, while accounting for polyfills provided by the Paragonie polyfill libraries.", - "homepage": "http://phpcompatibility.com/", + "description": "Composer helps you declare, manage and install dependencies of PHP projects. It ensures you have the right stack everywhere.", + "homepage": "https://getcomposer.org/", "keywords": [ - "compatibility", - "paragonie", - "phpcs", - "polyfill", - "standards", - "static analysis" + "autoload", + "dependency", + "package" ], "support": { - "issues": "https://github.com/PHPCompatibility/PHPCompatibilityParagonie/issues", - "security": "https://github.com/PHPCompatibility/PHPCompatibilityParagonie/security/policy", - "source": "https://github.com/PHPCompatibility/PHPCompatibilityParagonie" + "irc": "ircs://irc.libera.chat:6697/composer", + "issues": "https://github.com/composer/composer/issues", + "security": "https://github.com/composer/composer/security/policy", + "source": "https://github.com/composer/composer/tree/2.8.4" }, "funding": [ { - "url": "https://github.com/PHPCompatibility", - "type": "github" + "url": "https://packagist.com", + "type": "custom" }, { - "url": "https://github.com/jrfnl", + "url": "https://github.com/composer", "type": "github" }, { - "url": "https://opencollective.com/php_codesniffer", - "type": "open_collective" + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" } ], - "time": "2024-04-24T21:30:46+00:00" + "time": "2024-12-11T10:57:47+00:00" }, { - "name": "phpcompatibility/phpcompatibility-wp", - "version": "2.1.5", + "name": "composer/metadata-minifier", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/PHPCompatibility/PHPCompatibilityWP.git", - "reference": "01c1ff2704a58e46f0cb1ca9d06aee07b3589082" + "url": "https://github.com/composer/metadata-minifier.git", + "reference": "c549d23829536f0d0e984aaabbf02af91f443207" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibilityWP/zipball/01c1ff2704a58e46f0cb1ca9d06aee07b3589082", - "reference": "01c1ff2704a58e46f0cb1ca9d06aee07b3589082", + "url": "https://api.github.com/repos/composer/metadata-minifier/zipball/c549d23829536f0d0e984aaabbf02af91f443207", + "reference": "c549d23829536f0d0e984aaabbf02af91f443207", "shasum": "" }, "require": { - "phpcompatibility/php-compatibility": "^9.0", - "phpcompatibility/phpcompatibility-paragonie": "^1.0" + "php": "^5.3.2 || ^7.0 || ^8.0" }, "require-dev": { - "dealerdirect/phpcodesniffer-composer-installer": "^1.0" + "composer/composer": "^2", + "phpstan/phpstan": "^0.12.55", + "symfony/phpunit-bridge": "^4.2 || ^5" }, - "suggest": { - "dealerdirect/phpcodesniffer-composer-installer": "^1.0 || This Composer plugin will sort out the PHP_CodeSniffer 'installed_paths' automatically.", - "roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues." + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\MetadataMinifier\\": "src" + } }, - "type": "phpcodesniffer-standard", "notification-url": "https://packagist.org/downloads/", "license": [ - "LGPL-3.0-or-later" + "MIT" ], "authors": [ { - "name": "Wim Godden", - "role": "lead" - }, - { - "name": "Juliette Reinders Folmer", - "role": "lead" + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" } ], - "description": "A ruleset for PHP_CodeSniffer to check for PHP cross-version compatibility issues in projects, while accounting for polyfills provided by WordPress.", - "homepage": "http://phpcompatibility.com/", + "description": "Small utility library that handles metadata minification and expansion.", "keywords": [ - "compatibility", - "phpcs", - "standards", - "static analysis", - "wordpress" + "composer", + "compression" ], "support": { - "issues": "https://github.com/PHPCompatibility/PHPCompatibilityWP/issues", - "security": "https://github.com/PHPCompatibility/PHPCompatibilityWP/security/policy", - "source": "https://github.com/PHPCompatibility/PHPCompatibilityWP" + "issues": "https://github.com/composer/metadata-minifier/issues", + "source": "https://github.com/composer/metadata-minifier/tree/1.0.0" }, "funding": [ { - "url": "https://github.com/PHPCompatibility", - "type": "github" + "url": "https://packagist.com", + "type": "custom" }, { - "url": "https://github.com/jrfnl", + "url": "https://github.com/composer", "type": "github" }, { - "url": "https://opencollective.com/php_codesniffer", - "type": "open_collective" + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" } ], - "time": "2024-04-24T21:37:59+00:00" + "time": "2021-04-07T13:37:33+00:00" }, { - "name": "phpcsstandards/phpcsextra", - "version": "1.2.1", + "name": "composer/pcre", + "version": "3.3.2", "source": { "type": "git", - "url": "https://github.com/PHPCSStandards/PHPCSExtra.git", - "reference": "11d387c6642b6e4acaf0bd9bf5203b8cca1ec489" + "url": "https://github.com/composer/pcre.git", + "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCSStandards/PHPCSExtra/zipball/11d387c6642b6e4acaf0bd9bf5203b8cca1ec489", - "reference": "11d387c6642b6e4acaf0bd9bf5203b8cca1ec489", + "url": "https://api.github.com/repos/composer/pcre/zipball/b2bed4734f0cc156ee1fe9c0da2550420d99a21e", + "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e", "shasum": "" }, "require": { - "php": ">=5.4", - "phpcsstandards/phpcsutils": "^1.0.9", - "squizlabs/php_codesniffer": "^3.8.0" + "php": "^7.4 || ^8.0" + }, + "conflict": { + "phpstan/phpstan": "<1.11.10" }, "require-dev": { - "php-parallel-lint/php-console-highlighter": "^1.0", - "php-parallel-lint/php-parallel-lint": "^1.3.2", - "phpcsstandards/phpcsdevcs": "^1.1.6", - "phpcsstandards/phpcsdevtools": "^1.2.1", - "phpunit/phpunit": "^4.5 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0" + "phpstan/phpstan": "^1.12 || ^2", + "phpstan/phpstan-strict-rules": "^1 || ^2", + "phpunit/phpunit": "^8 || ^9" }, - "type": "phpcodesniffer-standard", + "type": "library", "extra": { + "phpstan": { + "includes": [ + "extension.neon" + ] + }, "branch-alias": { - "dev-stable": "1.x-dev", - "dev-develop": "1.x-dev" + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Pcre\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "LGPL-3.0-or-later" + "MIT" ], "authors": [ { - "name": "Juliette Reinders Folmer", - "homepage": "https://github.com/jrfnl", - "role": "lead" - }, - { - "name": "Contributors", - "homepage": "https://github.com/PHPCSStandards/PHPCSExtra/graphs/contributors" + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" } ], - "description": "A collection of sniffs and standards for use with PHP_CodeSniffer.", + "description": "PCRE wrapping library that offers type-safe preg_* replacements.", "keywords": [ - "PHP_CodeSniffer", - "phpcbf", - "phpcodesniffer-standard", - "phpcs", - "standards", - "static analysis" + "PCRE", + "preg", + "regex", + "regular expression" ], "support": { - "issues": "https://github.com/PHPCSStandards/PHPCSExtra/issues", - "security": "https://github.com/PHPCSStandards/PHPCSExtra/security/policy", - "source": "https://github.com/PHPCSStandards/PHPCSExtra" + "issues": "https://github.com/composer/pcre/issues", + "source": "https://github.com/composer/pcre/tree/3.3.2" }, "funding": [ { - "url": "https://github.com/PHPCSStandards", - "type": "github" + "url": "https://packagist.com", + "type": "custom" }, { - "url": "https://github.com/jrfnl", + "url": "https://github.com/composer", "type": "github" }, { - "url": "https://opencollective.com/php_codesniffer", - "type": "open_collective" + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" } ], - "time": "2023-12-08T16:49:07+00:00" + "time": "2024-11-12T16:29:46+00:00" }, { - "name": "phpcsstandards/phpcsutils", - "version": "1.0.12", + "name": "composer/semver", + "version": "3.4.3", "source": { "type": "git", - "url": "https://github.com/PHPCSStandards/PHPCSUtils.git", - "reference": "87b233b00daf83fb70f40c9a28692be017ea7c6c" + "url": "https://github.com/composer/semver.git", + "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCSStandards/PHPCSUtils/zipball/87b233b00daf83fb70f40c9a28692be017ea7c6c", - "reference": "87b233b00daf83fb70f40c9a28692be017ea7c6c", + "url": "https://api.github.com/repos/composer/semver/zipball/4313d26ada5e0c4edfbd1dc481a92ff7bff91f12", + "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12", "shasum": "" }, "require": { - "dealerdirect/phpcodesniffer-composer-installer": "^0.4.1 || ^0.5 || ^0.6.2 || ^0.7 || ^1.0", - "php": ">=5.4", - "squizlabs/php_codesniffer": "^3.10.0 || 4.0.x-dev@dev" + "php": "^5.3.2 || ^7.0 || ^8.0" }, "require-dev": { - "ext-filter": "*", - "php-parallel-lint/php-console-highlighter": "^1.0", - "php-parallel-lint/php-parallel-lint": "^1.3.2", - "phpcsstandards/phpcsdevcs": "^1.1.6", - "yoast/phpunit-polyfills": "^1.1.0 || ^2.0.0" + "phpstan/phpstan": "^1.11", + "symfony/phpunit-bridge": "^3 || ^7" }, - "type": "phpcodesniffer-standard", + "type": "library", "extra": { "branch-alias": { - "dev-stable": "1.x-dev", - "dev-develop": "1.x-dev" + "dev-main": "3.x-dev" } }, "autoload": { - "classmap": [ - "PHPCSUtils/" - ] + "psr-4": { + "Composer\\Semver\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "LGPL-3.0-or-later" + "MIT" ], "authors": [ { - "name": "Juliette Reinders Folmer", - "homepage": "https://github.com/jrfnl", - "role": "lead" + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" }, { - "name": "Contributors", - "homepage": "https://github.com/PHPCSStandards/PHPCSUtils/graphs/contributors" + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" } ], - "description": "A suite of utility functions for use with PHP_CodeSniffer", - "homepage": "https://phpcsutils.com/", + "description": "Semver library that offers utilities, version constraint parsing and validation.", "keywords": [ - "PHP_CodeSniffer", - "phpcbf", - "phpcodesniffer-standard", - "phpcs", - "phpcs3", - "standards", - "static analysis", - "tokens", - "utility" + "semantic", + "semver", + "validation", + "versioning" ], "support": { - "docs": "https://phpcsutils.com/", - "issues": "https://github.com/PHPCSStandards/PHPCSUtils/issues", - "security": "https://github.com/PHPCSStandards/PHPCSUtils/security/policy", - "source": "https://github.com/PHPCSStandards/PHPCSUtils" + "irc": "ircs://irc.libera.chat:6697/composer", + "issues": "https://github.com/composer/semver/issues", + "source": "https://github.com/composer/semver/tree/3.4.3" }, "funding": [ { - "url": "https://github.com/PHPCSStandards", - "type": "github" + "url": "https://packagist.com", + "type": "custom" }, { - "url": "https://github.com/jrfnl", + "url": "https://github.com/composer", "type": "github" }, { - "url": "https://opencollective.com/php_codesniffer", - "type": "open_collective" + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" } ], - "time": "2024-05-20T13:34:27+00:00" + "time": "2024-09-19T14:15:21+00:00" }, { - "name": "squizlabs/php_codesniffer", - "version": "3.11.2", + "name": "composer/spdx-licenses", + "version": "1.5.8", "source": { "type": "git", - "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git", - "reference": "1368f4a58c3c52114b86b1abe8f4098869cb0079" + "url": "https://github.com/composer/spdx-licenses.git", + "reference": "560bdcf8deb88ae5d611c80a2de8ea9d0358cc0a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/1368f4a58c3c52114b86b1abe8f4098869cb0079", - "reference": "1368f4a58c3c52114b86b1abe8f4098869cb0079", + "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/560bdcf8deb88ae5d611c80a2de8ea9d0358cc0a", + "reference": "560bdcf8deb88ae5d611c80a2de8ea9d0358cc0a", "shasum": "" }, "require": { - "ext-simplexml": "*", - "ext-tokenizer": "*", - "ext-xmlwriter": "*", - "php": ">=5.4.0" + "php": "^5.3.2 || ^7.0 || ^8.0" }, "require-dev": { - "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.3.4" + "phpstan/phpstan": "^0.12.55", + "symfony/phpunit-bridge": "^4.2 || ^5" }, - "bin": [ - "bin/phpcbf", - "bin/phpcs" - ], "type": "library", "extra": { "branch-alias": { - "dev-master": "3.x-dev" + "dev-main": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Spdx\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Greg Sherwood", - "role": "Former lead" + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" }, { - "name": "Juliette Reinders Folmer", - "role": "Current lead" + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" }, { - "name": "Contributors", - "homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer/graphs/contributors" + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" } ], - "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", - "homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer", + "description": "SPDX licenses list and validation library.", "keywords": [ - "phpcs", - "standards", - "static analysis" + "license", + "spdx", + "validator" ], "support": { - "issues": "https://github.com/PHPCSStandards/PHP_CodeSniffer/issues", - "security": "https://github.com/PHPCSStandards/PHP_CodeSniffer/security/policy", - "source": "https://github.com/PHPCSStandards/PHP_CodeSniffer", - "wiki": "https://github.com/PHPCSStandards/PHP_CodeSniffer/wiki" + "irc": "ircs://irc.libera.chat:6697/composer", + "issues": "https://github.com/composer/spdx-licenses/issues", + "source": "https://github.com/composer/spdx-licenses/tree/1.5.8" }, "funding": [ { - "url": "https://github.com/PHPCSStandards", + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", "type": "github" }, { - "url": "https://github.com/jrfnl", + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2023-11-20T07:44:33+00:00" + }, + { + "name": "composer/xdebug-handler", + "version": "3.0.5", + "source": { + "type": "git", + "url": "https://github.com/composer/xdebug-handler.git", + "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/6c1925561632e83d60a44492e0b344cf48ab85ef", + "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef", + "shasum": "" + }, + "require": { + "composer/pcre": "^1 || ^2 || ^3", + "php": "^7.2.5 || ^8.0", + "psr/log": "^1 || ^2 || ^3" + }, + "require-dev": { + "phpstan/phpstan": "^1.0", + "phpstan/phpstan-strict-rules": "^1.1", + "phpunit/phpunit": "^8.5 || ^9.6 || ^10.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Composer\\XdebugHandler\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "John Stevenson", + "email": "john-stevenson@blueyonder.co.uk" + } + ], + "description": "Restarts a process without Xdebug.", + "keywords": [ + "Xdebug", + "performance" + ], + "support": { + "irc": "ircs://irc.libera.chat:6697/composer", + "issues": "https://github.com/composer/xdebug-handler/issues", + "source": "https://github.com/composer/xdebug-handler/tree/3.0.5" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", "type": "github" }, { - "url": "https://opencollective.com/php_codesniffer", - "type": "open_collective" + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" } ], - "time": "2024-12-11T16:04:26+00:00" + "time": "2024-05-06T16:37:16+00:00" + }, + { + "name": "dealerdirect/phpcodesniffer-composer-installer", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/PHPCSStandards/composer-installer.git", + "reference": "4be43904336affa5c2f70744a348312336afd0da" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPCSStandards/composer-installer/zipball/4be43904336affa5c2f70744a348312336afd0da", + "reference": "4be43904336affa5c2f70744a348312336afd0da", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0 || ^2.0", + "php": ">=5.4", + "squizlabs/php_codesniffer": "^2.0 || ^3.1.0 || ^4.0" + }, + "require-dev": { + "composer/composer": "*", + "ext-json": "*", + "ext-zip": "*", + "php-parallel-lint/php-parallel-lint": "^1.3.1", + "phpcompatibility/php-compatibility": "^9.0", + "yoast/phpunit-polyfills": "^1.0" + }, + "type": "composer-plugin", + "extra": { + "class": "PHPCSStandards\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\Plugin" + }, + "autoload": { + "psr-4": { + "PHPCSStandards\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Franck Nijhof", + "email": "franck.nijhof@dealerdirect.com", + "homepage": "http://www.frenck.nl", + "role": "Developer / IT Manager" + }, + { + "name": "Contributors", + "homepage": "https://github.com/PHPCSStandards/composer-installer/graphs/contributors" + } + ], + "description": "PHP_CodeSniffer Standards Composer Installer Plugin", + "homepage": "http://www.dealerdirect.com", + "keywords": [ + "PHPCodeSniffer", + "PHP_CodeSniffer", + "code quality", + "codesniffer", + "composer", + "installer", + "phpcbf", + "phpcs", + "plugin", + "qa", + "quality", + "standard", + "standards", + "style guide", + "stylecheck", + "tests" + ], + "support": { + "issues": "https://github.com/PHPCSStandards/composer-installer/issues", + "source": "https://github.com/PHPCSStandards/composer-installer" + }, + "time": "2023-01-05T11:28:13+00:00" + }, + { + "name": "eftec/bladeone", + "version": "3.52", + "source": { + "type": "git", + "url": "https://github.com/EFTEC/BladeOne.git", + "reference": "a19bf66917de0b29836983db87a455a4f6e32148" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/EFTEC/BladeOne/zipball/a19bf66917de0b29836983db87a455a4f6e32148", + "reference": "a19bf66917de0b29836983db87a455a4f6e32148", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": ">=5.6" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.16.1", + "phpunit/phpunit": "^5.7", + "squizlabs/php_codesniffer": "^3.5.4" + }, + "suggest": { + "eftec/bladeonehtml": "Extension to create forms", + "ext-mbstring": "This extension is used if it's active" + }, + "type": "library", + "autoload": { + "psr-4": { + "eftec\\bladeone\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jorge Patricio Castro Castillo", + "email": "jcastro@eftec.cl" + } + ], + "description": "The standalone version Blade Template Engine from Laravel in a single php file", + "homepage": "https://github.com/EFTEC/BladeOne", + "keywords": [ + "blade", + "php", + "template", + "templating", + "view" + ], + "support": { + "issues": "https://github.com/EFTEC/BladeOne/issues", + "source": "https://github.com/EFTEC/BladeOne/tree/3.52" + }, + "time": "2021-04-17T13:49:01+00:00" + }, + { + "name": "gettext/gettext", + "version": "v4.8.12", + "source": { + "type": "git", + "url": "https://github.com/php-gettext/Gettext.git", + "reference": "11af89ee6c087db3cf09ce2111a150bca5c46e12" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-gettext/Gettext/zipball/11af89ee6c087db3cf09ce2111a150bca5c46e12", + "reference": "11af89ee6c087db3cf09ce2111a150bca5c46e12", + "shasum": "" + }, + "require": { + "gettext/languages": "^2.3", + "php": ">=5.4.0" + }, + "require-dev": { + "illuminate/view": "^5.0.x-dev", + "phpunit/phpunit": "^4.8|^5.7|^6.5", + "squizlabs/php_codesniffer": "^3.0", + "symfony/yaml": "~2", + "twig/extensions": "*", + "twig/twig": "^1.31|^2.0" + }, + "suggest": { + "illuminate/view": "Is necessary if you want to use the Blade extractor", + "symfony/yaml": "Is necessary if you want to use the Yaml extractor/generator", + "twig/extensions": "Is necessary if you want to use the Twig extractor", + "twig/twig": "Is necessary if you want to use the Twig extractor" + }, + "type": "library", + "autoload": { + "psr-4": { + "Gettext\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Oscar Otero", + "email": "oom@oscarotero.com", + "homepage": "http://oscarotero.com", + "role": "Developer" + } + ], + "description": "PHP gettext manager", + "homepage": "https://github.com/oscarotero/Gettext", + "keywords": [ + "JS", + "gettext", + "i18n", + "mo", + "po", + "translation" + ], + "support": { + "email": "oom@oscarotero.com", + "issues": "https://github.com/oscarotero/Gettext/issues", + "source": "https://github.com/php-gettext/Gettext/tree/v4.8.12" + }, + "funding": [ + { + "url": "https://paypal.me/oscarotero", + "type": "custom" + }, + { + "url": "https://github.com/oscarotero", + "type": "github" + }, + { + "url": "https://www.patreon.com/misteroom", + "type": "patreon" + } + ], + "time": "2024-05-18T10:25:07+00:00" + }, + { + "name": "gettext/languages", + "version": "2.10.0", + "source": { + "type": "git", + "url": "https://github.com/php-gettext/Languages.git", + "reference": "4d61d67fe83a2ad85959fe6133d6d9ba7dddd1ab" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-gettext/Languages/zipball/4d61d67fe83a2ad85959fe6133d6d9ba7dddd1ab", + "reference": "4d61d67fe83a2ad85959fe6133d6d9ba7dddd1ab", + "shasum": "" + }, + "require": { + "php": ">=5.3" + }, + "require-dev": { + "phpunit/phpunit": "^4.8 || ^5.7 || ^6.5 || ^7.5 || ^8.4" + }, + "bin": [ + "bin/export-plural-rules" + ], + "type": "library", + "autoload": { + "psr-4": { + "Gettext\\Languages\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michele Locati", + "email": "mlocati@gmail.com", + "role": "Developer" + } + ], + "description": "gettext languages with plural rules", + "homepage": "https://github.com/php-gettext/Languages", + "keywords": [ + "cldr", + "i18n", + "internationalization", + "l10n", + "language", + "languages", + "localization", + "php", + "plural", + "plural rules", + "plurals", + "translate", + "translations", + "unicode" + ], + "support": { + "issues": "https://github.com/php-gettext/Languages/issues", + "source": "https://github.com/php-gettext/Languages/tree/2.10.0" + }, + "funding": [ + { + "url": "https://paypal.me/mlocati", + "type": "custom" + }, + { + "url": "https://github.com/mlocati", + "type": "github" + } + ], + "time": "2022-10-18T15:00:10+00:00" + }, + { + "name": "justinrainbow/json-schema", + "version": "5.3.0", + "source": { + "type": "git", + "url": "https://github.com/jsonrainbow/json-schema.git", + "reference": "feb2ca6dd1cebdaf1ed60a4c8de2e53ce11c4fd8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/jsonrainbow/json-schema/zipball/feb2ca6dd1cebdaf1ed60a4c8de2e53ce11c4fd8", + "reference": "feb2ca6dd1cebdaf1ed60a4c8de2e53ce11c4fd8", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2.2.20||~2.15.1", + "json-schema/json-schema-test-suite": "1.2.0", + "phpunit/phpunit": "^4.8.35" + }, + "bin": [ + "bin/validate-json" + ], + "type": "library", + "autoload": { + "psr-4": { + "JsonSchema\\": "src/JsonSchema/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bruno Prieto Reis", + "email": "bruno.p.reis@gmail.com" + }, + { + "name": "Justin Rainbow", + "email": "justin.rainbow@gmail.com" + }, + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + }, + { + "name": "Robert Schönthal", + "email": "seroscho@googlemail.com" + } + ], + "description": "A library to validate a json schema.", + "homepage": "https://github.com/justinrainbow/json-schema", + "keywords": [ + "json", + "schema" + ], + "support": { + "issues": "https://github.com/jsonrainbow/json-schema/issues", + "source": "https://github.com/jsonrainbow/json-schema/tree/5.3.0" + }, + "time": "2024-07-06T21:00:26+00:00" + }, + { + "name": "mck89/peast", + "version": "v1.16.3", + "source": { + "type": "git", + "url": "https://github.com/mck89/peast.git", + "reference": "645ec21b650bc2aced18285c85f220d22afc1430" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mck89/peast/zipball/645ec21b650bc2aced18285c85f220d22afc1430", + "reference": "645ec21b650bc2aced18285c85f220d22afc1430", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.16.3-dev" + } + }, + "autoload": { + "psr-4": { + "Peast\\": "lib/Peast/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Marco Marchiò", + "email": "marco.mm89@gmail.com" + } + ], + "description": "Peast is PHP library that generates AST for JavaScript code", + "support": { + "issues": "https://github.com/mck89/peast/issues", + "source": "https://github.com/mck89/peast/tree/v1.16.3" + }, + "time": "2024-07-23T14:00:32+00:00" + }, + { + "name": "mustache/mustache", + "version": "v2.14.2", + "source": { + "type": "git", + "url": "https://github.com/bobthecow/mustache.php.git", + "reference": "e62b7c3849d22ec55f3ec425507bf7968193a6cb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/bobthecow/mustache.php/zipball/e62b7c3849d22ec55f3ec425507bf7968193a6cb", + "reference": "e62b7c3849d22ec55f3ec425507bf7968193a6cb", + "shasum": "" + }, + "require": { + "php": ">=5.2.4" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~1.11", + "phpunit/phpunit": "~3.7|~4.0|~5.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "Mustache": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Justin Hileman", + "email": "justin@justinhileman.info", + "homepage": "http://justinhileman.com" + } + ], + "description": "A Mustache implementation in PHP.", + "homepage": "https://github.com/bobthecow/mustache.php", + "keywords": [ + "mustache", + "templating" + ], + "support": { + "issues": "https://github.com/bobthecow/mustache.php/issues", + "source": "https://github.com/bobthecow/mustache.php/tree/v2.14.2" + }, + "time": "2022-08-23T13:07:01+00:00" + }, + { + "name": "nb/oxymel", + "version": "v0.1.0", + "source": { + "type": "git", + "url": "https://github.com/nb/oxymel.git", + "reference": "cbe626ef55d5c4cc9b5e6e3904b395861ea76e3c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nb/oxymel/zipball/cbe626ef55d5c4cc9b5e6e3904b395861ea76e3c", + "reference": "cbe626ef55d5c4cc9b5e6e3904b395861ea76e3c", + "shasum": "" + }, + "require": { + "php": ">=5.2.4" + }, + "type": "library", + "autoload": { + "psr-0": { + "Oxymel": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nikolay Bachiyski", + "email": "nb@nikolay.bg", + "homepage": "http://extrapolate.me/" + } + ], + "description": "A sweet XML builder", + "homepage": "https://github.com/nb/oxymel", + "keywords": [ + "xml" + ], + "support": { + "issues": "https://github.com/nb/oxymel/issues", + "source": "https://github.com/nb/oxymel/tree/master" + }, + "time": "2013-02-24T15:01:54+00:00" + }, + { + "name": "newfold-labs/wp-php-standards", + "version": "1.2.4", + "source": { + "type": "git", + "url": "https://github.com/newfold-labs/wp-php-standards.git", + "reference": "7ef8833b93f8bcdf52c6006f3adb53972d0799a6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/newfold-labs/wp-php-standards/zipball/7ef8833b93f8bcdf52c6006f3adb53972d0799a6", + "reference": "7ef8833b93f8bcdf52c6006f3adb53972d0799a6", + "shasum": "" + }, + "require": { + "dealerdirect/phpcodesniffer-composer-installer": "@stable", + "phpcompatibility/phpcompatibility-wp": "@stable", + "squizlabs/php_codesniffer": "@stable", + "wp-coding-standards/wpcs": "@stable" + }, + "type": "phpcodesniffer-standard", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Micah Wood", + "email": "micah@wpscholar.com" + } + ], + "description": "PHP Code Sniffer Standards for Newfold WordPress projects.", + "support": { + "source": "https://github.com/newfold-labs/wp-php-standards/tree/1.2.4", + "issues": "https://github.com/newfold-labs/wp-php-standards/issues" + }, + "time": "2024-07-22T23:16:21+00:00" + }, + { + "name": "phpcompatibility/php-compatibility", + "version": "9.3.5", + "source": { + "type": "git", + "url": "https://github.com/PHPCompatibility/PHPCompatibility.git", + "reference": "9fb324479acf6f39452e0655d2429cc0d3914243" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibility/zipball/9fb324479acf6f39452e0655d2429cc0d3914243", + "reference": "9fb324479acf6f39452e0655d2429cc0d3914243", + "shasum": "" + }, + "require": { + "php": ">=5.3", + "squizlabs/php_codesniffer": "^2.3 || ^3.0.2" + }, + "conflict": { + "squizlabs/php_codesniffer": "2.6.2" + }, + "require-dev": { + "phpunit/phpunit": "~4.5 || ^5.0 || ^6.0 || ^7.0" + }, + "suggest": { + "dealerdirect/phpcodesniffer-composer-installer": "^0.5 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically.", + "roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues." + }, + "type": "phpcodesniffer-standard", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Wim Godden", + "homepage": "https://github.com/wimg", + "role": "lead" + }, + { + "name": "Juliette Reinders Folmer", + "homepage": "https://github.com/jrfnl", + "role": "lead" + }, + { + "name": "Contributors", + "homepage": "https://github.com/PHPCompatibility/PHPCompatibility/graphs/contributors" + } + ], + "description": "A set of sniffs for PHP_CodeSniffer that checks for PHP cross-version compatibility.", + "homepage": "http://techblog.wimgodden.be/tag/codesniffer/", + "keywords": [ + "compatibility", + "phpcs", + "standards" + ], + "support": { + "issues": "https://github.com/PHPCompatibility/PHPCompatibility/issues", + "source": "https://github.com/PHPCompatibility/PHPCompatibility" + }, + "time": "2019-12-27T09:44:58+00:00" + }, + { + "name": "phpcompatibility/phpcompatibility-paragonie", + "version": "1.3.3", + "source": { + "type": "git", + "url": "https://github.com/PHPCompatibility/PHPCompatibilityParagonie.git", + "reference": "293975b465e0e709b571cbf0c957c6c0a7b9a2ac" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibilityParagonie/zipball/293975b465e0e709b571cbf0c957c6c0a7b9a2ac", + "reference": "293975b465e0e709b571cbf0c957c6c0a7b9a2ac", + "shasum": "" + }, + "require": { + "phpcompatibility/php-compatibility": "^9.0" + }, + "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "^1.0", + "paragonie/random_compat": "dev-master", + "paragonie/sodium_compat": "dev-master" + }, + "suggest": { + "dealerdirect/phpcodesniffer-composer-installer": "^1.0 || This Composer plugin will sort out the PHP_CodeSniffer 'installed_paths' automatically.", + "roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues." + }, + "type": "phpcodesniffer-standard", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Wim Godden", + "role": "lead" + }, + { + "name": "Juliette Reinders Folmer", + "role": "lead" + } + ], + "description": "A set of rulesets for PHP_CodeSniffer to check for PHP cross-version compatibility issues in projects, while accounting for polyfills provided by the Paragonie polyfill libraries.", + "homepage": "http://phpcompatibility.com/", + "keywords": [ + "compatibility", + "paragonie", + "phpcs", + "polyfill", + "standards", + "static analysis" + ], + "support": { + "issues": "https://github.com/PHPCompatibility/PHPCompatibilityParagonie/issues", + "security": "https://github.com/PHPCompatibility/PHPCompatibilityParagonie/security/policy", + "source": "https://github.com/PHPCompatibility/PHPCompatibilityParagonie" + }, + "funding": [ + { + "url": "https://github.com/PHPCompatibility", + "type": "github" + }, + { + "url": "https://github.com/jrfnl", + "type": "github" + }, + { + "url": "https://opencollective.com/php_codesniffer", + "type": "open_collective" + } + ], + "time": "2024-04-24T21:30:46+00:00" + }, + { + "name": "phpcompatibility/phpcompatibility-wp", + "version": "2.1.5", + "source": { + "type": "git", + "url": "https://github.com/PHPCompatibility/PHPCompatibilityWP.git", + "reference": "01c1ff2704a58e46f0cb1ca9d06aee07b3589082" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibilityWP/zipball/01c1ff2704a58e46f0cb1ca9d06aee07b3589082", + "reference": "01c1ff2704a58e46f0cb1ca9d06aee07b3589082", + "shasum": "" + }, + "require": { + "phpcompatibility/php-compatibility": "^9.0", + "phpcompatibility/phpcompatibility-paragonie": "^1.0" + }, + "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "^1.0" + }, + "suggest": { + "dealerdirect/phpcodesniffer-composer-installer": "^1.0 || This Composer plugin will sort out the PHP_CodeSniffer 'installed_paths' automatically.", + "roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues." + }, + "type": "phpcodesniffer-standard", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Wim Godden", + "role": "lead" + }, + { + "name": "Juliette Reinders Folmer", + "role": "lead" + } + ], + "description": "A ruleset for PHP_CodeSniffer to check for PHP cross-version compatibility issues in projects, while accounting for polyfills provided by WordPress.", + "homepage": "http://phpcompatibility.com/", + "keywords": [ + "compatibility", + "phpcs", + "standards", + "static analysis", + "wordpress" + ], + "support": { + "issues": "https://github.com/PHPCompatibility/PHPCompatibilityWP/issues", + "security": "https://github.com/PHPCompatibility/PHPCompatibilityWP/security/policy", + "source": "https://github.com/PHPCompatibility/PHPCompatibilityWP" + }, + "funding": [ + { + "url": "https://github.com/PHPCompatibility", + "type": "github" + }, + { + "url": "https://github.com/jrfnl", + "type": "github" + }, + { + "url": "https://opencollective.com/php_codesniffer", + "type": "open_collective" + } + ], + "time": "2024-04-24T21:37:59+00:00" + }, + { + "name": "phpcsstandards/phpcsextra", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/PHPCSStandards/PHPCSExtra.git", + "reference": "11d387c6642b6e4acaf0bd9bf5203b8cca1ec489" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPCSStandards/PHPCSExtra/zipball/11d387c6642b6e4acaf0bd9bf5203b8cca1ec489", + "reference": "11d387c6642b6e4acaf0bd9bf5203b8cca1ec489", + "shasum": "" + }, + "require": { + "php": ">=5.4", + "phpcsstandards/phpcsutils": "^1.0.9", + "squizlabs/php_codesniffer": "^3.8.0" + }, + "require-dev": { + "php-parallel-lint/php-console-highlighter": "^1.0", + "php-parallel-lint/php-parallel-lint": "^1.3.2", + "phpcsstandards/phpcsdevcs": "^1.1.6", + "phpcsstandards/phpcsdevtools": "^1.2.1", + "phpunit/phpunit": "^4.5 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0" + }, + "type": "phpcodesniffer-standard", + "extra": { + "branch-alias": { + "dev-stable": "1.x-dev", + "dev-develop": "1.x-dev" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Juliette Reinders Folmer", + "homepage": "https://github.com/jrfnl", + "role": "lead" + }, + { + "name": "Contributors", + "homepage": "https://github.com/PHPCSStandards/PHPCSExtra/graphs/contributors" + } + ], + "description": "A collection of sniffs and standards for use with PHP_CodeSniffer.", + "keywords": [ + "PHP_CodeSniffer", + "phpcbf", + "phpcodesniffer-standard", + "phpcs", + "standards", + "static analysis" + ], + "support": { + "issues": "https://github.com/PHPCSStandards/PHPCSExtra/issues", + "security": "https://github.com/PHPCSStandards/PHPCSExtra/security/policy", + "source": "https://github.com/PHPCSStandards/PHPCSExtra" + }, + "funding": [ + { + "url": "https://github.com/PHPCSStandards", + "type": "github" + }, + { + "url": "https://github.com/jrfnl", + "type": "github" + }, + { + "url": "https://opencollective.com/php_codesniffer", + "type": "open_collective" + } + ], + "time": "2023-12-08T16:49:07+00:00" + }, + { + "name": "phpcsstandards/phpcsutils", + "version": "1.0.12", + "source": { + "type": "git", + "url": "https://github.com/PHPCSStandards/PHPCSUtils.git", + "reference": "87b233b00daf83fb70f40c9a28692be017ea7c6c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPCSStandards/PHPCSUtils/zipball/87b233b00daf83fb70f40c9a28692be017ea7c6c", + "reference": "87b233b00daf83fb70f40c9a28692be017ea7c6c", + "shasum": "" + }, + "require": { + "dealerdirect/phpcodesniffer-composer-installer": "^0.4.1 || ^0.5 || ^0.6.2 || ^0.7 || ^1.0", + "php": ">=5.4", + "squizlabs/php_codesniffer": "^3.10.0 || 4.0.x-dev@dev" + }, + "require-dev": { + "ext-filter": "*", + "php-parallel-lint/php-console-highlighter": "^1.0", + "php-parallel-lint/php-parallel-lint": "^1.3.2", + "phpcsstandards/phpcsdevcs": "^1.1.6", + "yoast/phpunit-polyfills": "^1.1.0 || ^2.0.0" + }, + "type": "phpcodesniffer-standard", + "extra": { + "branch-alias": { + "dev-stable": "1.x-dev", + "dev-develop": "1.x-dev" + } + }, + "autoload": { + "classmap": [ + "PHPCSUtils/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Juliette Reinders Folmer", + "homepage": "https://github.com/jrfnl", + "role": "lead" + }, + { + "name": "Contributors", + "homepage": "https://github.com/PHPCSStandards/PHPCSUtils/graphs/contributors" + } + ], + "description": "A suite of utility functions for use with PHP_CodeSniffer", + "homepage": "https://phpcsutils.com/", + "keywords": [ + "PHP_CodeSniffer", + "phpcbf", + "phpcodesniffer-standard", + "phpcs", + "phpcs3", + "standards", + "static analysis", + "tokens", + "utility" + ], + "support": { + "docs": "https://phpcsutils.com/", + "issues": "https://github.com/PHPCSStandards/PHPCSUtils/issues", + "security": "https://github.com/PHPCSStandards/PHPCSUtils/security/policy", + "source": "https://github.com/PHPCSStandards/PHPCSUtils" + }, + "funding": [ + { + "url": "https://github.com/PHPCSStandards", + "type": "github" + }, + { + "url": "https://github.com/jrfnl", + "type": "github" + }, + { + "url": "https://opencollective.com/php_codesniffer", + "type": "open_collective" + } + ], + "time": "2024-05-20T13:34:27+00:00" + }, + { + "name": "psr/container", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "shasum": "" + }, + "require": { + "php": ">=7.4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/2.0.2" + }, + "time": "2021-11-05T16:47:00+00:00" + }, + { + "name": "psr/log", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/3.0.2" + }, + "time": "2024-09-11T13:17:53+00:00" + }, + { + "name": "react/promise", + "version": "v3.2.0", + "source": { + "type": "git", + "url": "https://github.com/reactphp/promise.git", + "reference": "8a164643313c71354582dc850b42b33fa12a4b63" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/reactphp/promise/zipball/8a164643313c71354582dc850b42b33fa12a4b63", + "reference": "8a164643313c71354582dc850b42b33fa12a4b63", + "shasum": "" + }, + "require": { + "php": ">=7.1.0" + }, + "require-dev": { + "phpstan/phpstan": "1.10.39 || 1.4.10", + "phpunit/phpunit": "^9.6 || ^7.5" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "React\\Promise\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" + } + ], + "description": "A lightweight implementation of CommonJS Promises/A for PHP", + "keywords": [ + "promise", + "promises" + ], + "support": { + "issues": "https://github.com/reactphp/promise/issues", + "source": "https://github.com/reactphp/promise/tree/v3.2.0" + }, + "funding": [ + { + "url": "https://opencollective.com/reactphp", + "type": "open_collective" + } + ], + "time": "2024-05-24T10:39:05+00:00" + }, + { + "name": "seld/jsonlint", + "version": "1.11.0", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/jsonlint.git", + "reference": "1748aaf847fc731cfad7725aec413ee46f0cc3a2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/1748aaf847fc731cfad7725aec413ee46f0cc3a2", + "reference": "1748aaf847fc731cfad7725aec413ee46f0cc3a2", + "shasum": "" + }, + "require": { + "php": "^5.3 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.11", + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^8.5.13" + }, + "bin": [ + "bin/jsonlint" + ], + "type": "library", + "autoload": { + "psr-4": { + "Seld\\JsonLint\\": "src/Seld/JsonLint/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "https://seld.be" + } + ], + "description": "JSON Linter", + "keywords": [ + "json", + "linter", + "parser", + "validator" + ], + "support": { + "issues": "https://github.com/Seldaek/jsonlint/issues", + "source": "https://github.com/Seldaek/jsonlint/tree/1.11.0" + }, + "funding": [ + { + "url": "https://github.com/Seldaek", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/seld/jsonlint", + "type": "tidelift" + } + ], + "time": "2024-07-11T14:55:45+00:00" + }, + { + "name": "seld/phar-utils", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/phar-utils.git", + "reference": "ea2f4014f163c1be4c601b9b7bd6af81ba8d701c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/ea2f4014f163c1be4c601b9b7bd6af81ba8d701c", + "reference": "ea2f4014f163c1be4c601b9b7bd6af81ba8d701c", + "shasum": "" + }, + "require": { + "php": ">=5.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Seld\\PharUtils\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be" + } + ], + "description": "PHAR file format utilities, for when PHP phars you up", + "keywords": [ + "phar" + ], + "support": { + "issues": "https://github.com/Seldaek/phar-utils/issues", + "source": "https://github.com/Seldaek/phar-utils/tree/1.2.1" + }, + "time": "2022-08-31T10:31:18+00:00" + }, + { + "name": "seld/signal-handler", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/signal-handler.git", + "reference": "04a6112e883ad76c0ada8e4a9f7520bbfdb6bb98" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/signal-handler/zipball/04a6112e883ad76c0ada8e4a9f7520bbfdb6bb98", + "reference": "04a6112e883ad76c0ada8e4a9f7520bbfdb6bb98", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "require-dev": { + "phpstan/phpstan": "^1", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-phpunit": "^1", + "phpstan/phpstan-strict-rules": "^1.3", + "phpunit/phpunit": "^7.5.20 || ^8.5.23", + "psr/log": "^1 || ^2 || ^3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Seld\\Signal\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Simple unix signal handler that silently fails where signals are not supported for easy cross-platform development", + "keywords": [ + "posix", + "sigint", + "signal", + "sigterm", + "unix" + ], + "support": { + "issues": "https://github.com/Seldaek/signal-handler/issues", + "source": "https://github.com/Seldaek/signal-handler/tree/2.0.2" + }, + "time": "2023-09-03T09:24:00+00:00" + }, + { + "name": "squizlabs/php_codesniffer", + "version": "3.11.2", + "source": { + "type": "git", + "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git", + "reference": "1368f4a58c3c52114b86b1abe8f4098869cb0079" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/1368f4a58c3c52114b86b1abe8f4098869cb0079", + "reference": "1368f4a58c3c52114b86b1abe8f4098869cb0079", + "shasum": "" + }, + "require": { + "ext-simplexml": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.3.4" + }, + "bin": [ + "bin/phpcbf", + "bin/phpcs" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Greg Sherwood", + "role": "Former lead" + }, + { + "name": "Juliette Reinders Folmer", + "role": "Current lead" + }, + { + "name": "Contributors", + "homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer/graphs/contributors" + } + ], + "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", + "homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer", + "keywords": [ + "phpcs", + "standards", + "static analysis" + ], + "support": { + "issues": "https://github.com/PHPCSStandards/PHP_CodeSniffer/issues", + "security": "https://github.com/PHPCSStandards/PHP_CodeSniffer/security/policy", + "source": "https://github.com/PHPCSStandards/PHP_CodeSniffer", + "wiki": "https://github.com/PHPCSStandards/PHP_CodeSniffer/wiki" + }, + "funding": [ + { + "url": "https://github.com/PHPCSStandards", + "type": "github" + }, + { + "url": "https://github.com/jrfnl", + "type": "github" + }, + { + "url": "https://opencollective.com/php_codesniffer", + "type": "open_collective" + } + ], + "time": "2024-12-11T16:04:26+00:00" + }, + { + "name": "symfony/console", + "version": "v7.2.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "fefcc18c0f5d0efe3ab3152f15857298868dc2c3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/fefcc18c0f5d0efe3ab3152f15857298868dc2c3", + "reference": "fefcc18c0f5d0efe3ab3152f15857298868dc2c3", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/polyfill-mbstring": "~1.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/string": "^6.4|^7.0" + }, + "conflict": { + "symfony/dependency-injection": "<6.4", + "symfony/dotenv": "<6.4", + "symfony/event-dispatcher": "<6.4", + "symfony/lock": "<6.4", + "symfony/process": "<6.4" + }, + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/event-dispatcher": "^6.4|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/lock": "^6.4|^7.0", + "symfony/messenger": "^6.4|^7.0", + "symfony/process": "^6.4|^7.0", + "symfony/stopwatch": "^6.4|^7.0", + "symfony/var-dumper": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Eases the creation of beautiful and testable command line interfaces", + "homepage": "https://symfony.com", + "keywords": [ + "cli", + "command-line", + "console", + "terminal" + ], + "support": { + "source": "https://github.com/symfony/console/tree/v7.2.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-12-11T03:49:26+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v3.5.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6", + "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.5-dev" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-25T14:20:29+00:00" + }, + { + "name": "symfony/filesystem", + "version": "v7.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "b8dce482de9d7c9fe2891155035a7248ab5c7fdb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/b8dce482de9d7c9fe2891155035a7248ab5c7fdb", + "reference": "b8dce482de9d7c9fe2891155035a7248ab5c7fdb", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.8" + }, + "require-dev": { + "symfony/process": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides basic utilities for the filesystem", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/filesystem/tree/v7.2.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-10-25T15:15:23+00:00" + }, + { + "name": "symfony/finder", + "version": "v7.2.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "87a71856f2f56e4100373e92529eed3171695cfb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/87a71856f2f56e4100373e92529eed3171695cfb", + "reference": "87a71856f2f56e4100373e92529eed3171695cfb", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "symfony/filesystem": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Finds files and directories via an intuitive fluent interface", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/finder/tree/v7.2.2" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-12-30T19:00:17+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.31.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "provide": { + "ext-ctype": "*" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.31.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.31.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe", + "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's grapheme_* functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "grapheme", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.31.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "3833d7255cc303546435cb650316bff708a1c75c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c", + "reference": "3833d7255cc303546435cb650316bff708a1c75c", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's Normalizer class and related functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.31.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341", + "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-php73", + "version": "v1.31.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php73.git", + "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/0f68c03565dcaaf25a890667542e8bd75fe7e5bb", + "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php73\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php73/tree/v1.31.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.31.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", + "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-php81", + "version": "v1.31.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php81.git", + "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", + "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php81\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php81/tree/v1.31.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/process", + "version": "v7.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "d34b22ba9390ec19d2dd966c40aa9e8462f27a7e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/d34b22ba9390ec19d2dd966c40aa9e8462f27a7e", + "reference": "d34b22ba9390ec19d2dd966c40aa9e8462f27a7e", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Executes commands in sub-processes", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/process/tree/v7.2.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-11-06T14:24:19+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v3.5.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/e53260aabf78fb3d63f8d79d69ece59f80d5eda0", + "reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/container": "^1.1|^2.0", + "symfony/deprecation-contracts": "^2.5|^3" + }, + "conflict": { + "ext-psr": "<1.1|>=2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.5-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/service-contracts/tree/v3.5.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-25T14:20:29+00:00" + }, + { + "name": "symfony/string", + "version": "v7.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "446e0d146f991dde3e73f45f2c97a9faad773c82" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/446e0d146f991dde3e73f45f2c97a9faad773c82", + "reference": "446e0d146f991dde3e73f45f2c97a9faad773c82", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/translation-contracts": "<2.5" + }, + "require-dev": { + "symfony/emoji": "^7.1", + "symfony/error-handler": "^6.4|^7.0", + "symfony/http-client": "^6.4|^7.0", + "symfony/intl": "^6.4|^7.0", + "symfony/translation-contracts": "^2.5|^3.0", + "symfony/var-exporter": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "homepage": "https://symfony.com", + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "support": { + "source": "https://github.com/symfony/string/tree/v7.2.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-11-13T13:31:26+00:00" + }, + { + "name": "wp-cli/cache-command", + "version": "v2.1.3", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/cache-command.git", + "reference": "1dbb59e5ed126b9a2fa9d521d29910f3f4eb0f97" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/cache-command/zipball/1dbb59e5ed126b9a2fa9d521d29910f3f4eb0f97", + "reference": "1dbb59e5ed126b9a2fa9d521d29910f3f4eb0f97", + "shasum": "" + }, + "require": { + "wp-cli/wp-cli": "^2.5" + }, + "require-dev": { + "wp-cli/entity-command": "^1.3 || ^2", + "wp-cli/wp-cli-tests": "^4" + }, + "type": "wp-cli-package", + "extra": { + "bundled": true, + "commands": [ + "cache", + "cache add", + "cache decr", + "cache delete", + "cache flush", + "cache flush-group", + "cache get", + "cache incr", + "cache replace", + "cache set", + "cache supports", + "cache type", + "transient", + "transient delete", + "transient get", + "transient set", + "transient type", + "transient list" + ], + "branch-alias": { + "dev-main": "2.x-dev" + } + }, + "autoload": { + "files": [ + "cache-command.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Manages object and transient caches.", + "homepage": "https://github.com/wp-cli/cache-command", + "support": { + "issues": "https://github.com/wp-cli/cache-command/issues", + "source": "https://github.com/wp-cli/cache-command/tree/v2.1.3" + }, + "time": "2024-04-26T14:54:22+00:00" + }, + { + "name": "wp-cli/checksum-command", + "version": "v2.3.0", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/checksum-command.git", + "reference": "bc82cfb0b1e24eec99cd1bfa515a62c63bd46936" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/checksum-command/zipball/bc82cfb0b1e24eec99cd1bfa515a62c63bd46936", + "reference": "bc82cfb0b1e24eec99cd1bfa515a62c63bd46936", + "shasum": "" + }, + "require": { + "wp-cli/wp-cli": "^2.5" + }, + "require-dev": { + "wp-cli/extension-command": "^1.2 || ^2", + "wp-cli/wp-cli-tests": "^4" + }, + "type": "wp-cli-package", + "extra": { + "bundled": true, + "commands": [ + "core verify-checksums", + "plugin verify-checksums" + ], + "branch-alias": { + "dev-main": "2.x-dev" + } + }, + "autoload": { + "files": [ + "checksum-command.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Verifies file integrity by comparing to published checksums.", + "homepage": "https://github.com/wp-cli/checksum-command", + "support": { + "issues": "https://github.com/wp-cli/checksum-command/issues", + "source": "https://github.com/wp-cli/checksum-command/tree/v2.3.0" + }, + "time": "2024-10-01T21:53:46+00:00" + }, + { + "name": "wp-cli/config-command", + "version": "v2.3.7", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/config-command.git", + "reference": "effb7898bc6ffdaf8a0666432f3c8e35b715858e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/config-command/zipball/effb7898bc6ffdaf8a0666432f3c8e35b715858e", + "reference": "effb7898bc6ffdaf8a0666432f3c8e35b715858e", + "shasum": "" + }, + "require": { + "wp-cli/wp-cli": "^2.5", + "wp-cli/wp-config-transformer": "^1.4.0" + }, + "require-dev": { + "wp-cli/db-command": "^1.3 || ^2", + "wp-cli/wp-cli-tests": "^4.2.8" + }, + "type": "wp-cli-package", + "extra": { + "bundled": true, + "commands": [ + "config", + "config edit", + "config delete", + "config create", + "config get", + "config has", + "config is-true", + "config list", + "config path", + "config set", + "config shuffle-salts" + ], + "branch-alias": { + "dev-main": "2.x-dev" + } + }, + "autoload": { + "files": [ + "config-command.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + }, + { + "name": "Alain Schlesser", + "email": "alain.schlesser@gmail.com", + "homepage": "https://www.alainschlesser.com" + } + ], + "description": "Generates and reads the wp-config.php file.", + "homepage": "https://github.com/wp-cli/config-command", + "support": { + "issues": "https://github.com/wp-cli/config-command/issues", + "source": "https://github.com/wp-cli/config-command/tree/v2.3.7" + }, + "time": "2024-10-01T10:19:18+00:00" + }, + { + "name": "wp-cli/core-command", + "version": "v2.1.18", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/core-command.git", + "reference": "f7580f93fe66a5584fa7b7c42bd2c0c1435c9d2e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/core-command/zipball/f7580f93fe66a5584fa7b7c42bd2c0c1435c9d2e", + "reference": "f7580f93fe66a5584fa7b7c42bd2c0c1435c9d2e", + "shasum": "" + }, + "require": { + "composer/semver": "^1.4 || ^2 || ^3", + "wp-cli/wp-cli": "^2.5.1" + }, + "require-dev": { + "wp-cli/checksum-command": "^1 || ^2", + "wp-cli/db-command": "^1.3 || ^2", + "wp-cli/entity-command": "^1.3 || ^2", + "wp-cli/extension-command": "^1.2 || ^2", + "wp-cli/wp-cli-tests": "^4" + }, + "type": "wp-cli-package", + "extra": { + "bundled": true, + "commands": [ + "core", + "core check-update", + "core download", + "core install", + "core is-installed", + "core multisite-convert", + "core multisite-install", + "core update", + "core update-db", + "core version" + ], + "branch-alias": { + "dev-main": "2.x-dev" + } + }, + "autoload": { + "files": [ + "core-command.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Downloads, installs, updates, and manages a WordPress installation.", + "homepage": "https://github.com/wp-cli/core-command", + "support": { + "issues": "https://github.com/wp-cli/core-command/issues", + "source": "https://github.com/wp-cli/core-command/tree/v2.1.18" + }, + "time": "2024-04-12T09:36:36+00:00" + }, + { + "name": "wp-cli/cron-command", + "version": "v2.3.1", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/cron-command.git", + "reference": "46f849f2f0ba859c6acd356eefc76769c8381ae5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/cron-command/zipball/46f849f2f0ba859c6acd356eefc76769c8381ae5", + "reference": "46f849f2f0ba859c6acd356eefc76769c8381ae5", + "shasum": "" + }, + "require": { + "wp-cli/wp-cli": "^2.5" + }, + "require-dev": { + "wp-cli/entity-command": "^1.3 || ^2", + "wp-cli/eval-command": "^2.0", + "wp-cli/server-command": "^2.0", + "wp-cli/wp-cli-tests": "^4" + }, + "type": "wp-cli-package", + "extra": { + "bundled": true, + "commands": [ + "cron", + "cron test", + "cron event", + "cron event delete", + "cron event list", + "cron event run", + "cron event schedule", + "cron schedule", + "cron schedule list", + "cron event unschedule" + ], + "branch-alias": { + "dev-main": "2.x-dev" + } + }, + "autoload": { + "files": [ + "cron-command.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Tests, runs, and deletes WP-Cron events; manages WP-Cron schedules.", + "homepage": "https://github.com/wp-cli/cron-command", + "support": { + "issues": "https://github.com/wp-cli/cron-command/issues", + "source": "https://github.com/wp-cli/cron-command/tree/v2.3.1" + }, + "time": "2024-10-01T10:30:28+00:00" + }, + { + "name": "wp-cli/db-command", + "version": "v2.1.2", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/db-command.git", + "reference": "d4c0dd25ec8b3d0118a2400cf6b87e8d08b77c43" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/db-command/zipball/d4c0dd25ec8b3d0118a2400cf6b87e8d08b77c43", + "reference": "d4c0dd25ec8b3d0118a2400cf6b87e8d08b77c43", + "shasum": "" + }, + "require": { + "wp-cli/wp-cli": "^2.5" + }, + "require-dev": { + "wp-cli/entity-command": "^1.3 || ^2", + "wp-cli/wp-cli-tests": "^4" + }, + "type": "wp-cli-package", + "extra": { + "bundled": true, + "commands": [ + "db", + "db clean", + "db create", + "db drop", + "db reset", + "db check", + "db optimize", + "db prefix", + "db repair", + "db cli", + "db query", + "db export", + "db import", + "db search", + "db tables", + "db size", + "db columns" + ], + "branch-alias": { + "dev-main": "2.x-dev" + } + }, + "autoload": { + "files": [ + "db-command.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Performs basic database operations using credentials stored in wp-config.php.", + "homepage": "https://github.com/wp-cli/db-command", + "support": { + "issues": "https://github.com/wp-cli/db-command/issues", + "source": "https://github.com/wp-cli/db-command/tree/v2.1.2" + }, + "time": "2024-10-01T10:48:48+00:00" + }, + { + "name": "wp-cli/embed-command", + "version": "v2.0.17", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/embed-command.git", + "reference": "ece56cafcb8ef0a05dac9e41b5ab852ecd57b02c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/embed-command/zipball/ece56cafcb8ef0a05dac9e41b5ab852ecd57b02c", + "reference": "ece56cafcb8ef0a05dac9e41b5ab852ecd57b02c", + "shasum": "" + }, + "require": { + "wp-cli/wp-cli": "^2.5" + }, + "require-dev": { + "wp-cli/entity-command": "^1.3 || ^2", + "wp-cli/wp-cli-tests": "^4" + }, + "type": "wp-cli-package", + "extra": { + "bundled": true, + "commands": [ + "embed", + "embed fetch", + "embed provider", + "embed provider list", + "embed provider match", + "embed handler", + "embed handler list", + "embed cache", + "embed cache clear", + "embed cache find", + "embed cache trigger" + ], + "branch-alias": { + "dev-main": "2.x-dev" + } + }, + "autoload": { + "files": [ + "embed-command.php" + ], + "psr-4": { + "WP_CLI\\Embeds\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Pascal Birchler", + "homepage": "https://pascalbirchler.com/" + } + ], + "description": "Inspects oEmbed providers, clears embed cache, and more.", + "homepage": "https://github.com/wp-cli/embed-command", + "support": { + "issues": "https://github.com/wp-cli/embed-command/issues", + "source": "https://github.com/wp-cli/embed-command/tree/v2.0.17" + }, + "time": "2024-10-01T10:30:42+00:00" + }, + { + "name": "wp-cli/entity-command", + "version": "v2.8.2", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/entity-command.git", + "reference": "9dad0753ecba347d5fbdb6b80d01e38768bca4ea" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/entity-command/zipball/9dad0753ecba347d5fbdb6b80d01e38768bca4ea", + "reference": "9dad0753ecba347d5fbdb6b80d01e38768bca4ea", + "shasum": "" + }, + "require": { + "wp-cli/wp-cli": "^2.11" + }, + "require-dev": { + "wp-cli/cache-command": "^1 || ^2", + "wp-cli/db-command": "^1.3 || ^2", + "wp-cli/extension-command": "^1.2 || ^2", + "wp-cli/media-command": "^1.1 || ^2", + "wp-cli/super-admin-command": "^1 || ^2", + "wp-cli/wp-cli-tests": "^4" + }, + "type": "wp-cli-package", + "extra": { + "bundled": true, + "commands": [ + "comment", + "comment approve", + "comment count", + "comment create", + "comment delete", + "comment exists", + "comment generate", + "comment get", + "comment list", + "comment meta", + "comment meta add", + "comment meta delete", + "comment meta get", + "comment meta list", + "comment meta patch", + "comment meta pluck", + "comment meta update", + "comment recount", + "comment spam", + "comment status", + "comment trash", + "comment unapprove", + "comment unspam", + "comment untrash", + "comment update", + "menu", + "menu create", + "menu delete", + "menu item", + "menu item add-custom", + "menu item add-post", + "menu item add-term", + "menu item delete", + "menu item list", + "menu item update", + "menu list", + "menu location", + "menu location assign", + "menu location list", + "menu location remove", + "network meta", + "network meta add", + "network meta delete", + "network meta get", + "network meta list", + "network meta patch", + "network meta pluck", + "network meta update", + "option", + "option add", + "option delete", + "option get", + "option list", + "option patch", + "option pluck", + "option update", + "option set-autoload", + "option get-autoload", + "post", + "post create", + "post delete", + "post edit", + "post exists", + "post generate", + "post get", + "post list", + "post meta", + "post meta add", + "post meta clean-duplicates", + "post meta delete", + "post meta get", + "post meta list", + "post meta patch", + "post meta pluck", + "post meta update", + "post term", + "post term add", + "post term list", + "post term remove", + "post term set", + "post update", + "post url-to-id", + "post-type", + "post-type get", + "post-type list", + "site", + "site activate", + "site archive", + "site create", + "site generate", + "site deactivate", + "site delete", + "site empty", + "site list", + "site mature", + "site meta", + "site meta add", + "site meta delete", + "site meta get", + "site meta list", + "site meta patch", + "site meta pluck", + "site meta update", + "site option", + "site private", + "site public", + "site spam", + "site unarchive", + "site unmature", + "site unspam", + "taxonomy", + "taxonomy get", + "taxonomy list", + "term", + "term create", + "term delete", + "term generate", + "term get", + "term list", + "term meta", + "term meta add", + "term meta delete", + "term meta get", + "term meta list", + "term meta patch", + "term meta pluck", + "term meta update", + "term recount", + "term update", + "user", + "user add-cap", + "user add-role", + "user application-password", + "user application-password create", + "user application-password delete", + "user application-password exists", + "user application-password get", + "user application-password list", + "user application-password record-usage", + "user application-password update", + "user create", + "user delete", + "user exists", + "user generate", + "user get", + "user import-csv", + "user list", + "user list-caps", + "user meta", + "user meta add", + "user meta delete", + "user meta get", + "user meta list", + "user meta patch", + "user meta pluck", + "user meta update", + "user remove-cap", + "user remove-role", + "user reset-password", + "user session", + "user session destroy", + "user session list", + "user set-role", + "user signup", + "user signup activate", + "user signup delete", + "user signup get", + "user signup list", + "user spam", + "user term", + "user term add", + "user term list", + "user term remove", + "user term set", + "user unspam", + "user update" + ], + "branch-alias": { + "dev-main": "2.x-dev" + } + }, + "autoload": { + "files": [ + "entity-command.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Manage WordPress comments, menus, options, posts, sites, terms, and users.", + "homepage": "https://github.com/wp-cli/entity-command", + "support": { + "issues": "https://github.com/wp-cli/entity-command/issues", + "source": "https://github.com/wp-cli/entity-command/tree/v2.8.2" + }, + "time": "2024-10-01T10:44:33+00:00" + }, + { + "name": "wp-cli/eval-command", + "version": "v2.2.5", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/eval-command.git", + "reference": "1fd2dc9ae74f5fcde7a9b861a1073d6f19952b74" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/eval-command/zipball/1fd2dc9ae74f5fcde7a9b861a1073d6f19952b74", + "reference": "1fd2dc9ae74f5fcde7a9b861a1073d6f19952b74", + "shasum": "" + }, + "require": { + "wp-cli/wp-cli": "^2.5" + }, + "require-dev": { + "wp-cli/wp-cli-tests": "^4" + }, + "type": "wp-cli-package", + "extra": { + "bundled": true, + "commands": [ + "eval", + "eval-file" + ], + "branch-alias": { + "dev-main": "2.x-dev" + } + }, + "autoload": { + "files": [ + "eval-command.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Executes arbitrary PHP code or files.", + "homepage": "https://github.com/wp-cli/eval-command", + "support": { + "issues": "https://github.com/wp-cli/eval-command/issues", + "source": "https://github.com/wp-cli/eval-command/tree/v2.2.5" + }, + "time": "2024-10-01T10:30:51+00:00" + }, + { + "name": "wp-cli/export-command", + "version": "v2.1.13", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/export-command.git", + "reference": "eeafa03095b80d2648d1a67b00c688be9d418aff" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/export-command/zipball/eeafa03095b80d2648d1a67b00c688be9d418aff", + "reference": "eeafa03095b80d2648d1a67b00c688be9d418aff", + "shasum": "" + }, + "require": { + "nb/oxymel": "~0.1.0", + "wp-cli/wp-cli": "^2.5" + }, + "require-dev": { + "wp-cli/db-command": "^1.3 || ^2", + "wp-cli/entity-command": "^1.3 || ^2", + "wp-cli/extension-command": "^1.2 || ^2", + "wp-cli/import-command": "^1 || ^2", + "wp-cli/media-command": "^1 || ^2", + "wp-cli/wp-cli-tests": "^4" + }, + "type": "wp-cli-package", + "extra": { + "bundled": true, + "commands": [ + "export" + ], + "branch-alias": { + "dev-main": "2.x-dev" + } + }, + "autoload": { + "files": [ + "export-command.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Exports WordPress content to a WXR file.", + "homepage": "https://github.com/wp-cli/export-command", + "support": { + "issues": "https://github.com/wp-cli/export-command/issues", + "source": "https://github.com/wp-cli/export-command/tree/v2.1.13" + }, + "time": "2024-10-01T10:31:03+00:00" + }, + { + "name": "wp-cli/extension-command", + "version": "v2.1.23", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/extension-command.git", + "reference": "c307a11e7ea078cfd52177eefeef9906aa69edcd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/extension-command/zipball/c307a11e7ea078cfd52177eefeef9906aa69edcd", + "reference": "c307a11e7ea078cfd52177eefeef9906aa69edcd", + "shasum": "" + }, + "require": { + "composer/semver": "^1.4 || ^2 || ^3", + "wp-cli/wp-cli": "^2.10" + }, + "require-dev": { + "wp-cli/cache-command": "^2.0", + "wp-cli/entity-command": "^1.3 || ^2", + "wp-cli/language-command": "^2.0", + "wp-cli/scaffold-command": "^1.2 || ^2", + "wp-cli/wp-cli-tests": "^4" + }, + "type": "wp-cli-package", + "extra": { + "bundled": true, + "commands": [ + "plugin", + "plugin activate", + "plugin deactivate", + "plugin delete", + "plugin get", + "plugin install", + "plugin is-installed", + "plugin list", + "plugin path", + "plugin search", + "plugin status", + "plugin toggle", + "plugin uninstall", + "plugin update", + "theme", + "theme activate", + "theme delete", + "theme disable", + "theme enable", + "theme get", + "theme install", + "theme is-installed", + "theme list", + "theme mod", + "theme mod get", + "theme mod set", + "theme mod remove", + "theme path", + "theme search", + "theme status", + "theme update", + "theme mod list" + ], + "branch-alias": { + "dev-main": "2.x-dev" + } + }, + "autoload": { + "files": [ + "extension-command.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + }, + { + "name": "Alain Schlesser", + "email": "alain.schlesser@gmail.com", + "homepage": "https://www.alainschlesser.com" + } + ], + "description": "Manages plugins and themes, including installs, activations, and updates.", + "homepage": "https://github.com/wp-cli/extension-command", + "support": { + "issues": "https://github.com/wp-cli/extension-command/issues", + "source": "https://github.com/wp-cli/extension-command/tree/v2.1.23" + }, + "time": "2024-10-01T10:44:18+00:00" + }, + { + "name": "wp-cli/i18n-command", + "version": "v2.6.3", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/i18n-command.git", + "reference": "065bb3758fcbff922f1b7a01ab702aab0da79803" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/i18n-command/zipball/065bb3758fcbff922f1b7a01ab702aab0da79803", + "reference": "065bb3758fcbff922f1b7a01ab702aab0da79803", + "shasum": "" + }, + "require": { + "eftec/bladeone": "3.52", + "gettext/gettext": "^4.8", + "mck89/peast": "^1.13.11", + "wp-cli/wp-cli": "^2.5" + }, + "require-dev": { + "wp-cli/scaffold-command": "^1.2 || ^2", + "wp-cli/wp-cli-tests": "^4" + }, + "suggest": { + "ext-json": "Used for reading and generating JSON translation files", + "ext-mbstring": "Used for calculating include/exclude matches in code extraction" + }, + "type": "wp-cli-package", + "extra": { + "bundled": true, + "commands": [ + "i18n", + "i18n make-pot", + "i18n make-json", + "i18n make-mo", + "i18n make-php", + "i18n update-po" + ], + "branch-alias": { + "dev-main": "2.x-dev" + } + }, + "autoload": { + "files": [ + "i18n-command.php" + ], + "psr-4": { + "WP_CLI\\I18n\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Pascal Birchler", + "homepage": "https://pascalbirchler.com/" + } + ], + "description": "Provides internationalization tools for WordPress projects.", + "homepage": "https://github.com/wp-cli/i18n-command", + "support": { + "issues": "https://github.com/wp-cli/i18n-command/issues", + "source": "https://github.com/wp-cli/i18n-command/tree/v2.6.3" + }, + "time": "2024-10-01T11:16:25+00:00" + }, + { + "name": "wp-cli/import-command", + "version": "v2.0.13", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/import-command.git", + "reference": "22f32451046c1d8e7963ff96d95942af14fbb4e9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/import-command/zipball/22f32451046c1d8e7963ff96d95942af14fbb4e9", + "reference": "22f32451046c1d8e7963ff96d95942af14fbb4e9", + "shasum": "" + }, + "require": { + "wp-cli/wp-cli": "^2.5" + }, + "require-dev": { + "wp-cli/entity-command": "^1.3 || ^2", + "wp-cli/export-command": "^1 || ^2", + "wp-cli/extension-command": "^1.2 || ^2", + "wp-cli/wp-cli-tests": "^4" + }, + "type": "wp-cli-package", + "extra": { + "bundled": true, + "commands": [ + "import" + ], + "branch-alias": { + "dev-main": "2.x-dev" + } + }, + "autoload": { + "files": [ + "import-command.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Imports content from a given WXR file.", + "homepage": "https://github.com/wp-cli/import-command", + "support": { + "issues": "https://github.com/wp-cli/import-command/issues", + "source": "https://github.com/wp-cli/import-command/tree/v2.0.13" + }, + "time": "2024-10-01T10:44:58+00:00" + }, + { + "name": "wp-cli/language-command", + "version": "v2.0.22", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/language-command.git", + "reference": "27db28eca5f7627c7fbd8da82c6c51eb05e7858e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/language-command/zipball/27db28eca5f7627c7fbd8da82c6c51eb05e7858e", + "reference": "27db28eca5f7627c7fbd8da82c6c51eb05e7858e", + "shasum": "" + }, + "require": { + "wp-cli/wp-cli": "^2.5" + }, + "require-dev": { + "wp-cli/db-command": "^1.3 || ^2", + "wp-cli/entity-command": "^1.3 || ^2", + "wp-cli/extension-command": "^1.2 || ^2", + "wp-cli/wp-cli-tests": "^4" + }, + "type": "wp-cli-package", + "extra": { + "bundled": true, + "commands": [ + "language", + "language core", + "language core activate", + "language core is-installed", + "language core install", + "language core list", + "language core uninstall", + "language core update", + "language plugin", + "language plugin is-installed", + "language plugin install", + "language plugin list", + "language plugin uninstall", + "language plugin update", + "language theme", + "language theme is-installed", + "language theme install", + "language theme list", + "language theme uninstall", + "language theme update", + "site switch-language" + ], + "branch-alias": { + "dev-main": "2.x-dev" + } + }, + "autoload": { + "files": [ + "language-command.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Installs, activates, and manages language packs.", + "homepage": "https://github.com/wp-cli/language-command", + "support": { + "issues": "https://github.com/wp-cli/language-command/issues", + "source": "https://github.com/wp-cli/language-command/tree/v2.0.22" + }, + "time": "2024-10-01T10:45:06+00:00" + }, + { + "name": "wp-cli/maintenance-mode-command", + "version": "v2.1.2", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/maintenance-mode-command.git", + "reference": "d560d7f42fb21e1fc182d69e0cdf06c69891791d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/maintenance-mode-command/zipball/d560d7f42fb21e1fc182d69e0cdf06c69891791d", + "reference": "d560d7f42fb21e1fc182d69e0cdf06c69891791d", + "shasum": "" + }, + "require": { + "wp-cli/wp-cli": "^2.5" + }, + "require-dev": { + "wp-cli/wp-cli-tests": "^4" + }, + "type": "wp-cli-package", + "extra": { + "bundled": true, + "commands": [ + "maintenance-mode", + "maintenance-mode activate", + "maintenance-mode deactivate", + "maintenance-mode status", + "maintenance-mode is-active" + ], + "branch-alias": { + "dev-main": "2.x-dev" + } + }, + "autoload": { + "files": [ + "maintenance-mode-command.php" + ], + "psr-4": { + "WP_CLI\\MaintenanceMode\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Thrijith Thankachan", + "email": "thrijith13@gmail.com", + "homepage": "https://thrijith.com" + } + ], + "description": "Activates, deactivates or checks the status of the maintenance mode of a site.", + "homepage": "https://github.com/wp-cli/maintenance-mode-command", + "support": { + "issues": "https://github.com/wp-cli/maintenance-mode-command/issues", + "source": "https://github.com/wp-cli/maintenance-mode-command/tree/v2.1.2" + }, + "time": "2024-10-01T10:45:18+00:00" + }, + { + "name": "wp-cli/media-command", + "version": "v2.2.1", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/media-command.git", + "reference": "5e2d34d7d01c87d1f50b4838512b3501f5ca6f9a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/media-command/zipball/5e2d34d7d01c87d1f50b4838512b3501f5ca6f9a", + "reference": "5e2d34d7d01c87d1f50b4838512b3501f5ca6f9a", + "shasum": "" + }, + "require": { + "wp-cli/wp-cli": "^2.5" + }, + "require-dev": { + "wp-cli/entity-command": "^1.3 || ^2", + "wp-cli/extension-command": "^2.0", + "wp-cli/wp-cli-tests": "^4" + }, + "type": "wp-cli-package", + "extra": { + "bundled": true, + "commands": [ + "media", + "media import", + "media regenerate", + "media image-size" + ], + "branch-alias": { + "dev-main": "2.x-dev" + } + }, + "autoload": { + "files": [ + "media-command.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Imports files as attachments, regenerates thumbnails, or lists registered image sizes.", + "homepage": "https://github.com/wp-cli/media-command", + "support": { + "issues": "https://github.com/wp-cli/media-command/issues", + "source": "https://github.com/wp-cli/media-command/tree/v2.2.1" + }, + "time": "2024-10-01T10:45:30+00:00" + }, + { + "name": "wp-cli/mustangostang-spyc", + "version": "0.6.3", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/spyc.git", + "reference": "6aa0b4da69ce9e9a2c8402dab8d43cf32c581cc7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/spyc/zipball/6aa0b4da69ce9e9a2c8402dab8d43cf32c581cc7", + "reference": "6aa0b4da69ce9e9a2c8402dab8d43cf32c581cc7", + "shasum": "" + }, + "require": { + "php": ">=5.3.1" + }, + "require-dev": { + "phpunit/phpunit": "4.3.*@dev" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.5.x-dev" + } + }, + "autoload": { + "files": [ + "includes/functions.php" + ], + "psr-4": { + "Mustangostang\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "mustangostang", + "email": "vlad.andersen@gmail.com" + } + ], + "description": "A simple YAML loader/dumper class for PHP (WP-CLI fork)", + "homepage": "https://github.com/mustangostang/spyc/", + "support": { + "source": "https://github.com/wp-cli/spyc/tree/autoload" + }, + "time": "2017-04-25T11:26:20+00:00" + }, + { + "name": "wp-cli/package-command", + "version": "v2.5.3", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/package-command.git", + "reference": "9dc4084c66547049ab863e293f427f8c0d099b18" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/package-command/zipball/9dc4084c66547049ab863e293f427f8c0d099b18", + "reference": "9dc4084c66547049ab863e293f427f8c0d099b18", + "shasum": "" + }, + "require": { + "composer/composer": "^1.10.23 || ^2.2.17", + "ext-json": "*", + "wp-cli/wp-cli": "^2.8" + }, + "require-dev": { + "wp-cli/scaffold-command": "^1 || ^2", + "wp-cli/wp-cli-tests": "^4" + }, + "type": "wp-cli-package", + "extra": { + "bundled": true, + "commands": [ + "package", + "package browse", + "package install", + "package list", + "package update", + "package uninstall" + ], + "branch-alias": { + "dev-main": "2.x-dev" + } + }, + "autoload": { + "files": [ + "package-command.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Lists, installs, and removes WP-CLI packages.", + "homepage": "https://github.com/wp-cli/package-command", + "support": { + "issues": "https://github.com/wp-cli/package-command/issues", + "source": "https://github.com/wp-cli/package-command/tree/v2.5.3" + }, + "time": "2024-10-01T11:13:44+00:00" + }, + { + "name": "wp-cli/php-cli-tools", + "version": "v0.11.22", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/php-cli-tools.git", + "reference": "a6bb94664ca36d0962f9c2ff25591c315a550c51" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/php-cli-tools/zipball/a6bb94664ca36d0962f9c2ff25591c315a550c51", + "reference": "a6bb94664ca36d0962f9c2ff25591c315a550c51", + "shasum": "" + }, + "require": { + "php": ">= 5.3.0" + }, + "require-dev": { + "roave/security-advisories": "dev-latest", + "wp-cli/wp-cli-tests": "^4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.11.x-dev" + } + }, + "autoload": { + "files": [ + "lib/cli/cli.php" + ], + "psr-0": { + "cli": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@handbuilt.co", + "role": "Maintainer" + }, + { + "name": "James Logsdon", + "email": "jlogsdon@php.net", + "role": "Developer" + } + ], + "description": "Console utilities for PHP", + "homepage": "http://github.com/wp-cli/php-cli-tools", + "keywords": [ + "cli", + "console" + ], + "support": { + "issues": "https://github.com/wp-cli/php-cli-tools/issues", + "source": "https://github.com/wp-cli/php-cli-tools/tree/v0.11.22" + }, + "time": "2023-12-03T19:25:05+00:00" + }, + { + "name": "wp-cli/rewrite-command", + "version": "v2.0.14", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/rewrite-command.git", + "reference": "0dd0d11918eaaf2fcad5bc13646ecf266ffa83e9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/rewrite-command/zipball/0dd0d11918eaaf2fcad5bc13646ecf266ffa83e9", + "reference": "0dd0d11918eaaf2fcad5bc13646ecf266ffa83e9", + "shasum": "" + }, + "require": { + "wp-cli/wp-cli": "^2.5" + }, + "require-dev": { + "wp-cli/entity-command": "^1.3 || ^2", + "wp-cli/wp-cli-tests": "^4" + }, + "type": "wp-cli-package", + "extra": { + "bundled": true, + "commands": [ + "rewrite", + "rewrite flush", + "rewrite list", + "rewrite structure" + ], + "branch-alias": { + "dev-main": "2.x-dev" + } + }, + "autoload": { + "files": [ + "rewrite-command.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Lists or flushes the site's rewrite rules, updates the permalink structure.", + "homepage": "https://github.com/wp-cli/rewrite-command", + "support": { + "issues": "https://github.com/wp-cli/rewrite-command/issues", + "source": "https://github.com/wp-cli/rewrite-command/tree/v2.0.14" + }, + "time": "2024-10-01T10:45:45+00:00" + }, + { + "name": "wp-cli/role-command", + "version": "v2.0.15", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/role-command.git", + "reference": "f92efbf92a0bb4b34e1de9523d9cbd393d406ba2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/role-command/zipball/f92efbf92a0bb4b34e1de9523d9cbd393d406ba2", + "reference": "f92efbf92a0bb4b34e1de9523d9cbd393d406ba2", + "shasum": "" + }, + "require": { + "wp-cli/wp-cli": "^2.5" + }, + "require-dev": { + "wp-cli/wp-cli-tests": "^4" + }, + "type": "wp-cli-package", + "extra": { + "bundled": true, + "commands": [ + "role", + "role create", + "role delete", + "role exists", + "role list", + "role reset", + "cap", + "cap add", + "cap list", + "cap remove" + ], + "branch-alias": { + "dev-main": "2.x-dev" + } + }, + "autoload": { + "files": [ + "role-command.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Adds, removes, lists, and resets roles and capabilities.", + "homepage": "https://github.com/wp-cli/role-command", + "support": { + "issues": "https://github.com/wp-cli/role-command/issues", + "source": "https://github.com/wp-cli/role-command/tree/v2.0.15" + }, + "time": "2024-10-01T10:46:02+00:00" + }, + { + "name": "wp-cli/scaffold-command", + "version": "v2.4.0", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/scaffold-command.git", + "reference": "d67d8348f653d00438535ec4389ab9259ef6fb8f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/scaffold-command/zipball/d67d8348f653d00438535ec4389ab9259ef6fb8f", + "reference": "d67d8348f653d00438535ec4389ab9259ef6fb8f", + "shasum": "" + }, + "require": { + "wp-cli/wp-cli": "^2.5" + }, + "require-dev": { + "wp-cli/extension-command": "^1.2 || ^2", + "wp-cli/wp-cli-tests": "^4" + }, + "type": "wp-cli-package", + "extra": { + "bundled": true, + "commands": [ + "scaffold", + "scaffold underscores", + "scaffold block", + "scaffold child-theme", + "scaffold plugin", + "scaffold plugin-tests", + "scaffold post-type", + "scaffold taxonomy", + "scaffold theme-tests" + ], + "branch-alias": { + "dev-main": "2.x-dev" + } + }, + "autoload": { + "files": [ + "scaffold-command.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Generates code for post types, taxonomies, blocks, plugins, child themes, etc.", + "homepage": "https://github.com/wp-cli/scaffold-command", + "support": { + "issues": "https://github.com/wp-cli/scaffold-command/issues", + "source": "https://github.com/wp-cli/scaffold-command/tree/v2.4.0" + }, + "time": "2024-10-01T11:13:37+00:00" + }, + { + "name": "wp-cli/search-replace-command", + "version": "v2.1.7", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/search-replace-command.git", + "reference": "89e1653c9b888179a121a8354c75fc5e8ca7931d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/search-replace-command/zipball/89e1653c9b888179a121a8354c75fc5e8ca7931d", + "reference": "89e1653c9b888179a121a8354c75fc5e8ca7931d", + "shasum": "" + }, + "require": { + "wp-cli/wp-cli": "^2.5" + }, + "require-dev": { + "wp-cli/db-command": "^1.3 || ^2", + "wp-cli/entity-command": "^1.3 || ^2", + "wp-cli/extension-command": "^1.2 || ^2", + "wp-cli/wp-cli-tests": "^4" + }, + "type": "wp-cli-package", + "extra": { + "bundled": true, + "commands": [ + "search-replace" + ], + "branch-alias": { + "dev-main": "2.x-dev" + } + }, + "autoload": { + "files": [ + "search-replace-command.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Searches/replaces strings in the database.", + "homepage": "https://github.com/wp-cli/search-replace-command", + "support": { + "issues": "https://github.com/wp-cli/search-replace-command/issues", + "source": "https://github.com/wp-cli/search-replace-command/tree/v2.1.7" + }, + "time": "2024-06-28T09:30:38+00:00" + }, + { + "name": "wp-cli/server-command", + "version": "v2.0.14", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/server-command.git", + "reference": "012e10d3281866235cbf626f38a27169d6c6e13b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/server-command/zipball/012e10d3281866235cbf626f38a27169d6c6e13b", + "reference": "012e10d3281866235cbf626f38a27169d6c6e13b", + "shasum": "" + }, + "require": { + "wp-cli/wp-cli": "^2.5" + }, + "require-dev": { + "wp-cli/entity-command": "^2", + "wp-cli/wp-cli-tests": "^4" + }, + "type": "wp-cli-package", + "extra": { + "bundled": true, + "commands": [ + "server" + ], + "branch-alias": { + "dev-main": "2.x-dev" + } + }, + "autoload": { + "files": [ + "server-command.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Launches PHP's built-in web server for a specific WordPress installation.", + "homepage": "https://github.com/wp-cli/server-command", + "support": { + "issues": "https://github.com/wp-cli/server-command/issues", + "source": "https://github.com/wp-cli/server-command/tree/v2.0.14" + }, + "time": "2024-10-01T10:46:38+00:00" + }, + { + "name": "wp-cli/shell-command", + "version": "v2.0.15", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/shell-command.git", + "reference": "2c38ef12a912b23224c7f2abd5bc716a889340fb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/shell-command/zipball/2c38ef12a912b23224c7f2abd5bc716a889340fb", + "reference": "2c38ef12a912b23224c7f2abd5bc716a889340fb", + "shasum": "" + }, + "require": { + "wp-cli/wp-cli": "^2.5" + }, + "require-dev": { + "wp-cli/wp-cli-tests": "^4" + }, + "type": "wp-cli-package", + "extra": { + "bundled": true, + "commands": [ + "shell" + ], + "branch-alias": { + "dev-main": "2.x-dev" + } + }, + "autoload": { + "files": [ + "shell-command.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Opens an interactive PHP console for running and testing PHP code.", + "homepage": "https://github.com/wp-cli/shell-command", + "support": { + "issues": "https://github.com/wp-cli/shell-command/issues", + "source": "https://github.com/wp-cli/shell-command/tree/v2.0.15" + }, + "time": "2024-10-01T10:46:50+00:00" + }, + { + "name": "wp-cli/super-admin-command", + "version": "v2.0.15", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/super-admin-command.git", + "reference": "ecd9cee09918eb34f60c05944cc188f4916cb026" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/super-admin-command/zipball/ecd9cee09918eb34f60c05944cc188f4916cb026", + "reference": "ecd9cee09918eb34f60c05944cc188f4916cb026", + "shasum": "" + }, + "require": { + "wp-cli/wp-cli": "^2.5" + }, + "require-dev": { + "wp-cli/entity-command": "^1.3 || ^2", + "wp-cli/wp-cli-tests": "^4" + }, + "type": "wp-cli-package", + "extra": { + "bundled": true, + "commands": [ + "super-admin", + "super-admin add", + "super-admin list", + "super-admin remove" + ], + "branch-alias": { + "dev-main": "2.x-dev" + } + }, + "autoload": { + "files": [ + "super-admin-command.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Lists, adds, or removes super admin users on a multisite installation.", + "homepage": "https://github.com/wp-cli/super-admin-command", + "support": { + "issues": "https://github.com/wp-cli/super-admin-command/issues", + "source": "https://github.com/wp-cli/super-admin-command/tree/v2.0.15" + }, + "time": "2024-10-01T10:48:29+00:00" + }, + { + "name": "wp-cli/widget-command", + "version": "v2.1.11", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/widget-command.git", + "reference": "c50cd32e4e3d16bf29821ae0208b7154ef6f9031" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/widget-command/zipball/c50cd32e4e3d16bf29821ae0208b7154ef6f9031", + "reference": "c50cd32e4e3d16bf29821ae0208b7154ef6f9031", + "shasum": "" + }, + "require": { + "wp-cli/wp-cli": "^2.5" + }, + "require-dev": { + "wp-cli/extension-command": "^1.2 || ^2", + "wp-cli/wp-cli-tests": "^4" + }, + "type": "wp-cli-package", + "extra": { + "bundled": true, + "commands": [ + "widget", + "widget add", + "widget deactivate", + "widget delete", + "widget list", + "widget move", + "widget reset", + "widget update", + "sidebar", + "sidebar list" + ], + "branch-alias": { + "dev-main": "2.x-dev" + } + }, + "autoload": { + "files": [ + "widget-command.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Adds, moves, and removes widgets; lists sidebars.", + "homepage": "https://github.com/wp-cli/widget-command", + "support": { + "issues": "https://github.com/wp-cli/widget-command/issues", + "source": "https://github.com/wp-cli/widget-command/tree/v2.1.11" + }, + "time": "2024-10-01T10:48:21+00:00" + }, + { + "name": "wp-cli/wp-cli", + "version": "v2.11.0", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/wp-cli.git", + "reference": "53f0df112901fcf95099d0f501912a209429b6a9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/wp-cli/zipball/53f0df112901fcf95099d0f501912a209429b6a9", + "reference": "53f0df112901fcf95099d0f501912a209429b6a9", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "mustache/mustache": "^2.14.1", + "php": "^5.6 || ^7.0 || ^8.0", + "symfony/finder": ">2.7", + "wp-cli/mustangostang-spyc": "^0.6.3", + "wp-cli/php-cli-tools": "~0.11.2" + }, + "require-dev": { + "roave/security-advisories": "dev-latest", + "wp-cli/db-command": "^1.3 || ^2", + "wp-cli/entity-command": "^1.2 || ^2", + "wp-cli/extension-command": "^1.1 || ^2", + "wp-cli/package-command": "^1 || ^2", + "wp-cli/wp-cli-tests": "^4.0.1" + }, + "suggest": { + "ext-readline": "Include for a better --prompt implementation", + "ext-zip": "Needed to support extraction of ZIP archives when doing downloads or updates" + }, + "bin": [ + "bin/wp", + "bin/wp.bat" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.11.x-dev" + } + }, + "autoload": { + "psr-0": { + "WP_CLI\\": "php/" + }, + "classmap": [ + "php/class-wp-cli.php", + "php/class-wp-cli-command.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "WP-CLI framework", + "homepage": "https://wp-cli.org", + "keywords": [ + "cli", + "wordpress" + ], + "support": { + "docs": "https://make.wordpress.org/cli/handbook/", + "issues": "https://github.com/wp-cli/wp-cli/issues", + "source": "https://github.com/wp-cli/wp-cli" + }, + "time": "2024-08-08T03:04:55+00:00" + }, + { + "name": "wp-cli/wp-cli-bundle", + "version": "v2.11.0", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/wp-cli-bundle.git", + "reference": "f77a284ccf92023981046edf63111ab427106d05" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/wp-cli-bundle/zipball/f77a284ccf92023981046edf63111ab427106d05", + "reference": "f77a284ccf92023981046edf63111ab427106d05", + "shasum": "" + }, + "require": { + "php": ">=5.6", + "wp-cli/cache-command": "^2", + "wp-cli/checksum-command": "^2.1", + "wp-cli/config-command": "^2.1", + "wp-cli/core-command": "^2.1", + "wp-cli/cron-command": "^2", + "wp-cli/db-command": "^2", + "wp-cli/embed-command": "^2", + "wp-cli/entity-command": "^2", + "wp-cli/eval-command": "^2", + "wp-cli/export-command": "^2", + "wp-cli/extension-command": "^2.1", + "wp-cli/i18n-command": "^2", + "wp-cli/import-command": "^2", + "wp-cli/language-command": "^2", + "wp-cli/maintenance-mode-command": "^2", + "wp-cli/media-command": "^2", + "wp-cli/package-command": "^2.1", + "wp-cli/rewrite-command": "^2", + "wp-cli/role-command": "^2", + "wp-cli/scaffold-command": "^2", + "wp-cli/search-replace-command": "^2", + "wp-cli/server-command": "^2", + "wp-cli/shell-command": "^2", + "wp-cli/super-admin-command": "^2", + "wp-cli/widget-command": "^2", + "wp-cli/wp-cli": "^2.11.0" + }, + "require-dev": { + "roave/security-advisories": "dev-latest", + "wp-cli/wp-cli-tests": "^4" + }, + "suggest": { + "psy/psysh": "Enhanced `wp shell` functionality" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.11.x-dev" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "WP-CLI bundle package with default commands.", + "homepage": "https://wp-cli.org", + "keywords": [ + "cli", + "wordpress" + ], + "support": { + "docs": "https://make.wordpress.org/cli/handbook/", + "issues": "https://github.com/wp-cli/wp-cli-bundle/issues", + "source": "https://github.com/wp-cli/wp-cli-bundle" + }, + "time": "2024-08-08T03:29:34+00:00" + }, + { + "name": "wp-cli/wp-config-transformer", + "version": "v1.4.1", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/wp-config-transformer.git", + "reference": "9da378b5a4e28bba3bce4ff4ff04a54d8c9f1a01" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/wp-config-transformer/zipball/9da378b5a4e28bba3bce4ff4ff04a54d8c9f1a01", + "reference": "9da378b5a4e28bba3bce4ff4ff04a54d8c9f1a01", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0 || ^8.0" + }, + "require-dev": { + "wp-cli/wp-cli-tests": "^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.x-dev" + } + }, + "autoload": { + "files": [ + "src/WPConfigTransformer.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frankie Jarrett", + "email": "fjarrett@gmail.com" + } + ], + "description": "Programmatically edit a wp-config.php file.", + "homepage": "https://github.com/wp-cli/wp-config-transformer", + "support": { + "issues": "https://github.com/wp-cli/wp-config-transformer/issues", + "source": "https://github.com/wp-cli/wp-config-transformer/tree/v1.4.1" + }, + "time": "2024-10-16T12:50:47+00:00" }, { "name": "wp-coding-standards/wpcs", @@ -1449,10 +6073,10 @@ ], "aliases": [], "minimum-stability": "stable", - "stability-flags": [], + "stability-flags": {}, "prefer-stable": false, "prefer-lowest": false, - "platform": [], - "platform-dev": [], + "platform": {}, + "platform-dev": {}, "plugin-api-version": "2.6.0" } diff --git a/includes/Images/ImageBulkOptimizer.php b/includes/Images/ImageBulkOptimizer.php index 06d81d6..a416cd8 100644 --- a/includes/Images/ImageBulkOptimizer.php +++ b/includes/Images/ImageBulkOptimizer.php @@ -26,6 +26,12 @@ public function enqueue_bulk_optimizer_script() { true ); + wp_set_script_translations( + 'nfd-performance-bulk-optimizer', + 'wp-module-performance', + NFD_PERFORMANCE_PLUGIN_LANGUAGES_DIR + ); + wp_enqueue_style( 'nfd-performance-bulk-optimizer-style', NFD_PERFORMANCE_BUILD_URL . '/image-bulk-optimizer/image-bulk-optimizer.min.css', diff --git a/includes/Images/ImageOptimizedMarker.php b/includes/Images/ImageOptimizedMarker.php index 92e602c..5fe4f12 100644 --- a/includes/Images/ImageOptimizedMarker.php +++ b/includes/Images/ImageOptimizedMarker.php @@ -19,14 +19,22 @@ public function __construct() { * Enqueues JS and CSS files for marking optimized images. */ public function enqueue_marker_assets() { - wp_enqueue_script( + wp_register_script( 'nfd-performance-optimizer-marker', NFD_PERFORMANCE_BUILD_URL . '/image-optimized-marker/image-optimized-marker.min.js', - array( 'wp-i18n' ), + array( 'wp-api-fetch', 'wp-element', 'wp-i18n' ), filemtime( NFD_PERFORMANCE_BUILD_DIR . '/image-optimized-marker/image-optimized-marker.min.js' ), true ); + wp_set_script_translations( + 'nfd-performance-optimizer-marker', + 'wp-module-performance', + NFD_PERFORMANCE_PLUGIN_LANGUAGES_DIR + ); + + wp_enqueue_script( 'nfd-performance-optimizer-marker' ); + wp_enqueue_style( 'nfd-performance-optimizer-marker-style', NFD_PERFORMANCE_BUILD_URL . '/image-optimized-marker/image-optimized-marker.min.css', diff --git a/includes/Performance.php b/includes/Performance.php index d395ae5..c009515 100644 --- a/includes/Performance.php +++ b/includes/Performance.php @@ -94,13 +94,16 @@ public function __construct( Container $container ) { $container->set( 'hasMustUsePlugin', file_exists( WPMU_PLUGIN_DIR . '/endurance-page-cache.php' ) ); - add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) ); - if ( Permissions::is_authorized_admin() || Permissions::rest_is_authorized_admin() ) { new RestAPI(); } add_filter( 'newfold-runtime', array( $this, 'add_to_runtime' ), 100 ); + + ! defined( 'NFD_PERFORMANCE_PLUGIN_LANGUAGES_DIR' ) && define( 'NFD_PERFORMANCE_PLUGIN_LANGUAGES_DIR', dirname( $container->plugin()->file ) . '/vendor/newfold-labs/wp-module-performance/languages' ); + add_action( 'load-toplevel_page_' . $container->plugin()->id, array( $this, 'load_translations' ), 1 ); + add_action( 'init', array( $this, 'load_text_domain' ) ); + add_action( 'admin_enqueue_scripts', array( $this, 'register_assets' ) ); } /** @@ -258,14 +261,14 @@ public function adminBarMenu( \WP_Admin_Bar $wp_admin_bar ) { $wp_admin_bar->add_node( array( 'id' => 'nfd_purge_menu', - 'title' => __( 'Caching', 'newfold-module-performance' ), + 'title' => __( 'Caching', 'wp-module-performance' ), ) ); $wp_admin_bar->add_node( array( 'id' => 'nfd_purge_menu-purge_all', - 'title' => __( 'Purge All', 'newfold-module-performance' ), + 'title' => __( 'Purge All', 'wp-module-performance' ), 'parent' => 'nfd_purge_menu', 'href' => add_query_arg( array( self::PURGE_ALL => true ) ), ) @@ -275,7 +278,7 @@ public function adminBarMenu( \WP_Admin_Bar $wp_admin_bar ) { $wp_admin_bar->add_node( array( 'id' => 'nfd_purge_menu-purge_single', - 'title' => __( 'Purge This Page', 'newfold-module-performance' ), + 'title' => __( 'Purge This Page', 'wp-module-performance' ), 'parent' => 'nfd_purge_menu', 'href' => add_query_arg( array( self::PURGE_URL => true ) ), ) @@ -286,7 +289,7 @@ public function adminBarMenu( \WP_Admin_Bar $wp_admin_bar ) { $wp_admin_bar->add_node( array( 'id' => 'nfd_purge_menu-cache_settings', - 'title' => __( 'Cache Settings', 'newfold-module-performance' ), + 'title' => __( 'Cache Settings', 'wp-module-performance' ), 'parent' => 'nfd_purge_menu', 'href' => admin_url( "admin.php?page=$brand#/performance" ), ) @@ -299,22 +302,42 @@ public function adminBarMenu( \WP_Admin_Bar $wp_admin_bar ) { public function add_sub_menu_page() { $brand = $this->container->get( 'plugin' )['id']; add_management_page( - __( 'Performance', 'newfold-performance-module' ), - __( 'Performance', 'newfold-performance-module' ), + __( 'Performance', 'wp-module-performance' ), + __( 'Performance', 'wp-module-performance' ), 'manage_options', admin_url( "admin.php?page=$brand#/performance" ), null, 5 ); } - /** * Enqueue scripts and styles in admin */ - public function enqueue_scripts() { - $plugin_url = $this->container->plugin()->url . get_styles_path(); - wp_register_style( 'wp-module-performance-styles', $plugin_url, array(), $this->container->plugin()->version ); - wp_enqueue_style( 'wp-module-performance-styles' ); + public function register_assets() { + $validscreen = 'toplevel_page_' . $this->container->plugin()->id; + if ( get_current_screen()->id === $validscreen ) { + $plugin_url = $this->container->plugin()->url . get_styles_path(); + wp_register_style( 'wp-module-performance-styles', $plugin_url, array(), $this->container->plugin()->version ); + wp_enqueue_style( 'wp-module-performance-styles' ); + } + } + /** + * Enqueue script for translations of the performance panel settings + */ + public function load_translations() { + wp_register_script( + 'wp-module-performance-translations', + NFD_PERFORMANCE_BUILD_URL . '/translations.min.js', + array( 'lodash', 'react', 'react-dom', 'wp-data', 'wp-dom-ready', 'wp-element', 'wp-html-entities', 'wp-i18n' ), + $this->container->plugin()->version, + true + ); + wp_set_script_translations( + 'wp-module-performance-translations', + 'wp-module-performance', + NFD_PERFORMANCE_PLUGIN_LANGUAGES_DIR + ); + wp_enqueue_script( 'wp-module-performance-translations' ); } /** @@ -360,4 +383,20 @@ public function isJetPackBoostActive() { return $exists; } + + /** + * Load module text domain + * + * @return void + */ + public function load_text_domain() { + load_script_textdomain( + 'wp-module-performance-translations', + 'wp-module-performance', + NFD_PERFORMANCE_PLUGIN_LANGUAGES_DIR + ); + + $current_language = get_locale(); + load_textdomain( 'wp-module-performance', NFD_PERFORMANCE_PLUGIN_LANGUAGES_DIR . '/wp-module-performance-' . $current_language . '.mo' ); + } } diff --git a/includes/RestApi/JetpackController.php b/includes/RestApi/JetpackController.php index 53ce8f4..a0d3546 100644 --- a/includes/RestApi/JetpackController.php +++ b/includes/RestApi/JetpackController.php @@ -64,7 +64,7 @@ public function set_options( $request ) { return new \WP_REST_Response( array( 'success' => false, - 'error' => __( "The parameter 'field' is missing or invalid.", 'newfold-performance-module' ), + 'error' => __( "The parameter 'field' is missing or invalid.", 'wp-module-performance' ), ), 400 ); @@ -76,7 +76,7 @@ public function set_options( $request ) { return new \WP_REST_Response( array( 'success' => false, - 'error' => __( "The fields 'id' and 'value' are required.", 'newfold-performance-module' ), + 'error' => __( "The fields 'id' and 'value' are required.", 'wp-module-performance' ), ), 400 ); @@ -100,7 +100,7 @@ public function set_options( $request ) { return new \WP_REST_Response( array( 'success' => false, - 'error' => __( 'An error occurred while updating the option.', 'newfold-performance-module' ), + 'error' => __( 'An error occurred while updating the option.', 'wp-module-performance' ), ), 500 ); @@ -120,7 +120,7 @@ public function set_options( $request ) { return new \WP_REST_Response( array( 'success' => false, - 'error' => __( 'An error occurred while updating the option.', 'newfold-performance-module' ) . $e->getMessage(), + 'error' => __( 'An error occurred while updating the option.', 'wp-module-performance' ) . $e->getMessage(), ), 500 ); diff --git a/includes/functions.php b/includes/functions.php index 7b76a38..d45f7df 100644 --- a/includes/functions.php +++ b/includes/functions.php @@ -43,7 +43,7 @@ function getCacheLevelDropdown() { $currentCacheLevel = getCacheLevel(); $name = Performance::OPTION_CACHE_LEVEL; - $label = __( 'Cache Level', 'newfold-performance-module' ); + $label = __( 'Cache Level', 'wp-module-performance' ); ?> ), %2$s is the opening tag, %3$s is the closing tag. +#: components/performance/defaultText.js:282 +msgid "Move important styling information to the start of the page, which helps pages display your content sooner, so your users don’t have to wait for the entire page to load.%1$s %2$sBoost will automatically generate your Critical CSS%3$s whenever you make changes to the HTML or CSS structure of your site." +msgstr "Mueve la información de estilo importante al principio de la página, lo que ayuda a que las páginas muestren su contenido antes, para que tus usuarios no tengan que esperar a que se cargue toda la página. %1$s %2$sBoost generará automáticamente tu CSS crítico%3$s siempre que realices cambios en la estructura HTML o CSS de tu sitio." + +#: components/performance/defaultText.js:290 +msgid "Defer Non-Essential JavaScript" +msgstr "Aplazar JavaScript no esencial" + +#: components/performance/defaultText.js:294 +msgid "Run non-essential JavaScript after the page has loaded so that styles and images can load more quickly." +msgstr "Ejecuta JavaScript no esencial después de que la página se haya cargado para que los estilos y las imágenes puedan cargarse más rápidamente." + +#: components/performance/defaultText.js:298 +msgid "Concatenate JS" +msgstr "Concatenar JS" + +#: components/performance/defaultText.js:299 +msgid "Scripts are grouped by their original placement, concatenated and minified to reduce site loading time and reduce the number of requests." +msgstr "Los scripts se agrupan por su ubicación original, se concatenan y se minifican para reducir el tiempo de carga del sitio y reducir el número de peticiones." + +#: components/performance/defaultText.js:303 +msgid "Exclude JS Strings" +msgstr "Excluir cadenas JS" + +#: components/performance/defaultText.js:307 +msgid "Concatenate CSS" +msgstr "Concatenar CSS" + +#: components/performance/defaultText.js:311 +msgid "Styles are grouped by their original placement, concatenated and minified to reduce site loading time and reduce the number of requests." +msgstr "Los estilos se agrupan por su ubicación original, se concatenan y se minifican para reducir el tiempo de carga del sitio y el número de solicitudes." + +#: components/performance/defaultText.js:315 +msgid "Exclude CSS Strings" +msgstr "Excluir cadenas CSS" + +#: components/performance/defaultText.js:319 +msgid "Show more" +msgstr "Mostrar más" + +#: components/performance/defaultText.js:320 +msgid "Show less" +msgstr "Mostrar menos" + +#: components/performance/defaultText.js:321 +msgid "Discover More" +msgstr "Descubrir más" + +#: components/performance/defaultText.js:322 +msgid "Install Jetpack Boost to unlock" +msgstr "Instalar Jetpack Boost para desbloquear" + +#: components/performance/defaultText.js:326 +msgid "Installing Jetpack Boost…" +msgstr "Instalando Jetpack Boost…" + +#: components/performance/defaultText.js:330 +msgid "Jetpack Boost is now active" +msgstr "Jetpack Boost ya está activo" + +#: components/performance/defaultText.js:334 +msgid "Activation failed" +msgstr "Activación fallida" + +#. translators: %1$s is the opening tag, %2$s is the closing tag. +#: components/performance/defaultText.js:339 +msgid "Discover more %1$shere%2$s" +msgstr "Descubra más %1$saquí%2$s" + +#: components/performance/defaultText.js:343 +msgid "Option saved correctly" +msgstr "Opción guardada correctamente" + +#: components/performance/defaultText.js:344 +msgid "Error saving option" +msgstr "Error al guardar la opción" + +#: components/performance/defaultText.js:345 +msgid "Upgrade to unlock" +msgstr "Haz un upgrade para tener acceso" + +#: assets/image-bulk-optimizer/image-bulk-optimizer.js:38 +msgid "Optimizing Images…" +msgstr "" + +#: assets/image-bulk-optimizer/image-bulk-optimizer.js:45 +msgid "Preparing files…" +msgstr "" + +#: assets/image-bulk-optimizer/image-bulk-optimizer.js:64 +msgid "Done" +msgstr "" + +#: assets/image-bulk-optimizer/image-bulk-optimizer.js:151 +msgid "Optimization Canceled" +msgstr "" + +#: assets/image-bulk-optimizer/image-bulk-optimizer.js:160 +msgid "Optimizing:" +msgstr "" + +#: assets/image-bulk-optimizer/image-bulk-optimizer.js:179 +msgid "Optimization Complete!" +msgstr "" + +#: assets/image-bulk-optimizer/image-bulk-optimizer.js:190 +msgid "Passed" +msgstr "" + +#: assets/image-bulk-optimizer/image-bulk-optimizer.js:191 +msgid "Failed" +msgstr "" + +#: assets/image-bulk-optimizer/image-bulk-optimizer.js:199 +msgid "An error occurred." +msgstr "" + +#: assets/image-bulk-optimizer/image-bulk-optimizer.js:211 +msgid "Optimize" +msgstr "" + +#: assets/image-optimized-marker/image-optimized-marker.js:23 +msgid "Optimized" +msgstr "" diff --git a/languages/wp-module-performance-pt_BR-nfd-performance-bulk-optimizer.json b/languages/wp-module-performance-pt_BR-nfd-performance-bulk-optimizer.json new file mode 100644 index 0000000..f18d200 --- /dev/null +++ b/languages/wp-module-performance-pt_BR-nfd-performance-bulk-optimizer.json @@ -0,0 +1,45 @@ +{ + "translation-revision-date": "2025-01-14 11:12+0000", + "generator": "WP-CLI\/2.11.0", + "source": "assets\/image-bulk-optimizer\/image-bulk-optimizer.js", + "domain": "messages", + "locale_data": { + "messages": { + "": { + "domain": "messages", + "lang": "pt_BR", + "plural-forms": "nplurals=2; plural=(n > 1);" + }, + "Optimizing Images\u2026": [ + "Otimizando Imagens..." + ], + "Preparing files\u2026": [ + "Preparando arquivos..." + ], + "Done": [ + "Concluído" + ], + "Optimization Canceled": [ + "Otimização Cancelada" + ], + "Optimizing:": [ + "Otimizando:" + ], + "Optimization Complete!": [ + "Otimização Concluída!" + ], + "Passed": [ + "Aprovado" + ], + "Failed": [ + "Falhou" + ], + "An error occurred.": [ + "Ocorreu um erro." + ], + "Optimize": [ + "Otimizar" + ] + } + } +} \ No newline at end of file diff --git a/languages/wp-module-performance-pt_BR-nfd-performance-optimizer-marker.json b/languages/wp-module-performance-pt_BR-nfd-performance-optimizer-marker.json new file mode 100644 index 0000000..d2732a2 --- /dev/null +++ b/languages/wp-module-performance-pt_BR-nfd-performance-optimizer-marker.json @@ -0,0 +1,18 @@ +{ + "translation-revision-date": "2025-01-14 11:12+0000", + "generator": "WP-CLI\/2.11.0", + "source": "assets\/image-optimized-marker\/image-optimized-marker.js", + "domain": "messages", + "locale_data": { + "messages": { + "": { + "domain": "messages", + "lang": "pt_BR", + "plural-forms": "nplurals=2; plural=(n > 1);" + }, + "Optimized": [ + "Otimizado" + ] + } + } +} \ No newline at end of file diff --git a/languages/wp-module-performance-pt_BR-wp-module-performance-translations.json b/languages/wp-module-performance-pt_BR-wp-module-performance-translations.json new file mode 100644 index 0000000..3cbdbd0 --- /dev/null +++ b/languages/wp-module-performance-pt_BR-wp-module-performance-translations.json @@ -0,0 +1,315 @@ +{ + "translation-revision-date": "2025-01-14 11:12+0000", + "generator": "WP-CLI\/2.11.0", + "source": "components\/performance\/defaultText.js", + "domain": "messages", + "locale_data": { + "messages": { + "": { + "domain": "messages", + "lang": "pt_BR", + "plural-forms": "nplurals=2; plural=(n > 1);" + }, + "Cache Level": [ + "N\u00edvel de cache" + ], + "No cache enabled. Every page load is fresh.": [ + "Nenhum cache ativado. Cada carregamento de p\u00e1gina \u00e9 novo." + ], + "Disabled": [ + "Desativado" + ], + "Caching disabled.": [ + "Cache desativada." + ], + "Not recommended.": [ + "N\u00e3o recomendado." + ], + "Cache static assets like images and the appearance of your site for 1 hour.": [ + "Recurso de caches est\u00e1ticos, como imagens e a apar\u00eancia do seu site, por 1 hora." + ], + "Assets Only": [ + "Somente Recursos" + ], + "Cache enabled for assets only.": [ + "Cache ativado apenas para recursos." + ], + "Tuned for online stores and member sites that need to be fresh.": [ + "Ajustado para lojas online e sites de membros que precisam ser atualizados com frequ\u00eancia." + ], + "Cache static assets for 24 hours and web pages for 2 hours.": [ + "Recurso de caches est\u00e1ticos por 24 horas e p\u00e1ginas da web por 2 horas." + ], + "Assets & Web Pages": [ + "Recursos & P\u00e1ginas da Web" + ], + "Cache enabled for assets and pages.": [ + "Cache ativado para ativos e p\u00e1ginas." + ], + "Tuned for sites that change at least weekly.": [ + "Ajustado para sites que mudam pelo menos semanalmente." + ], + "Cache static assets for 1 week and web pages for 8 hours.": [ + "Recurso de caches est\u00e1ticos por 1 semana e p\u00e1ginas da web por 8 horas." + ], + "Assets & Web Pages - Extended": [ + "Recursos & P\u00e1ginas da Web - Estendido" + ], + "Cache enabled for assets and pages (extended).": [ + "Cache ativado para recursos e p\u00e1ginas (estendido)." + ], + "Tuned for sites that update a few times a month or less.": [ + "Ajustado para sites que atualizam poucas vezes por m\u00eas ou menos." + ], + "Boost speed and performance by storing a copy of your website content, files, and images online so the pages of your website load faster for your visitors.": [ + "Aumente a velocidade e o desempenho armazenando uma c\u00f3pia do conte\u00fado, arquivos e imagens do seu site on-line para que as p\u00e1ginas do seu site sejam carregadas mais rapidamente para seus visitantes." + ], + "Cache setting saved": [ + "Configura\u00e7\u00e3o de cache salva" + ], + "Clear All Cache Now": [ + "Limpar Todo o Cache Agora" + ], + "We automatically clear your cache as you work (creating content, changing settings, installing plugins and more). But you can manually clear it here to be confident it is fresh.": [ + "N\u00f3s limpamos seu cache automaticamente conforme voc\u00ea trabalha (criando conte\u00fado, alterando configura\u00e7\u00f5es, instalando plugins e mais). Mas voc\u00ea pode limp\u00e1-lo manualmente aqui para ter certeza de que ele est\u00e1 atualizado." + ], + "Cache cleared": [ + "Cache limpo" + ], + "Clear Cache": [ + "Limpar Cache" + ], + "Exclude from cache": [ + "Excluir do cache" + ], + "This setting controls what pages pass a \u201cno-cache\u201d header so that page caching and browser caching is not used.": [ + "Esta configura\u00e7\u00e3o determina quais p\u00e1ginas recebem o cabe\u00e7alho \u2018no-cache\u2019, evitando assim o uso de cache de p\u00e1gina e de navegador." + ], + "Cache Exclusion saved": [ + "Configura\u00e7\u00e3o de exclus\u00e3o de cache salva" + ], + "Save": [ + "Guardar" + ], + "Skip 404": [ + "Ignorar 404" + ], + "When enabled, static resources like images and fonts will use a default server 404 page and not WordPress 404 pages. Pages and posts will continue using WordPress for 404 pages. This can considerably speed up your website if a static resource like an image or font is missing.": [ + "Quando ativado, recursos est\u00e1ticos como imagens e fontes usar\u00e3o uma p\u00e1gina 404 padr\u00e3o do servidor e n\u00e3o as p\u00e1ginas 404 do WordPress. P\u00e1ginas e posts continuar\u00e3o usando o WordPress para p\u00e1ginas 404. Isso pode acelerar consideravelmente o seu site se um recurso est\u00e1tico, como uma imagem ou fonte, estiver ausente." + ], + "Skip 404 Handling For Static Files": [ + "Ignorar Tratamento 404 para Arquivos Est\u00e1ticos" + ], + "Skip 404 saved": [ + "Ignorar 404 guardado" + ], + "Image Optimization": [ + "Otimiza\u00e7\u00e3o de Imagens" + ], + "We automatically optimize your uploaded images to WebP format for faster performance and reduced file sizes. You can also choose to delete the original images to save storage space.": [ + "Otimizamos automaticamente suas imagens carregadas para o formato WebP para melhor desempenho e redu\u00e7\u00e3o do tamanho dos arquivos. Voc\u00ea tamb\u00e9m pode optar por excluir as imagens originais para economizar espa\u00e7o de armazenamento." + ], + "Enable Image Optimization": [ + "Habilitar otimiza\u00e7\u00e3o de imagens" + ], + "Enable or disable image optimization globally.": [ + "Ativar ou desativar a otimiza\u00e7\u00e3o de imagens globalmente." + ], + "Automatically Optimize Uploaded Images": [ + "Otimizar automaticamente imagens carregadas" + ], + "When enabled, all your new image uploads will be automatically optimized to WebP format, ensuring faster page loading and reduced file sizes.": [ + "Quando ativado, todas as suas novas imagens carregadas ser\u00e3o automaticamente otimizadas para o formato WebP, garantindo carregamento de p\u00e1gina mais r\u00e1pido e redu\u00e7\u00e3o do tamanho dos arquivos." + ], + "Auto Delete Original Image": [ + "Deletar automaticamente a imagem original" + ], + "When enabled, the original uploaded image is deleted and replaced with the optimized version, helping to save storage space. If disabled, the optimized image is saved as a separate file, retaining the original.": [ + "Quando ativado, a imagem original carregada \u00e9 exclu\u00edda e substitu\u00edda pela vers\u00e3o otimizada, ajudando a economizar espa\u00e7o de armazenamento. Se desativado, a imagem otimizada \u00e9 salva como um arquivo separado, mantendo a original." + ], + "No settings available.": [ + "Nenhuma configura\u00e7\u00e3o dispon\u00edvel." + ], + "Oops! Something went wrong. Please try again.": [ + "Oops! Algo deu errado. Tente novamente." + ], + "Loading settings\u2026": [ + "Carregando configura\u00e7\u00f5es\u2026" + ], + "Settings updated successfully": [ + "Configura\u00e7\u00f5es atualizadas com sucesso" + ], + "Your image optimization settings have been saved.": [ + "Suas configura\u00e7\u00f5es de otimiza\u00e7\u00e3o de imagem foram salvas." + ], + "Enable Lazy Loading": [ + "Ativar Carregamento Pregui\u00e7oso" + ], + "Lazy loading defers the loading of images until they are visible on the screen, improving page load speed and performance.": [ + "O carregamento pregui\u00e7oso adia o carregamento das imagens at\u00e9 que elas fiquem vis\u00edveis na tela, melhorando a velocidade de carregamento da p\u00e1gina e o desempenho." + ], + "Lazy loading has been updated.": [ + "O carregamento pregui\u00e7oso foi atualizado." + ], + "Oops! There was an error updating the lazy loading settings.": [ + "Oops! Ocorreu um erro ao atualizar as configura\u00e7\u00f5es de carregamento pregui\u00e7oso." + ], + "Enable Bulk Optimization of Images": [ + "Ativar Otimiza\u00e7\u00e3o em Massa de Imagens" + ], + "When enabled, allows bulk optimization of images in the media library.": [ + "Quando ativado, permite a otimiza\u00e7\u00e3o em massa de imagens na biblioteca de m\u00eddia." + ], + "Go to Media Library": [ + "Ir para a Biblioteca de M\u00eddia" + ], + "Error Updating Settings": [ + "Erro ao Atualizar Configura\u00e7\u00f5es" + ], + "Prefer Optimized Image When Exists": [ + "Preferir Imagem Otimizada Quando Existir" + ], + "When enabled, optimized images will be served in place of original images when they exist, improving performance.": [ + "Quando ativado, as imagens otimizadas ser\u00e3o servidas no lugar das imagens originais quando existirem, melhorando o desempenho." + ], + "Something went wrong while updating the settings. Please try again.": [ + "Algo deu errado durante a atualiza\u00e7\u00e3o das configura\u00e7\u00f5es. Por favor, tente novamente." + ], + "Asks the browser to download and cache links on the page ahead of them being clicked on, so that when they are clicked they load almost instantly.": [ + "Solicita ao navegador que baixe e armazene em cache os links na p\u00e1gina antes de serem clicados, para que, quando clicados, eles carreguem quase instantaneamente." + ], + "Link prefetching setting saved": [ + "Configura\u00e7\u00f5es de pr\u00e9-carregamento de links salvas" + ], + "Link Prefetch": [ + "Pr\u00e9-carregamento de links" + ], + "Enable link prefetching on desktop": [ + "Ativar o pr\u00e9-carregamento de links no desktop" + ], + "Activate on desktop": [ + "Ativar no desktop" + ], + "Behavior of the prefetch": [ + "Comportamento do pr\u00e9-carregamento" + ], + "Behavior": [ + "Comportamento" + ], + "Prefetch on Mouse Down": [ + "Pr\u00e9-carregar ao pressionar o mouse" + ], + "Prefetch on Mouse Down: Starts loading the page as soon as you click down, for faster response when you release the click.": [ + "Pr\u00e9-carregar ao Clicar: Inicia o carregamento da p\u00e1gina assim que voc\u00ea clica, para uma resposta mais r\u00e1pida quando soltar o clique." + ], + "Prefetch on Mouse Hover (Recommended)": [ + "Pr\u00e9-carregar ao passar o mouse (Recomendado)" + ], + "Prefetch on Mouse Hover: Begins loading the page the moment your cursor hovers over a link": [ + "Pr\u00e9-carregar ao passar o mouse: come\u00e7a a carregar a p\u00e1gina no momento em que o cursor passa sobre um link" + ], + "Enable link prefetching on mobile": [ + "Ativar o pr\u00e9-carregamento de links no mobile" + ], + "Activate on mobile": [ + "Ativar no mobile" + ], + "Prefetch on Touchstart (Recommended)": [ + "Pr\u00e9-carregar ao tocar (Recomendado)" + ], + "Prefetch on Touchstart: Instantly starts loading the page as soon as you tap the screen, ensuring a quicker response when you lift your finger.": [ + "Pr\u00e9-carregar ao tocar na tela: come\u00e7a a carregar a p\u00e1gina instantaneamente assim que voc\u00ea toca na tela, garantindo uma resposta mais r\u00e1pida quando voc\u00ea levantar o dedo." + ], + "Prefetch Above the Fold": [ + "Pr\u00e9-carregar acima da dobra" + ], + "Prefetch Above the Fold: Loads links in your current view instantly, ensuring they're ready when you need them.": [ + "Pr\u00e9-carregar acima da dobra: carrega os links na sua vis\u00e3o atual instantaneamente, garantindo que eles estejam prontos quando voc\u00ea precisar." + ], + "Exclude Keywords: A comma separated list of words or strings that will exclude a link from being prefetched. For example, excluding \"app\" will prevent https:\/\/example.com\/apple from being prefetched.": [ + "Excluir palavras-chave: uma lista separada por v\u00edrgulas de palavras ou cadeias de caracteres que excluir\u00e3o um link de ser pr\u00e9-carregado. Por exemplo, excluir \u2018app\u2019 impedir\u00e1 que https:\/\/example.com\/apple seja pr\u00e9-carregado." + ], + "Exclude keywords": [ + "Excluir palavras-chave" + ], + "Advanced settings": [ + "Configura\u00e7\u00f5es avan\u00e7adas" + ], + "Additional speed and scalability features powered by Jetpack Boost to make your site as fast as it can be.": [ + "Recursos adicionais de velocidade e escalabilidade impulsionados pelo Jetpack Boost para tornar o seu site o mais r\u00e1pido poss\u00edvel." + ], + "Optimize Critical CSS Loading (manual)": [ + "Otimizar o carregamento de CSS cr\u00edtico (manual)" + ], + "Move important styling information to the start of the page, which helps pages display your content sooner, so your users don\u2019t have to wait for the entire page to load.": [ + "Mova as informa\u00e7\u00f5es de estilo importantes para o in\u00edcio da p\u00e1gina, o que ajuda as p\u00e1ginas a exibir seu conte\u00fado mais rapidamente, para que seus usu\u00e1rios n\u00e3o precisem esperar o carregamento de toda a p\u00e1gina." + ], + "Optimize Critical CSS Loading (UPGRADED)": [ + "Otimizar o carregamento de CSS cr\u00edtico (ATUALIZADO)" + ], + "Generate Critical CSS Automatically": [ + "Gerar CSS cr\u00edtico automaticamente" + ], + "Move important styling information to the start of the page, which helps pages display your content sooner, so your users don\u2019t have to wait for the entire page to load.%1$s %2$sBoost will automatically generate your Critical CSS%3$s whenever you make changes to the HTML or CSS structure of your site.": [ + "Mova informa\u00e7\u00f5es de estilo importantes para o in\u00edcio da p\u00e1gina, o que ajuda as p\u00e1ginas a exibir seu conte\u00fado mais rapidamente, para que seus usu\u00e1rios n\u00e3o precisem esperar o carregamento completo da p\u00e1gina.%1$s %2$sO Boost gerar\u00e1 automaticamente seu CSS Cr\u00edtico%3$s sempre que voc\u00ea fizer altera\u00e7\u00f5es na estrutura HTML ou CSS do seu site." + ], + "Defer Non-Essential JavaScript": [ + "Atrasar o carregamento de JavaScript n\u00e3o essencial" + ], + "Run non-essential JavaScript after the page has loaded so that styles and images can load more quickly.": [ + "Executar JavaScript n\u00e3o essencial ap\u00f3s o carregamento da p\u00e1gina, para que os estilos e as imagens possam carregar mais rapidamente." + ], + "Concatenate JS": [ + "Concatenar JS" + ], + "Scripts are grouped by their original placement, concatenated and minified to reduce site loading time and reduce the number of requests.": [ + "Os scripts s\u00e3o agrupados conforme sua coloca\u00e7\u00e3o original, concatenados e minificados para reduzir o tempo de carregamento do site e diminuir o n\u00famero de requisi\u00e7\u00f5es." + ], + "Exclude JS Strings": [ + "Excluir strings de JS" + ], + "Concatenate CSS": [ + "Concatenar CSS" + ], + "Styles are grouped by their original placement, concatenated and minified to reduce site loading time and reduce the number of requests.": [ + "Os estilos s\u00e3o agrupados conforme sua coloca\u00e7\u00e3o original, concatenados e minificados para reduzir o tempo de carregamento do site e diminuir o n\u00famero de requisi\u00e7\u00f5es." + ], + "Exclude CSS Strings": [ + "Excluir strings de CSS" + ], + "Show more": [ + "Mostrar mais" + ], + "Show less": [ + "Mostrar menos" + ], + "Discover More": [ + "Descubra mais" + ], + "Install Jetpack Boost to unlock": [ + "Instale o Jetpack Boost para desbloquear" + ], + "Installing Jetpack Boost\u2026": [ + "Instalando o Jetpack Boost\u2026" + ], + "Jetpack Boost is now active": [ + "O Jetpack Boost est\u00e1 agora ativo" + ], + "Activation failed": [ + "Ativa\u00e7\u00e3o falhou" + ], + "Discover more %1$shere%2$s": [ + "Descubra mais %1$saqui%2$s" + ], + "Option saved correctly": [ + "Op\u00e7\u00e3o salva corretamente" + ], + "Error saving option": [ + "Erro ao salvar op\u00e7\u00e3o" + ], + "Upgrade to unlock": [ + "Fa\u00e7a um upgrade para ter acesso" + ] + } + } +} \ No newline at end of file diff --git a/languages/wp-module-performance-pt_BR.mo b/languages/wp-module-performance-pt_BR.mo new file mode 100644 index 0000000..5cf59c4 Binary files /dev/null and b/languages/wp-module-performance-pt_BR.mo differ diff --git a/languages/wp-module-performance-pt_BR.po b/languages/wp-module-performance-pt_BR.po new file mode 100644 index 0000000..4fc1a5c --- /dev/null +++ b/languages/wp-module-performance-pt_BR.po @@ -0,0 +1,604 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://github.com/newfold-labs/wp-module-performance/issues\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"POT-Creation-Date: \n" +"PO-Revision-Date: 2025-01-14 11:12+0000\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Poedit 3.2.2\n" +"X-Domain: wp-module-performance\n" + +#: includes/functions.php:46 +#: components/performance/defaultText.js:61 +msgid "Cache Level" +msgstr "Nível de cache" + +#: includes/functions.php:73 +msgid "Skip WordPress 404 Handling For Static Files" +msgstr "Ignorar o tratamento de erro 404 do WordPress para arquivos estáticos" + +#: includes/Performance.php:264 +msgid "Caching" +msgstr "Cache" + +#: includes/RestApi/JetpackController.php:67 +msgid "The parameter 'field' is missing or invalid." +msgstr "O parâmetro ‘field’ está ausente ou é inválido." + +#: includes/RestApi/JetpackController.php:79 +msgid "The fields 'id' and 'value' are required." +msgstr "Os campos ‘id’ e ‘value’ são obrigatórios." + +#: includes/RestApi/JetpackController.php:103 +#: includes/RestApi/JetpackController.php:123 +msgid "An error occurred while updating the option." +msgstr "Ocorreu um erro ao atualizar a opção." + +#: includes/Performance.php:271 +msgid "Purge All" +msgstr "Limpar Tudo" + +#: includes/Performance.php:281 +msgid "Purge This Page" +msgstr "Limpar esta página" + +#: includes/Performance.php:292 +msgid "Cache Settings" +msgstr "Configurações de cache" + +#: includes/Images/ImageService.php:27 +msgid "The provided image URL is invalid." +msgstr "A URL da imagem fornecida é inválida." + +#. translators: %s: Error message +#: includes/Images/ImageService.php:46 +msgid "Error connecting to Cloudflare Worker: %s" +msgstr "Erro ao conectar ao Cloudflare Worker: %s" + +#. translators: %s: Error message +#: includes/Images/ImageService.php:60 +msgid "Client error from Cloudflare Worker: %s" +msgstr "Erro do cliente do Cloudflare Worker: %s" + +#: includes/Images/ImageService.php:67 +msgid "Server error from Cloudflare Worker. Please try again later." +msgstr "Erro no servidor do Cloudflare Worker. Tente novamente mais tarde." + +#: includes/Images/ImageService.php:74 +msgid "Invalid response from Cloudflare Worker." +msgstr "Resposta inválida do Cloudflare Worker." + +#: includes/Images/ImageService.php:89 +msgid "Failed to save the optimized WebP image." +msgstr "Falha ao salvar a imagem WebP otimizada." + +#: includes/Images/ImageService.php:108 +msgid "Invalid file path for generating WebP." +msgstr "Caminho de arquivo inválido para gerar WebP." + +#. translators: 1: HTTP response code, 2: Response message +#: includes/Images/ImageService.php:150 +msgid "HTTP %1$d: %2$s" +msgstr "HTTP %1$d: %2$s" + +#: includes/Images/ImageService.php:175 +msgid "WebP file is missing or empty." +msgstr "Arquivo WebP está ausente ou vazio." + +#: includes/Images/ImageService.php:186 +msgid "Invalid Media ID provided." +msgstr "ID de mídia inválido fornecido." + +#: includes/Images/ImageService.php:206 +msgid "Invalid Media ID or file path provided." +msgstr "ID de mídia ou caminho do arquivo inválido fornecido." + +#: includes/Images/ImageService.php:214 +msgid "Failed to delete the original file." +msgstr "Falha ao excluir o arquivo original." + +#: includes/Images/ImageService.php:230 +msgid "Failed to generate attachment metadata." +msgstr "Falha ao gerar metadados do anexo." + +#: includes/Images/ImageSettings.php:50 +msgid "Settings for NFD Image Optimization." +msgstr "Configurações de Otimização de Imagem NFD." + +#: includes/Images/ImageSettings.php:59 +msgid "Enable image optimization." +msgstr "Ativar otimização de imagem." + +#: includes/Images/ImageSettings.php:64 +msgid "Prefer WebP format when it exists." +msgstr "Preferir formato WebP quando existir." + +#: includes/Images/ImageSettings.php:69 +msgid "Auto-optimized uploaded images settings." +msgstr "Configurações de imagens carregadas otimizadas automaticamente." + +#: includes/Images/ImageSettings.php:73 +msgid "Automatically optimize uploaded images." +msgstr "Otimizar automaticamente imagens carregadas." + +#: includes/Images/ImageSettings.php:78 +msgid "Delete the original uploaded image after optimization." +msgstr "Excluir a imagem carregada original após a otimização." + +#: includes/Images/ImageSettings.php:85 +msgid "Settings for lazy loading." +msgstr "Configurações de carregamento lento." + +#: includes/Images/ImageSettings.php:89 +msgid "Enable lazy loading." +msgstr "Ativar carregamento lento." + +#: includes/Images/ImageSettings.php:96 +msgid "Enable bulk optimization of images." +msgstr "Ativar otimização em massa de imagens." + +#: includes/Images/RestApi/ImagesController.php:45 +msgid "The ID of the media item to optimize." +msgstr "O ID do item de mídia a ser otimizado." + +#: includes/Images/RestApi/ImagesController.php:71 +msgid "Invalid media ID or media item not found." +msgstr "ID de mídia inválido ou item de mídia não encontrado." + +#: includes/Images/RestApi/ImagesController.php:110 +msgid "Image successfully optimized." +msgstr "Imagem otimizada com sucesso." + +#: includes/Performance.php:305 +#: includes/Performance.php:306 +msgid "Performance" +msgstr "Desempenho" + +#: components/performance/defaultText.js:4 +msgid "No cache enabled. Every page load is fresh." +msgstr "Nenhum cache ativado. Cada carregamento de página é novo." + +#: components/performance/defaultText.js:8 +msgid "Disabled" +msgstr "Desativado" + +#: components/performance/defaultText.js:9 +msgid "Caching disabled." +msgstr "Cache desativada." + +#: components/performance/defaultText.js:10 +msgid "Not recommended." +msgstr "Não recomendado." + +#: components/performance/defaultText.js:14 +msgid "Cache static assets like images and the appearance of your site for 1 hour." +msgstr "Recurso de caches estáticos, como imagens e a aparência do seu site, por 1 hora." + +#: components/performance/defaultText.js:18 +msgid "Assets Only" +msgstr "Somente Recursos" + +#: components/performance/defaultText.js:19 +msgid "Cache enabled for assets only." +msgstr "Cache ativado apenas para recursos." + +#: components/performance/defaultText.js:23 +msgid "Tuned for online stores and member sites that need to be fresh." +msgstr "Ajustado para lojas online e sites de membros que precisam ser atualizados com frequência." + +#: components/performance/defaultText.js:27 +msgid "Cache static assets for 24 hours and web pages for 2 hours." +msgstr "Recurso de caches estáticos por 24 horas e páginas da web por 2 horas." + +#: components/performance/defaultText.js:31 +msgid "Assets & Web Pages" +msgstr "Recursos & Páginas da Web" + +#: components/performance/defaultText.js:32 +msgid "Cache enabled for assets and pages." +msgstr "Cache ativado para ativos e páginas." + +#: components/performance/defaultText.js:36 +msgid "Tuned for sites that change at least weekly." +msgstr "Ajustado para sites que mudam pelo menos semanalmente." + +#: components/performance/defaultText.js:40 +msgid "Cache static assets for 1 week and web pages for 8 hours." +msgstr "Recurso de caches estáticos por 1 semana e páginas da web por 8 horas." + +#: components/performance/defaultText.js:44 +msgid "Assets & Web Pages - Extended" +msgstr "Recursos & Páginas da Web - Estendido" + +#: components/performance/defaultText.js:48 +msgid "Cache enabled for assets and pages (extended)." +msgstr "Cache ativado para recursos e páginas (estendido)." + +#: components/performance/defaultText.js:52 +msgid "Tuned for sites that update a few times a month or less." +msgstr "Ajustado para sites que atualizam poucas vezes por mês ou menos." + +#: components/performance/defaultText.js:56 +msgid "Boost speed and performance by storing a copy of your website content, files, and images online so the pages of your website load faster for your visitors." +msgstr "Aumente a velocidade e o desempenho armazenando uma cópia do conteúdo, arquivos e imagens do seu site on-line para que as páginas do seu site sejam carregadas mais rapidamente para seus visitantes." + +#: components/performance/defaultText.js:60 +msgid "Cache setting saved" +msgstr "Configuração de cache salva" + +#: components/performance/defaultText.js:62 +msgid "Clear All Cache Now" +msgstr "Limpar Todo o Cache Agora" + +#: components/performance/defaultText.js:63 +msgid "We automatically clear your cache as you work (creating content, changing settings, installing plugins and more). But you can manually clear it here to be confident it is fresh." +msgstr "Nós limpamos seu cache automaticamente conforme você trabalha (criando conteúdo, alterando configurações, instalando plugins e mais). Mas você pode limpá-lo manualmente aqui para ter certeza de que ele está atualizado." + +#: components/performance/defaultText.js:67 +msgid "Cache cleared" +msgstr "Cache limpo" + +#: components/performance/defaultText.js:68 +msgid "Clear Cache" +msgstr "Limpar Cache" + +#: components/performance/defaultText.js:69 +msgid "Exclude from cache" +msgstr "Excluir do cache" + +#: components/performance/defaultText.js:70 +msgid "This setting controls what pages pass a “no-cache” header so that page caching and browser caching is not used." +msgstr "Esta configuração determina quais páginas recebem o cabeçalho ‘no-cache’, evitando assim o uso de cache de página e de navegador." + +#: components/performance/defaultText.js:74 +msgid "Cache Exclusion saved" +msgstr "Configuração de exclusão de cache salva" + +#: components/performance/defaultText.js:75 +msgid "Save" +msgstr "Guardar" + +#: components/performance/defaultText.js:77 +msgid "Skip 404" +msgstr "Ignorar 404" + +#: components/performance/defaultText.js:78 +msgid "When enabled, static resources like images and fonts will use a default server 404 page and not WordPress 404 pages. Pages and posts will continue using WordPress for 404 pages. This can considerably speed up your website if a static resource like an image or font is missing." +msgstr "Quando ativado, recursos estáticos como imagens e fontes usarão uma página 404 padrão do servidor e não as páginas 404 do WordPress. Páginas e posts continuarão usando o WordPress para páginas 404. Isso pode acelerar consideravelmente o seu site se um recurso estático, como uma imagem ou fonte, estiver ausente." + +#: components/performance/defaultText.js:82 +msgid "Skip 404 Handling For Static Files" +msgstr "Ignorar Tratamento 404 para Arquivos Estáticos" + +#: components/performance/defaultText.js:86 +#: components/performance/defaultText.js:87 +msgid "Skip 404 saved" +msgstr "Ignorar 404 guardado" + +#: components/performance/defaultText.js:89 +msgid "Image Optimization" +msgstr "Otimização de Imagens" + +#: components/performance/defaultText.js:93 +msgid "We automatically optimize your uploaded images to WebP format for faster performance and reduced file sizes. You can also choose to delete the original images to save storage space." +msgstr "Otimizamos automaticamente suas imagens carregadas para o formato WebP para melhor desempenho e redução do tamanho dos arquivos. Você também pode optar por excluir as imagens originais para economizar espaço de armazenamento." + +#: components/performance/defaultText.js:97 +msgid "Enable Image Optimization" +msgstr "Habilitar otimização de imagens" + +#: components/performance/defaultText.js:101 +msgid "Enable or disable image optimization globally." +msgstr "Ativar ou desativar a otimização de imagens globalmente." + +#: components/performance/defaultText.js:105 +msgid "Automatically Optimize Uploaded Images" +msgstr "Otimizar automaticamente imagens carregadas" + +#: components/performance/defaultText.js:109 +msgid "When enabled, all your new image uploads will be automatically optimized to WebP format, ensuring faster page loading and reduced file sizes." +msgstr "Quando ativado, todas as suas novas imagens carregadas serão automaticamente otimizadas para o formato WebP, garantindo carregamento de página mais rápido e redução do tamanho dos arquivos." + +#: components/performance/defaultText.js:113 +msgid "Auto Delete Original Image" +msgstr "Deletar automaticamente a imagem original" + +#: components/performance/defaultText.js:117 +msgid "When enabled, the original uploaded image is deleted and replaced with the optimized version, helping to save storage space. If disabled, the optimized image is saved as a separate file, retaining the original." +msgstr "Quando ativado, a imagem original carregada é excluída e substituída pela versão otimizada, ajudando a economizar espaço de armazenamento. Se desativado, a imagem otimizada é salva como um arquivo separado, mantendo a original." + +#: components/performance/defaultText.js:121 +msgid "No settings available." +msgstr "Nenhuma configuração disponível." + +#: components/performance/defaultText.js:125 +msgid "Oops! Something went wrong. Please try again." +msgstr "Oops! Algo deu errado. Tente novamente." + +#: components/performance/defaultText.js:129 +msgid "Loading settings…" +msgstr "Carregando configurações…" + +#: components/performance/defaultText.js:133 +msgid "Settings updated successfully" +msgstr "Configurações atualizadas com sucesso" + +#: components/performance/defaultText.js:137 +msgid "Your image optimization settings have been saved." +msgstr "Suas configurações de otimização de imagem foram salvas." + +#: components/performance/defaultText.js:141 +msgid "Enable Lazy Loading" +msgstr "Ativar Carregamento Preguiçoso" + +#: components/performance/defaultText.js:145 +msgid "Lazy loading defers the loading of images until they are visible on the screen, improving page load speed and performance." +msgstr "O carregamento preguiçoso adia o carregamento das imagens até que elas fiquem visíveis na tela, melhorando a velocidade de carregamento da página e o desempenho." + +#: components/performance/defaultText.js:149 +msgid "Lazy loading has been updated." +msgstr "O carregamento preguiçoso foi atualizado." + +#: components/performance/defaultText.js:153 +msgid "Oops! There was an error updating the lazy loading settings." +msgstr "Oops! Ocorreu um erro ao atualizar as configurações de carregamento preguiçoso." + +#: components/performance/defaultText.js:157 +msgid "Enable Bulk Optimization of Images" +msgstr "Ativar Otimização em Massa de Imagens" + +#: components/performance/defaultText.js:161 +msgid "When enabled, allows bulk optimization of images in the media library." +msgstr "Quando ativado, permite a otimização em massa de imagens na biblioteca de mídia." + +#: components/performance/defaultText.js:165 +msgid "Go to Media Library" +msgstr "Ir para a Biblioteca de Mídia" + +#: components/performance/defaultText.js:169 +msgid "Error Updating Settings" +msgstr "Erro ao Atualizar Configurações" + +#: components/performance/defaultText.js:173 +msgid "Prefer Optimized Image When Exists" +msgstr "Preferir Imagem Otimizada Quando Existir" + +#: components/performance/defaultText.js:177 +msgid "When enabled, optimized images will be served in place of original images when they exist, improving performance." +msgstr "Quando ativado, as imagens otimizadas serão servidas no lugar das imagens originais quando existirem, melhorando o desempenho." + +#: components/performance/defaultText.js:181 +msgid "Something went wrong while updating the settings. Please try again." +msgstr "Algo deu errado durante a atualização das configurações. Por favor, tente novamente." + +#: components/performance/defaultText.js:186 +msgid "Asks the browser to download and cache links on the page ahead of them being clicked on, so that when they are clicked they load almost instantly." +msgstr "Solicita ao navegador que baixe e armazene em cache os links na página antes de serem clicados, para que, quando clicados, eles carreguem quase instantaneamente." + +#: components/performance/defaultText.js:190 +msgid "Link prefetching setting saved" +msgstr "Configurações de pré-carregamento de links salvas" + +#: components/performance/defaultText.js:194 +msgid "Link Prefetch" +msgstr "Pré-carregamento de links" + +#: components/performance/defaultText.js:195 +msgid "Enable link prefetching on desktop" +msgstr "Ativar o pré-carregamento de links no desktop" + +#: components/performance/defaultText.js:199 +msgid "Activate on desktop" +msgstr "Ativar no desktop" + +#: components/performance/defaultText.js:203 +msgid "Behavior of the prefetch" +msgstr "Comportamento do pré-carregamento" + +#: components/performance/defaultText.js:207 +msgid "Behavior" +msgstr "Comportamento" + +#: components/performance/defaultText.js:208 +msgid "Prefetch on Mouse Down" +msgstr "Pré-carregar ao pressionar o mouse" + +#: components/performance/defaultText.js:212 +msgid "Prefetch on Mouse Down: Starts loading the page as soon as you click down, for faster response when you release the click." +msgstr "Pré-carregar ao Clicar: Inicia o carregamento da página assim que você clica, para uma resposta mais rápida quando soltar o clique." + +#: components/performance/defaultText.js:216 +msgid "Prefetch on Mouse Hover (Recommended)" +msgstr "Pré-carregar ao passar o mouse (Recomendado)" + +#: components/performance/defaultText.js:220 +msgid "Prefetch on Mouse Hover: Begins loading the page the moment your cursor hovers over a link" +msgstr "Pré-carregar ao passar o mouse: começa a carregar a página no momento em que o cursor passa sobre um link" + +#: components/performance/defaultText.js:224 +msgid "Enable link prefetching on mobile" +msgstr "Ativar o pré-carregamento de links no mobile" + +#: components/performance/defaultText.js:228 +msgid "Activate on mobile" +msgstr "Ativar no mobile" + +#: components/performance/defaultText.js:232 +msgid "Prefetch on Touchstart (Recommended)" +msgstr "Pré-carregar ao tocar (Recomendado)" + +#: components/performance/defaultText.js:236 +msgid "Prefetch on Touchstart: Instantly starts loading the page as soon as you tap the screen, ensuring a quicker response when you lift your finger." +msgstr "Pré-carregar ao tocar na tela: começa a carregar a página instantaneamente assim que você toca na tela, garantindo uma resposta mais rápida quando você levantar o dedo." + +#: components/performance/defaultText.js:240 +msgid "Prefetch Above the Fold" +msgstr "Pré-carregar acima da dobra" + +#: components/performance/defaultText.js:244 +msgid "Prefetch Above the Fold: Loads links in your current view instantly, ensuring they're ready when you need them." +msgstr "Pré-carregar acima da dobra: carrega os links na sua visão atual instantaneamente, garantindo que eles estejam prontos quando você precisar." + +#: components/performance/defaultText.js:248 +msgid "Exclude Keywords: A comma separated list of words or strings that will exclude a link from being prefetched. For example, excluding \"app\" will prevent https://example.com/apple from being prefetched." +msgstr "Excluir palavras-chave: uma lista separada por vírgulas de palavras ou cadeias de caracteres que excluirão um link de ser pré-carregado. Por exemplo, excluir ‘app’ impedirá que https://example.com/apple seja pré-carregado." + +#: components/performance/defaultText.js:252 +msgid "Exclude keywords" +msgstr "Excluir palavras-chave" + +#: components/performance/defaultText.js:256 +msgid "Advanced settings" +msgstr "Configurações avançadas" + +#: components/performance/defaultText.js:260 +msgid "Additional speed and scalability features powered by Jetpack Boost to make your site as fast as it can be." +msgstr "Recursos adicionais de velocidade e escalabilidade impulsionados pelo Jetpack Boost para tornar o seu site o mais rápido possível." + +#: components/performance/defaultText.js:264 +msgid "Optimize Critical CSS Loading (manual)" +msgstr "Otimizar o carregamento de CSS crítico (manual)" + +#: components/performance/defaultText.js:268 +msgid "Move important styling information to the start of the page, which helps pages display your content sooner, so your users don’t have to wait for the entire page to load." +msgstr "Mova as informações de estilo importantes para o início da página, o que ajuda as páginas a exibir seu conteúdo mais rapidamente, para que seus usuários não precisem esperar o carregamento de toda a página." + +#: components/performance/defaultText.js:272 +msgid "Optimize Critical CSS Loading (UPGRADED)" +msgstr "Otimizar o carregamento de CSS crítico (ATUALIZADO)" + +#: components/performance/defaultText.js:276 +msgid "Generate Critical CSS Automatically" +msgstr "Gerar CSS crítico automaticamente" + +#. translators: %1$s is a line break (
), %2$s is the opening tag, %3$s is the closing tag. +#: components/performance/defaultText.js:282 +msgid "Move important styling information to the start of the page, which helps pages display your content sooner, so your users don’t have to wait for the entire page to load.%1$s %2$sBoost will automatically generate your Critical CSS%3$s whenever you make changes to the HTML or CSS structure of your site." +msgstr "Mova informações de estilo importantes para o início da página, o que ajuda as páginas a exibir seu conteúdo mais rapidamente, para que seus usuários não precisem esperar o carregamento completo da página.%1$s %2$sO Boost gerará automaticamente seu CSS Crítico%3$s sempre que você fizer alterações na estrutura HTML ou CSS do seu site." + +#: components/performance/defaultText.js:290 +msgid "Defer Non-Essential JavaScript" +msgstr "Atrasar o carregamento de JavaScript não essencial" + +#: components/performance/defaultText.js:294 +msgid "Run non-essential JavaScript after the page has loaded so that styles and images can load more quickly." +msgstr "Executar JavaScript não essencial após o carregamento da página, para que os estilos e as imagens possam carregar mais rapidamente." + +#: components/performance/defaultText.js:298 +msgid "Concatenate JS" +msgstr "Concatenar JS" + +#: components/performance/defaultText.js:299 +msgid "Scripts are grouped by their original placement, concatenated and minified to reduce site loading time and reduce the number of requests." +msgstr "Os scripts são agrupados conforme sua colocação original, concatenados e minificados para reduzir o tempo de carregamento do site e diminuir o número de requisições." + +#: components/performance/defaultText.js:303 +msgid "Exclude JS Strings" +msgstr "Excluir strings de JS" + +#: components/performance/defaultText.js:307 +msgid "Concatenate CSS" +msgstr "Concatenar CSS" + +#: components/performance/defaultText.js:311 +msgid "Styles are grouped by their original placement, concatenated and minified to reduce site loading time and reduce the number of requests." +msgstr "Os estilos são agrupados conforme sua colocação original, concatenados e minificados para reduzir o tempo de carregamento do site e diminuir o número de requisições." + +#: components/performance/defaultText.js:315 +msgid "Exclude CSS Strings" +msgstr "Excluir strings de CSS" + +#: components/performance/defaultText.js:319 +msgid "Show more" +msgstr "Mostrar mais" + +#: components/performance/defaultText.js:320 +msgid "Show less" +msgstr "Mostrar menos" + +#: components/performance/defaultText.js:321 +msgid "Discover More" +msgstr "Descubra mais" + +#: components/performance/defaultText.js:322 +msgid "Install Jetpack Boost to unlock" +msgstr "Instale o Jetpack Boost para desbloquear" + +#: components/performance/defaultText.js:326 +msgid "Installing Jetpack Boost…" +msgstr "Instalando o Jetpack Boost…" + +#: components/performance/defaultText.js:330 +msgid "Jetpack Boost is now active" +msgstr "O Jetpack Boost está agora ativo" + +#: components/performance/defaultText.js:334 +msgid "Activation failed" +msgstr "Ativação falhou" + +#. translators: %1$s is the opening tag, %2$s is the closing tag. +#: components/performance/defaultText.js:339 +msgid "Discover more %1$shere%2$s" +msgstr "Descubra mais %1$saqui%2$s" + +#: components/performance/defaultText.js:343 +msgid "Option saved correctly" +msgstr "Opção salva corretamente" + +#: components/performance/defaultText.js:344 +msgid "Error saving option" +msgstr "Erro ao salvar opção" + +#: components/performance/defaultText.js:345 +msgid "Upgrade to unlock" +msgstr "Faça um upgrade para ter acesso" + +#: assets/image-bulk-optimizer/image-bulk-optimizer.js:38 +msgid "Optimizing Images…" +msgstr "" + +#: assets/image-bulk-optimizer/image-bulk-optimizer.js:45 +msgid "Preparing files…" +msgstr "" + +#: assets/image-bulk-optimizer/image-bulk-optimizer.js:64 +msgid "Done" +msgstr "" + +#: assets/image-bulk-optimizer/image-bulk-optimizer.js:151 +msgid "Optimization Canceled" +msgstr "" + +#: assets/image-bulk-optimizer/image-bulk-optimizer.js:160 +msgid "Optimizing:" +msgstr "" + +#: assets/image-bulk-optimizer/image-bulk-optimizer.js:179 +msgid "Optimization Complete!" +msgstr "" + +#: assets/image-bulk-optimizer/image-bulk-optimizer.js:190 +msgid "Passed" +msgstr "" + +#: assets/image-bulk-optimizer/image-bulk-optimizer.js:191 +msgid "Failed" +msgstr "" + +#: assets/image-bulk-optimizer/image-bulk-optimizer.js:199 +msgid "An error occurred." +msgstr "" + +#: assets/image-bulk-optimizer/image-bulk-optimizer.js:211 +msgid "Optimize" +msgstr "" + +#: assets/image-optimized-marker/image-optimized-marker.js:23 +msgid "Optimized" +msgstr "" diff --git a/languages/wp-module-performance.pot b/languages/wp-module-performance.pot new file mode 100644 index 0000000..676c11f --- /dev/null +++ b/languages/wp-module-performance.pot @@ -0,0 +1,602 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://github.com/newfold-labs/wp-module-performance/issues\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"POT-Creation-Date: \n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"X-Generator: WP-CLI 2.11.0\n" +"X-Domain: wp-module-performance\n" + +#: includes/functions.php:46 +#: components/performance/defaultText.js:61 +msgid "Cache Level" +msgstr "" + +#: includes/functions.php:73 +msgid "Skip WordPress 404 Handling For Static Files" +msgstr "" + +#: includes/Images/ImageService.php:27 +msgid "The provided image URL is invalid." +msgstr "" + +#. translators: %s: Error message +#: includes/Images/ImageService.php:46 +msgid "Error connecting to Cloudflare Worker: %s" +msgstr "" + +#. translators: %s: Error message +#: includes/Images/ImageService.php:60 +msgid "Client error from Cloudflare Worker: %s" +msgstr "" + +#: includes/Images/ImageService.php:67 +msgid "Server error from Cloudflare Worker. Please try again later." +msgstr "" + +#: includes/Images/ImageService.php:74 +msgid "Invalid response from Cloudflare Worker." +msgstr "" + +#: includes/Images/ImageService.php:89 +msgid "Failed to save the optimized WebP image." +msgstr "" + +#: includes/Images/ImageService.php:108 +msgid "Invalid file path for generating WebP." +msgstr "" + +#. translators: 1: HTTP response code, 2: Response message +#: includes/Images/ImageService.php:150 +msgid "HTTP %1$d: %2$s" +msgstr "" + +#: includes/Images/ImageService.php:175 +msgid "WebP file is missing or empty." +msgstr "" + +#: includes/Images/ImageService.php:186 +msgid "Invalid Media ID provided." +msgstr "" + +#: includes/Images/ImageService.php:206 +msgid "Invalid Media ID or file path provided." +msgstr "" + +#: includes/Images/ImageService.php:214 +msgid "Failed to delete the original file." +msgstr "" + +#: includes/Images/ImageService.php:230 +msgid "Failed to generate attachment metadata." +msgstr "" + +#: includes/Images/ImageSettings.php:50 +msgid "Settings for NFD Image Optimization." +msgstr "" + +#: includes/Images/ImageSettings.php:59 +msgid "Enable image optimization." +msgstr "" + +#: includes/Images/ImageSettings.php:64 +msgid "Prefer WebP format when it exists." +msgstr "" + +#: includes/Images/ImageSettings.php:69 +msgid "Auto-optimized uploaded images settings." +msgstr "" + +#: includes/Images/ImageSettings.php:73 +msgid "Automatically optimize uploaded images." +msgstr "" + +#: includes/Images/ImageSettings.php:78 +msgid "Delete the original uploaded image after optimization." +msgstr "" + +#: includes/Images/ImageSettings.php:85 +msgid "Settings for lazy loading." +msgstr "" + +#: includes/Images/ImageSettings.php:89 +msgid "Enable lazy loading." +msgstr "" + +#: includes/Images/ImageSettings.php:96 +msgid "Enable bulk optimization of images." +msgstr "" + +#: includes/Images/RestApi/ImagesController.php:45 +msgid "The ID of the media item to optimize." +msgstr "" + +#: includes/Images/RestApi/ImagesController.php:71 +msgid "Invalid media ID or media item not found." +msgstr "" + +#: includes/Images/RestApi/ImagesController.php:110 +msgid "Image successfully optimized." +msgstr "" + +#: includes/Performance.php:264 +msgid "Caching" +msgstr "" + +#: includes/Performance.php:271 +msgid "Purge All" +msgstr "" + +#: includes/Performance.php:281 +msgid "Purge This Page" +msgstr "" + +#: includes/Performance.php:292 +msgid "Cache Settings" +msgstr "" + +#: includes/Performance.php:305 +#: includes/Performance.php:306 +msgid "Performance" +msgstr "" + +#: includes/RestApi/JetpackController.php:67 +msgid "The parameter 'field' is missing or invalid." +msgstr "" + +#: includes/RestApi/JetpackController.php:79 +msgid "The fields 'id' and 'value' are required." +msgstr "" + +#: includes/RestApi/JetpackController.php:103 +#: includes/RestApi/JetpackController.php:123 +msgid "An error occurred while updating the option." +msgstr "" + +#: assets/image-bulk-optimizer/image-bulk-optimizer.js:38 +msgid "Optimizing Images…" +msgstr "" + +#: assets/image-bulk-optimizer/image-bulk-optimizer.js:45 +msgid "Preparing files…" +msgstr "" + +#: assets/image-bulk-optimizer/image-bulk-optimizer.js:64 +msgid "Done" +msgstr "" + +#: assets/image-bulk-optimizer/image-bulk-optimizer.js:151 +msgid "Optimization Canceled" +msgstr "" + +#: assets/image-bulk-optimizer/image-bulk-optimizer.js:160 +msgid "Optimizing:" +msgstr "" + +#: assets/image-bulk-optimizer/image-bulk-optimizer.js:179 +msgid "Optimization Complete!" +msgstr "" + +#: assets/image-bulk-optimizer/image-bulk-optimizer.js:190 +msgid "Passed" +msgstr "" + +#: assets/image-bulk-optimizer/image-bulk-optimizer.js:191 +msgid "Failed" +msgstr "" + +#: assets/image-bulk-optimizer/image-bulk-optimizer.js:199 +msgid "An error occurred." +msgstr "" + +#: assets/image-bulk-optimizer/image-bulk-optimizer.js:211 +msgid "Optimize" +msgstr "" + +#: assets/image-optimized-marker/image-optimized-marker.js:23 +msgid "Optimized" +msgstr "" + +#: components/performance/defaultText.js:4 +msgid "No cache enabled. Every page load is fresh." +msgstr "" + +#: components/performance/defaultText.js:8 +msgid "Disabled" +msgstr "" + +#: components/performance/defaultText.js:9 +msgid "Caching disabled." +msgstr "" + +#: components/performance/defaultText.js:10 +msgid "Not recommended." +msgstr "" + +#: components/performance/defaultText.js:14 +msgid "Cache static assets like images and the appearance of your site for 1 hour." +msgstr "" + +#: components/performance/defaultText.js:18 +msgid "Assets Only" +msgstr "" + +#: components/performance/defaultText.js:19 +msgid "Cache enabled for assets only." +msgstr "" + +#: components/performance/defaultText.js:23 +msgid "Tuned for online stores and member sites that need to be fresh." +msgstr "" + +#: components/performance/defaultText.js:27 +msgid "Cache static assets for 24 hours and web pages for 2 hours." +msgstr "" + +#: components/performance/defaultText.js:31 +msgid "Assets & Web Pages" +msgstr "" + +#: components/performance/defaultText.js:32 +msgid "Cache enabled for assets and pages." +msgstr "" + +#: components/performance/defaultText.js:36 +msgid "Tuned for sites that change at least weekly." +msgstr "" + +#: components/performance/defaultText.js:40 +msgid "Cache static assets for 1 week and web pages for 8 hours." +msgstr "" + +#: components/performance/defaultText.js:44 +msgid "Assets & Web Pages - Extended" +msgstr "" + +#: components/performance/defaultText.js:48 +msgid "Cache enabled for assets and pages (extended)." +msgstr "" + +#: components/performance/defaultText.js:52 +msgid "Tuned for sites that update a few times a month or less." +msgstr "" + +#: components/performance/defaultText.js:56 +msgid "Boost speed and performance by storing a copy of your website content, files, and images online so the pages of your website load faster for your visitors." +msgstr "" + +#: components/performance/defaultText.js:60 +msgid "Cache setting saved" +msgstr "" + +#: components/performance/defaultText.js:62 +msgid "Clear All Cache Now" +msgstr "" + +#: components/performance/defaultText.js:63 +msgid "We automatically clear your cache as you work (creating content, changing settings, installing plugins and more). But you can manually clear it here to be confident it is fresh." +msgstr "" + +#: components/performance/defaultText.js:67 +msgid "Cache cleared" +msgstr "" + +#: components/performance/defaultText.js:68 +msgid "Clear Cache" +msgstr "" + +#: components/performance/defaultText.js:69 +msgid "Exclude from cache" +msgstr "" + +#: components/performance/defaultText.js:70 +msgid "This setting controls what pages pass a “no-cache” header so that page caching and browser caching is not used." +msgstr "" + +#: components/performance/defaultText.js:74 +msgid "Cache Exclusion saved" +msgstr "" + +#: components/performance/defaultText.js:75 +msgid "Save" +msgstr "" + +#: components/performance/defaultText.js:77 +msgid "Skip 404" +msgstr "" + +#: components/performance/defaultText.js:78 +msgid "When enabled, static resources like images and fonts will use a default server 404 page and not WordPress 404 pages. Pages and posts will continue using WordPress for 404 pages. This can considerably speed up your website if a static resource like an image or font is missing." +msgstr "" + +#: components/performance/defaultText.js:82 +msgid "Skip 404 Handling For Static Files" +msgstr "" + +#: components/performance/defaultText.js:86 +#: components/performance/defaultText.js:87 +msgid "Skip 404 saved" +msgstr "" + +#: components/performance/defaultText.js:89 +msgid "Image Optimization" +msgstr "" + +#: components/performance/defaultText.js:93 +msgid "We automatically optimize your uploaded images to WebP format for faster performance and reduced file sizes. You can also choose to delete the original images to save storage space." +msgstr "" + +#: components/performance/defaultText.js:97 +msgid "Enable Image Optimization" +msgstr "" + +#: components/performance/defaultText.js:101 +msgid "Enable or disable image optimization globally." +msgstr "" + +#: components/performance/defaultText.js:105 +msgid "Automatically Optimize Uploaded Images" +msgstr "" + +#: components/performance/defaultText.js:109 +msgid "When enabled, all your new image uploads will be automatically optimized to WebP format, ensuring faster page loading and reduced file sizes." +msgstr "" + +#: components/performance/defaultText.js:113 +msgid "Auto Delete Original Image" +msgstr "" + +#: components/performance/defaultText.js:117 +msgid "When enabled, the original uploaded image is deleted and replaced with the optimized version, helping to save storage space. If disabled, the optimized image is saved as a separate file, retaining the original." +msgstr "" + +#: components/performance/defaultText.js:121 +msgid "No settings available." +msgstr "" + +#: components/performance/defaultText.js:125 +msgid "Oops! Something went wrong. Please try again." +msgstr "" + +#: components/performance/defaultText.js:129 +msgid "Loading settings…" +msgstr "" + +#: components/performance/defaultText.js:133 +msgid "Settings updated successfully" +msgstr "" + +#: components/performance/defaultText.js:137 +msgid "Your image optimization settings have been saved." +msgstr "" + +#: components/performance/defaultText.js:141 +msgid "Enable Lazy Loading" +msgstr "" + +#: components/performance/defaultText.js:145 +msgid "Lazy loading defers the loading of images until they are visible on the screen, improving page load speed and performance." +msgstr "" + +#: components/performance/defaultText.js:149 +msgid "Lazy loading has been updated." +msgstr "" + +#: components/performance/defaultText.js:153 +msgid "Oops! There was an error updating the lazy loading settings." +msgstr "" + +#: components/performance/defaultText.js:157 +msgid "Enable Bulk Optimization of Images" +msgstr "" + +#: components/performance/defaultText.js:161 +msgid "When enabled, allows bulk optimization of images in the media library." +msgstr "" + +#: components/performance/defaultText.js:165 +msgid "Go to Media Library" +msgstr "" + +#: components/performance/defaultText.js:169 +msgid "Error Updating Settings" +msgstr "" + +#: components/performance/defaultText.js:173 +msgid "Prefer Optimized Image When Exists" +msgstr "" + +#: components/performance/defaultText.js:177 +msgid "When enabled, optimized images will be served in place of original images when they exist, improving performance." +msgstr "" + +#: components/performance/defaultText.js:181 +msgid "Something went wrong while updating the settings. Please try again." +msgstr "" + +#: components/performance/defaultText.js:186 +msgid "Asks the browser to download and cache links on the page ahead of them being clicked on, so that when they are clicked they load almost instantly." +msgstr "" + +#: components/performance/defaultText.js:190 +msgid "Link prefetching setting saved" +msgstr "" + +#: components/performance/defaultText.js:194 +msgid "Link Prefetch" +msgstr "" + +#: components/performance/defaultText.js:195 +msgid "Enable link prefetching on desktop" +msgstr "" + +#: components/performance/defaultText.js:199 +msgid "Activate on desktop" +msgstr "" + +#: components/performance/defaultText.js:203 +msgid "Behavior of the prefetch" +msgstr "" + +#: components/performance/defaultText.js:207 +msgid "Behavior" +msgstr "" + +#: components/performance/defaultText.js:208 +msgid "Prefetch on Mouse Down" +msgstr "" + +#: components/performance/defaultText.js:212 +msgid "Prefetch on Mouse Down: Starts loading the page as soon as you click down, for faster response when you release the click." +msgstr "" + +#: components/performance/defaultText.js:216 +msgid "Prefetch on Mouse Hover (Recommended)" +msgstr "" + +#: components/performance/defaultText.js:220 +msgid "Prefetch on Mouse Hover: Begins loading the page the moment your cursor hovers over a link" +msgstr "" + +#: components/performance/defaultText.js:224 +msgid "Enable link prefetching on mobile" +msgstr "" + +#: components/performance/defaultText.js:228 +msgid "Activate on mobile" +msgstr "" + +#: components/performance/defaultText.js:232 +msgid "Prefetch on Touchstart (Recommended)" +msgstr "" + +#: components/performance/defaultText.js:236 +msgid "Prefetch on Touchstart: Instantly starts loading the page as soon as you tap the screen, ensuring a quicker response when you lift your finger." +msgstr "" + +#: components/performance/defaultText.js:240 +msgid "Prefetch Above the Fold" +msgstr "" + +#: components/performance/defaultText.js:244 +msgid "Prefetch Above the Fold: Loads links in your current view instantly, ensuring they're ready when you need them." +msgstr "" + +#: components/performance/defaultText.js:248 +msgid "Exclude Keywords: A comma separated list of words or strings that will exclude a link from being prefetched. For example, excluding \"app\" will prevent https://example.com/apple from being prefetched." +msgstr "" + +#: components/performance/defaultText.js:252 +msgid "Exclude keywords" +msgstr "" + +#: components/performance/defaultText.js:256 +msgid "Advanced settings" +msgstr "" + +#: components/performance/defaultText.js:260 +msgid "Additional speed and scalability features powered by Jetpack Boost to make your site as fast as it can be." +msgstr "" + +#: components/performance/defaultText.js:264 +msgid "Optimize Critical CSS Loading (manual)" +msgstr "" + +#: components/performance/defaultText.js:268 +msgid "Move important styling information to the start of the page, which helps pages display your content sooner, so your users don’t have to wait for the entire page to load." +msgstr "" + +#: components/performance/defaultText.js:272 +msgid "Optimize Critical CSS Loading (UPGRADED)" +msgstr "" + +#: components/performance/defaultText.js:276 +msgid "Generate Critical CSS Automatically" +msgstr "" + +#. translators: %1$s is a line break (
), %2$s is the opening tag, %3$s is the closing tag. +#: components/performance/defaultText.js:282 +msgid "Move important styling information to the start of the page, which helps pages display your content sooner, so your users don’t have to wait for the entire page to load.%1$s %2$sBoost will automatically generate your Critical CSS%3$s whenever you make changes to the HTML or CSS structure of your site." +msgstr "" + +#: components/performance/defaultText.js:290 +msgid "Defer Non-Essential JavaScript" +msgstr "" + +#: components/performance/defaultText.js:294 +msgid "Run non-essential JavaScript after the page has loaded so that styles and images can load more quickly." +msgstr "" + +#: components/performance/defaultText.js:298 +msgid "Concatenate JS" +msgstr "" + +#: components/performance/defaultText.js:299 +msgid "Scripts are grouped by their original placement, concatenated and minified to reduce site loading time and reduce the number of requests." +msgstr "" + +#: components/performance/defaultText.js:303 +msgid "Exclude JS Strings" +msgstr "" + +#: components/performance/defaultText.js:307 +msgid "Concatenate CSS" +msgstr "" + +#: components/performance/defaultText.js:311 +msgid "Styles are grouped by their original placement, concatenated and minified to reduce site loading time and reduce the number of requests." +msgstr "" + +#: components/performance/defaultText.js:315 +msgid "Exclude CSS Strings" +msgstr "" + +#: components/performance/defaultText.js:319 +msgid "Show more" +msgstr "" + +#: components/performance/defaultText.js:320 +msgid "Show less" +msgstr "" + +#: components/performance/defaultText.js:321 +msgid "Discover More" +msgstr "" + +#: components/performance/defaultText.js:322 +msgid "Install Jetpack Boost to unlock" +msgstr "" + +#: components/performance/defaultText.js:326 +msgid "Installing Jetpack Boost…" +msgstr "" + +#: components/performance/defaultText.js:330 +msgid "Jetpack Boost is now active" +msgstr "" + +#: components/performance/defaultText.js:334 +msgid "Activation failed" +msgstr "" + +#. translators: %1$s is the opening tag, %2$s is the closing tag. +#: components/performance/defaultText.js:339 +msgid "Discover more %1$shere%2$s" +msgstr "" + +#: components/performance/defaultText.js:343 +msgid "Option saved correctly" +msgstr "" + +#: components/performance/defaultText.js:344 +msgid "Error saving option" +msgstr "" + +#: components/performance/defaultText.js:345 +msgid "Upgrade to unlock" +msgstr "" diff --git a/package-lock.json b/package-lock.json index 6c9ee36..069d0f8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,9 +15,11 @@ "@tailwindcss/forms": "^0.5.10", "@testing-library/cypress": "^10.0.2", "@wordpress/scripts": "^26.19.0", + "chalk": "^4.1.2", "css-minimizer-webpack-plugin": "^7.0.0", "cypress": "^12.9.0", "cypress-axe": "^1.4.0", + "glob": "^11.0.1", "tailwindcss": "^3.4.16" } }, @@ -2537,6 +2539,37 @@ } } }, + "node_modules/@jest/reporters/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@jest/reporters/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@jest/reporters/node_modules/istanbul-lib-instrument": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", @@ -2553,6 +2586,18 @@ "node": ">=10" } }, + "node_modules/@jest/reporters/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/@jest/reporters/node_modules/semver": { "version": "7.6.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", @@ -6702,6 +6747,7 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -8745,6 +8791,37 @@ "node": ">=0.10.0" } }, + "node_modules/del/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/del/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/del/node_modules/globby": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", @@ -8770,6 +8847,18 @@ "node": ">=0.10.0" } }, + "node_modules/del/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -10895,6 +10984,49 @@ "node": "^10.12.0 || >=12.0.0" } }, + "node_modules/flat-cache/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/flat-cache/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/flat-cache/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/flat-cache/node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -11341,21 +11473,24 @@ } }, "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.1.tgz", + "integrity": "sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw==", "dev": true, + "license": "ISC", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^4.0.1", + "minimatch": "^10.0.0", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^2.0.0" + }, + "bin": { + "glob": "dist/esm/bin.mjs" }, "engines": { - "node": "*" + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -11379,26 +11514,63 @@ "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", "dev": true }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/glob/node_modules/jackspeak": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.2.tgz", + "integrity": "sha512-bZsjR/iRjl1Nk1UkjGpAzLNfQtzuijhn2g+pbZb98HQ1Gk8vM9hfbxeMBP+M2/UUdwj0RqGG3mlvk2MsAqwvEw==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob/node_modules/lru-cache": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.2.tgz", + "integrity": "sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "20 || >=22" } }, "node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", + "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", "dev": true, + "license": "ISC", "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "*" + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob/node_modules/path-scurry": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", + "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/global-dirs": { @@ -13302,6 +13474,49 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/jest-config/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/jest-config/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jest-config/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/jest-config/node_modules/pretty-format": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", @@ -13807,6 +14022,49 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/jest-runtime/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/jest-runtime/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jest-runtime/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/jest-snapshot": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", @@ -14971,6 +15229,39 @@ "node": "^12.20.0 || >=14" } }, + "node_modules/markdownlint-cli/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/markdownlint-cli/node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/markdownlint-cli/node_modules/ignore": { "version": "5.2.4", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", @@ -15699,6 +15990,49 @@ "node": ">=10" } }, + "node_modules/npm-packlist/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/npm-packlist/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm-packlist/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/npm-run-path": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", @@ -17484,6 +17818,16 @@ "node": ">=10.18.1" } }, + "node_modules/puppeteer-core/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "node_modules/puppeteer-core/node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -17507,6 +17851,39 @@ "integrity": "sha512-0cuGS8+jhR67Fy7qG3i3Pc7Aw494sb9yG9QgpG97SFVWwolgYjlhJg7n+UaHxOQT30d1TYu/EYe9k01ivLErIg==", "dev": true }, + "node_modules/puppeteer-core/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/puppeteer-core/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/puppeteer-core/node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -18195,6 +18572,49 @@ "rimraf": "bin.js" } }, + "node_modules/rimraf/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/robots-parser": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/robots-parser/-/robots-parser-3.0.1.tgz", @@ -20098,6 +20518,27 @@ "concat-map": "0.0.1" } }, + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/test-exclude/node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -21252,6 +21693,16 @@ } } }, + "node_modules/webpack-dev-server/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "node_modules/webpack-dev-server/node_modules/chokidar": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", @@ -21276,6 +21727,27 @@ "fsevents": "~2.3.2" } }, + "node_modules/webpack-dev-server/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/webpack-dev-server/node_modules/glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", @@ -21288,6 +21760,18 @@ "node": ">= 6" } }, + "node_modules/webpack-dev-server/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/webpack-dev-server/node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", diff --git a/package.json b/package.json index f552649..54aeb27 100644 --- a/package.json +++ b/package.json @@ -11,21 +11,27 @@ "William Earnhardt (https://wearnhardt.com)" ], "dependencies": { - "@newfold/ui-component-library": "^1.1.0", "@newfold-labs/wp-module-runtime": "^1.0.12", + "@newfold/ui-component-library": "^1.1.0", "html-react-parser": "^5.2.2" }, "devDependencies": { "@tailwindcss/forms": "^0.5.10", "@testing-library/cypress": "^10.0.2", "@wordpress/scripts": "^26.19.0", + "chalk": "^4.1.2", "css-minimizer-webpack-plugin": "^7.0.0", "cypress": "^12.9.0", "cypress-axe": "^1.4.0", + "glob": "^11.0.1", "tailwindcss": "^3.4.16" }, "scripts": { "build": "wp-scripts build", - "start": "wp-scripts start" + "start": "wp-scripts start", + "lint-js": "wp-scripts lint-js", + "i18n-build": "composer run-script i18n", + "i18n-rename-json": "node ./translations-json-rename.js", + "i18n": "npm run -s i18n-build && npm run i18n-rename-json" } } diff --git a/translations-json-rename.js b/translations-json-rename.js new file mode 100644 index 0000000..ff0d67d --- /dev/null +++ b/translations-json-rename.js @@ -0,0 +1,50 @@ +/* jshint ignore: start */ + +/** + * Rename the json translation files replacing the md5 with script slug. + * + * @author Armando Liccardo + */ + +const fs = require( 'fs' ); +const {globSync} = require( 'glob' ); +const chalk = require( 'chalk' ); + +const RENAMED = chalk.reset.inverse.bold.green( ' RENAMED ' ); +const ERROR = chalk.reset.inverse.bold.red( ' ERROR ' ); + +const slugsMap = { + 'components/performance/defaultText.js': 'wp-module-performance-translations', + 'assets/image-bulk-optimizer/image-bulk-optimizer.js': 'nfd-performance-bulk-optimizer', + 'assets/image-optimized-marker/image-optimized-marker.js': 'nfd-performance-optimizer-marker' +}; + +const regex = /-(?:[a-f0-9]{32})\.json$/i; + +const files = globSync('languages/*.json') +console.log('Renaming json files'); +if ( files.length ) { + files.forEach( ( file ) => { + fs.readFile(file, function(err, data) { + + if (err) { + console.log( chalk.bold( ` - ${file} ` ) + ERROR ); + console.error( err ); + return; + } + + const fcontent = JSON.parse(data); + const slug = slugsMap[fcontent.source]; + console.log(fcontent.source,slugsMap[fcontent.source]); + if ( slug ) { + const newname = file.replace(regex, `-${slug}.json`); + fs.rename( + file, + newname, + () => { + console.log( chalk.bold( ` - ${file} ` ) + RENAMED + ` to ${newname}` ); + }); + } + }); + } ); +} \ No newline at end of file