Image Optimize Command - Easily optimize images using WP CLI

Overview

Image Optimize Command

Packagist Packagist PHP from Packagist CircleCI Codecov license Twitter Follow @TangRufus Hire Typist Tech

Easily optimize images using WP CLI

Built with by Typist Tech


Image Optimize Command is an open source project and completely free to use.

However, the amount of effort needed to maintain and develop new features is not sustainable without proper financial backing. If you have the capability, please consider donating using the links below:

GitHub via Sponsor Sponsor via PayPal More Sponsorship Information


Image Optimize Command is a WP CLI wrapper for spatie/image-optimizer which optimize gif, jpeg, jpg, png, svg, webp images by running them through a chain of various image optimization tools. Read the introductory blog post about why I built it.

Usage

# optimize specific attachments
$ wp image-optimize attachment 123 223 323

# optimize certain number of attachments
$ wp image-optimize batch --limit=20

# restore the full sized images of specific attachments
$ wp image-optimize restore 123 223 323
$ wp media regenerate 123 223 323

# restore all full sized images and drop all meta flags
$ wp image-optimize reset
$ wp media regenerate

# Find and optimize images under a given directory **without backup**
$ wp image-optimize find /path/to/my/directory --extensions=gif,jpeg,jpg,png,svg,webp

# shortcusts for `wp image-optimize find` **without backup**
$ wp image-optimize mu-plugins
$ wp image-optimize plugins
$ wp image-optimize themes
$ wp image-optimize wp-admin
$ wp image-optimize wp-includes

# learn more
$ wp help image-optimize
$ wp help image-optimize <subcommand>

Typist Tech is ready to build your next awesome WordPress site. Hire us!


Requirements

  • PHP v7.2 or later
  • WP-CLI v2.3.0 or greater

Since wp-cli/wp-cli-bundle bundles an older version of symfony/process which incompatible with spatie/image-optimizer, WP-CLI must be installed via composer.

Installation

$ wp package install typisttech/image-optimize-command:@stable

Optimization tools

Under the hood, image-optimize-command invokes spatie/image-optimizer which requires these binaries installed:

Check spatie/image-optimizer's readme for install instructions.

SVGO and cwebp are optional

Note that WordPress doesn't support svg files out of the box. You can omit SVGO. However, if you have enabled WordPress svg support and uploaded svg files to WordPress media library, you must install SVGO. Otherwise, the command will fail.

Same goes for cwebp.

Use Cases

First use

This command optimize both the full sized image(the one you uploaded) and the thumbnails(WordPress auto-resize these images for you).

Chances are the thumbnails are missing or never generated:

  • theme switched after upload
  • plugins activated after upload
  • deleted the images from disk but not updated WordPress' database

Simplest solution is to regenerate thumbnails then optimize:

$ wp media regenerate
$ wp image-optimize batch --limit=9999999

$ wp image-optimize mu-plugins
$ wp image-optimize plugins
$ wp image-optimize themes
$ wp image-optimize wp-admin
$ wp image-optimize wp-includes

After upgrading WordPress core / plugins / themes

$ wp image-optimize mu-plugins
$ wp image-optimize plugins
$ wp image-optimize themes
$ wp image-optimize wp-admin
$ wp image-optimize wp-includes

Restoring the originals

This command backs up the full sized images before optimizing attachments. If you want to restore them:

# optimize
$ wp image-optimize attachment 123

# restore the full sized image
$ wp image-optimize restore 123
# regenerate the thumbnails from the original full sized image
$ wp media regenerate 123

Migrating from image-optimize-command v0.1.x

Starting from v0.2, this command backs up the full sized images before optimizing attachments. To migrate from image-optimize-command v0.1.x:

$ wp image-optimize reset
$ wp media regenerate
$ wp image-optimize batch --limit=9999999

FAQs

What kind of optimization it does?

Mostly applying compression, removing metadata and reducing the number of colors to gif, jpeg, jpg, png, svg, webp images. The package is smart enough pick the right tool for the right image.

Check Freek Van der Herten's article explaining spatie/image-optimizer's sane default configuration.

How to customize the optimization?

use Spatie\ImageOptimizer\OptimizerChain;

add_filter('TypistTech/ImageOptimizeCommand/OptimizerChain', function (OptimizerChain $optimizerChain): OptimizerChain {
    // Option A: Send messages to $optimizerChain.
    $optimizerChain->setTimeout($xxx);
    $optimizerChain->useLogger($yyy);
    $optimizerChain->addOptimizer($zzz);

    // Option B: Make a new $optimizerChain.
    // See: https://github.com/spatie/image-optimizer/blob/master/src/OptimizerChainFactory.php
    $optimizerChain = new OptimizerChain();
    $optimizerChain->addOptimizer($zzz);

    // Finally
    return $optimizerChain;
});

How to skip backups / restorations?

⚠️ The optimzation is lossy. If you skip backing up the original files, there is no way to recover the original files. Proceed with caution.

use TypistTech\ImageOptimizeCommand\Operations\AttachmentImages\Backup;
use TypistTech\ImageOptimizeCommand\Operations\AttachmentImages\Restore;

add_filter('TypistTech/ImageOptimizeCommand/Operations/AttachmentImages/Backup', function (): Backup {
    // TODO: You have to implement a null backup class.
    return $myNullBackupObject;
});

add_filter('TypistTech/ImageOptimizeCommand/Operations/AttachmentImages/Restore', function (): Restore {
    // TODO: You have to implement a null restore class.
    return $myNullRestoreObject;
});

It would be nice to have those 2 null operations in a separate package. Submit pull requests to mention it in this readme if you have implemented it.

Does running wp image-optimize attachment / batch multiple times trigger multiple optimization for the same attachments?

No.

By default, boolean flags (meta fields) are given to attachments after optimization. This is to prevent re-optimizing an already optimized attachment. If you changed the image files (e.g.: resize / regenerate thumbnail), you must first reset their meta flags.

Note: The find subcommand and its shortcuts don't create meta flags.

Will the images look different after optimization?

Yes, a little bit. This is lossy optimization. However, you won't notice the difference unless you have a trained eye for that.

See spatie/image-optimizer's readme on binary options used.

Why my GIFs stopped animating?

When you upload an image using the media uploader, WordPress automatically creates several copies of that image in different sizes...When creating new image sizes for animated GIFs, WordPress ends up saving only the first frame of the GIF...

--- wpbeginner

Luckily for you, Lasse M. Tvedt showed how to stop WordPress from resizing GIFs on StackExchange.

Can I use this on managed hosting?

No, you can't use this on managed hosting such as Kinsta, Flywheel or WP Engine because they prohibit installing the binaries.

If you must use it on managed hosting, hire a developer to add SaaS provider integration:

Do I have to install SVGO or cwebp?

No, if you don't have any svg files in WordPress media library.

Yes, if you have:

Same goes for cwebp.

PHP Fatal error: Allowed memory size of 999999 bytes exhausted (tried to allocate 99 bytes)

This is a common WP CLI issue. See: https://bit.ly/wpclimem

Does it have a limits or quotas?

No, unlike other SaaS alternatives, this package runs on your server without any limitation on file sizes or a monthly quota. Totally free of charge.

Is it for everyone?

No, it comes at a cost. Optimization is CPU intensive. Expect CPU usage rockets up to 100% during optimization. Schedule it to run at late night in small batches.

Learn more on this article.

Will you add support for older PHP versions?

Never! This plugin will only work on actively supported PHP versions.

Don't use it on end of life or security fixes only PHP versions.

It looks awesome. Where can I find some more goodies like this

Where can I give 5-star reviews?

Thanks! Glad you like it. It's important to let me knows somebody is using this project. Please consider:

Testing

Run the tests:

$ composer test
$ composer style:check

Feedback

Please provide feedback! We want to make this project as useful as possible. Please submit an issue and point out what you do and don't like, or fork the project and send pull requests. No issue is too small.

Security Vulnerabilities

If you discover a security vulnerability within this project, please email us at [email protected]. All security vulnerabilities will be promptly addressed.

Credits

Image Optimize Command is a Typist Tech project and maintained by Tang Rufus, freelance developer for hire.

Special thanks to Freek Van der Herten whose spatie/image-optimizer package makes this project possible.

Full list of contributors can be found here.

License

Image Optimize Command is released under the MIT License.

Comments
  • PHP Fatal error:  Uncaught Error: Call to undefined method Symfony\Component\Process

    PHP Fatal error: Uncaught Error: Call to undefined method Symfony\Component\Process

    First of all, thank you for this great WP CLI script. Really hope to get it running on our system. Running the following command:

    wp image-optimize attachment 12660 --allow-root

    On this machine:

    Ubuntu 18.04.1 LTS
    PHP 7.2.15-0
    
    

    Which results in this error:

    PHP Fatal error:  Uncaught Error: Call to undefined method Symfony\Component\Process\Process::fromShellCommandline() in /root/.wp-cli/packages/vendor/spatie/image-optimizer/src/OptimizerChain.php:97
    Stack trace:
    #0 /root/.wp-cli/packages/vendor/spatie/image-optimizer/src/OptimizerChain.php(77): Spatie\ImageOptimizer\OptimizerChain->applyOptimizer(Object(Spatie\ImageOptimizer\Optimizers\Jpegoptim), Object(Spatie\ImageOptimizer\Image))
    #1 /root/.wp-cli/packages/vendor/typisttech/image-optimize-command/src/Operations/Optimize.php(73): Spatie\ImageOptimizer\OptimizerChain->optimize('/var/www/html/w...')
    #2 [internal function]: TypistTech\ImageOptimizeCommand\Operations\Optimize->TypistTech\ImageOptimizeCommand\Operations\{closure}('/var/www/html/w...')
    #3 /root/.wp-cli/packages/vendor/typisttech/image-optimize-command/src/Operations/Optimize.php(74): array_map(Object(Closure), Array)
    #4 /root/.wp-cli/packages/vendor/typisttech/image-optimize-command/src/Operations/AttachmentImages/Optimize.php(104): TypistTech\ImageOptimizeCommand in /root/.wp-cli/packages/vendor/spatie/image-optimizer/src/OptimizerChain.php on line 97
    
    

    The install went as following:

    wp package install typisttech/image-optimize-command:@stable --allow-root
    Installing package typisttech/image-optimize-command (@stable)
    Updating /root/.wp-cli/packages/composer.json to require the package...
    Using Composer to install the package...
    ---
    Loading composer repositories with package information
    Updating dependencies
    Resolving dependencies through SAT
    Looking at all rules.
    Something's changed, looking at all rules again (pass #1)
    
    Dependency resolution completed in 5.266 seconds
    Analyzed 6338 packages to resolve dependencies
    Analyzed 542383 rules to resolve dependencies
    Package operations: 7 installs, 0 updates, 0 removals
    Installs: symfony/finder:v4.2.3, symfony/polyfill-ctype:v1.10.0, symfony/filesystem:v4.2.3, symfony/process:v4.2.3, psr/log:1.1.0, spatie/image-optimizer:1.1.5, typisttech/image-optimize-command:0.3.1
     - Installing symfony/finder (v4.2.3)
     - Warning: typisttech/image-optimize-command 0.3.1 requires symfony/finder ^4.1 -> satisfiable by symfony/finder[4.1.x-dev, 4.2.x-dev, 4.3.x-dev, v4.1.0, v4.1.0-BETA1, v4.1.0-BETA2, v4.1.0-BETA3, v4.1.1, v4.1.10, v4.1.11, v4.1.2, v4.1.3, v4.1.4, v4.1.5, v4.1.6, v4.1.7, v4.1.8, v4.1.9, v4.2.0, v4.2.0-BETA1, v4.2.0-BETA2, v4.2.0-RC1, v4.2.1, v4.2.2, v4.2.3].
     - Installing symfony/polyfill-ctype (v1.10.0)
     - Warning: symfony/filesystem v4.2.3 requires symfony/polyfill-ctype ~1.8 -> satisfiable by symfony/polyfill-ctype[1.11.x-dev, v1.10.0, v1.8.0, v1.9.0].
     - Installing symfony/filesystem (v4.2.3)
     - Warning: typisttech/image-optimize-command 0.3.1 requires symfony/filesystem ^4.1 -> satisfiable by symfony/filesystem[4.1.x-dev, 4.2.x-dev, 4.3.x-dev, v4.1.0, v4.1.0-BETA1, v4.1.0-BETA2, v4.1.0-BETA3, v4.1.1, v4.1.10, v4.1.11, v4.1.2, v4.1.3, v4.1.4, v4.1.5, v4.1.6, v4.1.7, v4.1.8, v4.1.9, v4.2.0, v4.2.0-BETA1, v4.2.0-BETA2, v4.2.0-RC1, v4.2.1, v4.2.2, v4.2.3].
     - Installing symfony/process (v4.2.3)
     - Warning: spatie/image-optimizer 1.1.5 requires symfony/process ^4.2 -> satisfiable by symfony/process[4.2.x-dev, 4.3.x-dev, v4.2.0, v4.2.0-BETA1, v4.2.0-BETA2, v4.2.0-RC1, v4.2.1, v4.2.2, v4.2.3].
     - Installing psr/log (1.1.0)
     - Warning: typisttech/image-optimize-command 0.3.1 requires psr/log ^1.0 -> satisfiable by psr/log[1.0.0, 1.0.1, 1.0.2, 1.1.0, 1.1.x-dev].
     - Installing spatie/image-optimizer (1.1.5)
     - Warning: typisttech/image-optimize-command 0.3.1 requires spatie/image-optimizer ^1.1.3 -> satisfiable by spatie/image-optimizer[1.1.3, 1.1.4, 1.1.5].
     - Installing typisttech/image-optimize-command (0.3.1)
    Writing lock file
    Generating autoload files
    ---
    Success: Package installed.
    
    
    help wanted wontfix 
    opened by opicron 18
  • Fatal error: Uncaught Error: Call to undefined function Spatie\ImageOptimizer\mime_content_type()

    Fatal error: Uncaught Error: Call to undefined function Spatie\ImageOptimizer\mime_content_type()

    I am trying to use this package into wp-cli. When I try to optimize images, I am getting this error.

    Fatal error: Uncaught Error: Call to undefined function Spatie\ImageOptimizer\mime_content_type() in /home/xxx/.wp-cli/packages/vendor/spatie/image-optimizer/src/Image.php:22 Stack trace: #0 /home/xxx/.wp-cli/packages/vendor/spatie/image-optimizer/src/Optimizers/Jpegoptim.php(13): Spatie\ImageOptimizer\Image->mime() #1 /home/xxx/.wp-cli/packages/vendor/spatie/image-optimizer/src/OptimizerChain.php(83): Spatie\ImageOptimizer\Optimizers\Jpegoptim->canHandle(Object(Spatie\ImageOptimizer\Image)) #2 /home/xxx/.wp-cli/packages/vendor/spatie/image-optimizer/src/OptimizerChain.php(77): Spatie\ImageOptimizer\OptimizerChain->applyOptimizer(Object(Spatie\ImageOptimizer\Optimizers\Jpegoptim), Object(Spatie\ImageOptimizer\Image)) #3 /home/xxx/.wp-cli/packages/vendor/typisttech/image-optimize-command/src/Operations/Optimize.php(73): Spatie\ImageOptimizer\OptimizerChain->optimize('/home/xxx/...') #4 [internal function]: TypistTech\ImageOptimizeCommand\Operations\Optimize->TypistTech\ImageOptimizeCommand\Ope in /home/xxx/.wp-cli/packages/vendor/spatie/image-optimizer/src/Image.php on line 22

    is there anything missing during installation? My command is:: wp image-optimize find /home/xxx/public_html --extensions=gif,jpeg,jpg,png,svg

    Thanks in advance.

    opened by sonnetmia 4
  • SSL certificate problem: certificate has expired

    SSL certificate problem: certificate has expired

    Hi, When installing this tool via "wp package install typisttech/image-optimize-command:@stable" I get this error message:

    Error: curl error 60 while downloading https://wp-cli.org/package-index/packages.json: SSL certificate problem: certificate has expired

    Please update your certificate and/or provide a workaround for install.

    Have a great day, Richard

    opened by italianrich 3
  • Bump codeception/base from 2.5.6 to 3.0.0

    Bump codeception/base from 2.5.6 to 3.0.0

    Bumps codeception/base from 2.5.6 to 3.0.0.

    Commits
    • 86f10d5 auto-update
    • 88a0a3e version bump
    • 6885ec5 Merge branch '2.6' into 3.0
    • 895e81d Merge branch '2.6' of github.com:Codeception/Codeception into 2.6
    • 1f17576 prepared release
    • 6df9679 Fixing Module.php constuctor and getConfig phpdoc parameter definitions (#5467)
    • db0ece5 Merge branch '2.5' into 3.0
    • 86dd3e6 Update WebDriver documentation - typo in example (#5472)
    • fee8c13 updated changelog with 2.6 and 3.0 changes
    • 29072d5 Merge branch '2.6' into 3.0
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    If all status checks pass Dependabot will automatically merge this pull request.


    Note: This repo was added to Dependabot recently, so you'll receive a maximum of 5 PRs for your first few update runs. Once an update run creates fewer than 5 PRs we'll remove that limit.

    You can always request more updates by clicking Bump now in your Dependabot dashboard.

    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot ignore this [patch|minor|major] version will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it). To ignore the version in this PR you can just close it
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in the .dependabot/config.yml file in this repo:

    • Update frequency (including time of day and day of week)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)

    Finally, you can contact us by mentioning @dependabot.

    dependencies 
    opened by dependabot-preview[bot] 3
  • Bump itinerisltd/itineris-wp-coding-standards from 0.1.0 to 0.3.0

    Bump itinerisltd/itineris-wp-coding-standards from 0.1.0 to 0.3.0

    Bumps itinerisltd/itineris-wp-coding-standards from 0.1.0 to 0.3.0.

    Changelog

    Sourced from itinerisltd/itineris-wp-coding-standards's changelog.

    0.3.0 (2019-07-11)

    Full Changelog

    Merged pull requests:

    • Update to wp-coding-standards/wpcs:^2.1; Ditch automattic/vipwpcs #18 (TangRufus)

    0.2.3 (2019-03-20)

    Full Changelog

    Merged pull requests:

    0.2.2 (2019-02-19)

    Full Changelog

    Merged pull requests:

    0.2.1 (2019-02-18)

    Full Changelog

    Merged pull requests:

    0.2.0 (2019-01-28)

    Full Changelog

    Merged pull requests:

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    If all status checks pass Dependabot will automatically merge this pull request.


    Note: This repo was added to Dependabot recently, so you'll receive a maximum of 5 PRs for your first few update runs. Once an update run creates fewer than 5 PRs we'll remove that limit.

    You can always request more updates by clicking Bump now in your Dependabot dashboard.

    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot ignore this [patch|minor|major] version will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it). To ignore the version in this PR you can just close it
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in the .dependabot/config.yml file in this repo:

    • Update frequency (including time of day and day of week)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)

    Finally, you can contact us by mentioning @dependabot.

    dependencies 
    opened by dependabot-preview[bot] 3
  • PHP Fatal error:  Uncaught Symfony\Component\Process\Exception\RuntimeException: The process has been signaled with signal

    PHP Fatal error: Uncaught Symfony\Component\Process\Exception\RuntimeException: The process has been signaled with signal "11".

    Hi there,

    I have a new error.

    PHP Fatal error: Uncaught Symfony\Component\Process\Exception\RuntimeException: The process has been signaled with signal "11". in phar:///usr/local/bin/wp/vendor/symfony/process/Process.php:366

    At beginning the script was working well but since 2 days I get this error. I tried to empty composer cache, restart server, but it didn't work.

    Do you know where this issue might comes from?

    Many thanks in advance.

    opened by Redjam 3
  • undefined method fromShellCommandline

    undefined method fromShellCommandline

    Hello,

    First of all, thx for this extension that looks awesome. I have an issue when i try using it and i hope you will be able to help me

    wp image-optimize batch

    ===> Backing up full sized images for 10 attachment(s) ===> Backing up 10 full sized image(s) Finished ===> Optimizing images for 10 attachment(s) ===> Optimizing images of attachment ID: 9714 ===> Optimizing 6 file(s) PHP Fatal error: Uncaught Error: Call to undefined method Symfony\Component\Process\Process::fromShellCommandline() in /home/forge/.wp-cli/packages/vendor/spatie/image-optimizer/src/OptimizerChain.php:97 Stack trace: #0 /home/forge/.wp-cli/packages/vendor/spatie/image-optimizer/src/OptimizerChain.php(77): Spatie\ImageOptimizer\OptimizerChain->applyOptimizer(Object(Spatie\ImageOptimizer\Optimizers\Jpegoptim), Object(Spatie\ImageOptimizer\Image)) #1 /home/forge/.wp-cli/packages/vendor/typisttech/image-optimize-command/src/Operations/Optimize.php(73): Spatie\ImageOptimizer\OptimizerChain->optimize('/home/forge/mon...') #2 [internal function]: TypistTech\ImageOptimizeCommand\Operations\Optimize->TypistTech\ImageOptimizeCommand\Operations{closure}('/home/forge/mon...') #3 /home/forge/.wp-cli/packages/vendor/typisttech/image-optimize-command/src/Operations/Optimize.php(74): array_map(Object(Closure), Array) #4 /home/forge/.wp-cli/packages/vendor/typisttech/image-optimize-command/src/Operations/AttachmentImages/Optimize.php(104): T in /home/forge/.wp-cli/packages/vendor/spatie/image-optimizer/src/OptimizerChain.php on line 97

    Any idea what i did wrong ?

    Thx

    wontfix 
    opened by JeromeSiau 3
  • Add ability to backup and restore original images when necessary

    Add ability to backup and restore original images when necessary

    Well I am just having some suggestions by real code to add ability to backup and restore original images because I think this could be useful when you want your original files intact. Feel free to reject and have your own code. Cheers!

    opened by alexdonh 3
  • Build(deps): [Security] Bump rmccue/requests from 1.7.0 to 1.8.0

    Build(deps): [Security] Bump rmccue/requests from 1.7.0 to 1.8.0

    Bumps rmccue/requests from 1.7.0 to 1.8.0. This update includes a security fix.

    Vulnerabilities fixed

    Sourced from The PHP Security Advisories Database.

    Insecure Deserialization of untrusted data

    Affected versions: >=1.6.0, <1.8.0


    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    If all status checks pass Dependabot will automatically merge this pull request.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in the .dependabot/config.yml file in this repo:

    • Update frequency
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies security 
    opened by dependabot-preview[bot] 2
  • Build(deps): Bump spatie/image-optimizer from 1.3.1 to 1.3.2

    Build(deps): Bump spatie/image-optimizer from 1.3.1 to 1.3.2

    Bumps spatie/image-optimizer from 1.3.1 to 1.3.2.

    Release notes

    Sourced from spatie/image-optimizer's releases.

    1.3.2

    • improve gifsicle (#131)
    Changelog

    Sourced from spatie/image-optimizer's changelog.

    1.3.2 - 2020-11-28

    • improve gifsicle (#131)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    If all status checks pass Dependabot will automatically merge this pull request.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in the .dependabot/config.yml file in this repo:

    • Update frequency
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 2
  • Build(deps): Bump codeception/lib-asserts from 1.12.0 to 1.13.1

    Build(deps): Bump codeception/lib-asserts from 1.12.0 to 1.13.1

    Bumps codeception/lib-asserts from 1.12.0 to 1.13.1.

    Release notes

    Sourced from codeception/lib-asserts's releases.

    Fix methods broken by 1.13.0

    No release notes provided.

    Support for full PHPUnit public API

    #5 by @TavoNiievez

    Commits
    • 263ef0b Merge pull request #6 from Codeception/restore-wrapper-methods
    • d75ecea Use wrapper methods again
    • f6dd77f Support for full PHPUnit public API (#5)
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    If all status checks pass Dependabot will automatically merge this pull request.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in the .dependabot/config.yml file in this repo:

    • Update frequency
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 2
  • Add support for php ^8.0

    Add support for php ^8.0

    I'm using php 8.1.4 on my server and was unable to install this package because composer requires php 7.2 until < 8.0.0. Requiring ^8.0, I could successfully install it.

    opened by gabrielgiordan 0
  • Build(deps): Bump guzzlehttp/psr7 from 1.7.0 to 1.8.5

    Build(deps): Bump guzzlehttp/psr7 from 1.7.0 to 1.8.5

    Bumps guzzlehttp/psr7 from 1.7.0 to 1.8.5.

    Release notes

    Sourced from guzzlehttp/psr7's releases.

    1.8.5

    See change log for changes.

    1.8.4

    See change log for changes.

    1.8.3

    See change log for changes.

    1.8.2

    See change log for changes.

    1.8.1

    See change log for changes.

    1.8.0

    See change log for changes.

    Changelog

    Sourced from guzzlehttp/psr7's changelog.

    1.8.5 - 2022-03-20

    Fixed

    • Correct header value validation

    1.8.4 - 2022-03-20

    Fixed

    • Validate header values properly

    1.8.3 - 2021-10-05

    Fixed

    • Return null in caching stream size if remote size is null

    1.8.2 - 2021-04-26

    Fixed

    • Handle possibly unset url in stream_get_meta_data

    1.8.1 - 2021-03-21

    Fixed

    • Issue parsing IPv6 URLs
    • Issue modifying ServerRequest lost all its attributes

    1.8.0 - 2021-03-21

    Added

    • Locale independent URL parsing
    • Most classes got a @final annotation to prepare for 2.0

    Fixed

    • Issue when creating stream from php://input and curl-ext is not installed
    • Broken Utils::tryFopen() on PHP 8
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Build(deps): Bump mustache/mustache from 2.13.0 to 2.14.1

    Build(deps): Bump mustache/mustache from 2.13.0 to 2.14.1

    Bumps mustache/mustache from 2.13.0 to 2.14.1.

    Release notes

    Sourced from mustache/mustache's releases.

    Mustache.php v2.14.1 — Security release

    • Fix CVE-2022-0323, possible RCE when rendering untrusted user templates, reported by @​altm4n via huntr.dev
    • Improve compatibility with PHP 8.1

    Mustache.php v2.14.0

    Commits
    • 579ffa5 Fix CVE-2022-0323 (improper neutralization of section names)
    • 0762097 Explicitly treat null as an empty string when interpolating.
    • 7fd191f Remove unused variable.
    • e7165a3 Only check for mbstring.func_overload in < PHP 8.x
    • 26c8a44 Fix PHP 8.1 deprecation warning when user lambdas do not return a string
    • 4e2724d Merge branch 'release/2.14.0'
    • 3ce0ee0 Bump to v2.14.0, bump spec version to 1.2.2
    • 6361644 Merge pull request #380 from schlessera/fix/trim-php-8.1
    • d6340c8 Update readme link
    • 1a125df Brevity.
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Build(deps-dev): Bump codeception/codeception from 4.1.12 to 4.1.22

    Build(deps-dev): Bump codeception/codeception from 4.1.12 to 4.1.22

    Bumps codeception/codeception from 4.1.12 to 4.1.22.

    Release notes

    Sourced from codeception/codeception's releases.

    Security fix

    • Security fix: Disable deserialization of RunProcess class (#6241) reported by @​snoopysecurity
    • Reduce memory consumption of very large tests (#6230) by @​esnelubov
    • Support guzzlehttp/psr7 v2 by @​W0rma
    • Fix W3C warning in reports generated by Recorder extension (#6224) by RickR2H

    4.1.21

    • Fix dry-run compatibility with symfony/console 5.3
    • Coverage: Don't attempt to set cookie domain when it is "localhost" #6210 by @​marcovtwout
    • Coverage: Don't attempt to read cookies while an alert is open #6211 by @​marcovtwout

    4.1.20

    • Fix compatibility with PHP 7.0

    4.1.19

    • Action file generator supports PHP 8 union types
    • Action file generator generates typehints for method parameters
    • Removed dead code related to DataProviderTestSuite
    • Removed documentation related to Cept format
    • Deprecated generate:cept command
    • Documentation improvements

    4.1.18

    • Fix cleanup of included test directories #6117 by @​rolandsaven
    • Clean command will not delete .gitkeep files in _output directory #6118
    • Add line break between opening tag and namespace in generated Cest and Test files #6072

    4.1.17

    • Fix codecept run suite when suite name matches directory (bug introduced in 4.1.16)
    • codecept run tests is equivalent to codecept run
    • codecept run :filter works without specifying suite #6105
    • codecept run tests:filter works too

    4.1.16

    • Detect the suite from a test path relative to the current working dir (#6051)
    • GroupManager: Fixed bug introduced in 4.1.15
    • Show location of warning in error message (#6090)

    4.1.15

    • GroupManager: Show which group contains a missing file #5938
    • Ignore . namespace in generators when someone pass path as a class name, e.g. ./foo #5818
    • Removed "Running with seed" from CLI report (#6088) by @​eXorus
    • Suggest most similar module in missing module exception #6079 by @​c33s

    4.1.14

    • Improved compatibility logic for Symfony EventDispatcher

    4.1.13

    • Gherkin: Fixed loading methods from namespaced helper classes #6057
    Changelog

    Sourced from codeception/codeception's changelog.

    4.1.22

    • Security fix: Disable deserialization of RunProcess class (#6241)
    • Reduce memory consumption of very large tests (#6230) by @​esnelubov
    • Support guzzlehttp/psr7 v2 by @​W0rma
    • Fix W3C warning in reports generated by Recorder extension (#6224) by RickR2H

    4.1.21

    • Fix dry-run compatibility with symfony/console 5.3
    • Coverage: Don't attempt to set cookie domain when it is "localhost" (#6210) by @​marcovtwout
    • Coverage: Don't attempt to read cookies while an alert is open (#6211) by @​marcovtwout

    4.1.20

    • Fix compatibility with PHP 7.0 (#6154)

    4.1.19

    • Action file generator supports PHP 8 union types
    • Action file generator generates typehints for method parameters
    • Removed dead code related to DataProviderTestSuite
    • Removed documentation related to Cept format
    • Deprecated generate:cept command
    • Documentation improvements

    4.1.18

    • Fix cleanup of included test directories #6117 by @​rolandsaven
    • Clean command will not delete .gitkeep files in _output directory #6118
    • Add line break between opening tag and namespace in generated Cest and Test files #6072

    4.1.17

    • Fix codecept run suite when suite name matches directory (bug introduced in 4.1.16)
    • codecept run tests is equivalent to codecept run
    • codecept run :filter works without specifying suite #6105
    • codecept run tests:filter works too

    4.1.16

    • Detect the suite from a test path relative to the current working dir (#6051)
    • GroupManager: Fixed bug introduced in 4.1.15
    • Show location of warning in error message (#6090)

    4.1.15

    • GroupManager: Show which group contains a missing file #5938
    • Ignore . namespace in generators when someone pass path as a class name, e.g. ./foo #5818
    • Removed "Running with seed" from CLI report (#6088) by @​eXorus

    ... (truncated)

    Commits
    • 9777ec3 4.1.22
    • cbce9ea Security: Disable deserialization of RunProcess class (#6241)
    • d69ab79 Merge pull request #6230 from esnelubov/4.1-free-memory
    • ad2d34e Add check for PHP version to make the code work on PHP 5.6
    • 2cc87fd Reduce the memory consumption of tests by forcing PHP to return the unused me...
    • 701b636 Merge pull request #6229 from W0rma/guzzle-psr7-v2
    • 405204b Allow installation of guzzlehttp/psr7 v2
    • 549160c Recorder extension: role="navigation" is unnecessary for element nav (#6224)
    • c25f20d Use 1.x versions of modules in 4.1 to fix CI
    • 818a8b3 4.1.21
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Build(deps): [Security] Bump rmccue/requests from 1.7.0 to 1.8.1

    Build(deps): [Security] Bump rmccue/requests from 1.7.0 to 1.8.1

    Bumps rmccue/requests from 1.7.0 to 1.8.1. This update includes a security fix.

    Vulnerabilities fixed

    Sourced from The PHP Security Advisories Database.

    Insecure Deserialization of untrusted data

    Affected versions: >=1.6.0, <1.8.0


    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    If all status checks pass Dependabot will automatically merge this pull request.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in the .dependabot/config.yml file in this repo:

    • Update frequency
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies security 
    opened by dependabot-preview[bot] 1
  • Build(deps): Bump wp-cli/wp-cli from 2.4.1 to 2.5.0

    Build(deps): Bump wp-cli/wp-cli from 2.4.1 to 2.5.0

    Bumps wp-cli/wp-cli from 2.4.1 to 2.5.0.

    Release notes

    Sourced from wp-cli/wp-cli's releases.

    Release 2.5.0

    • Require v1.8 of Requests [#5529]
    • Remove tech debt via Rector [#5528]
    • Move fetcher implementations back into framework [#5527]
    • Add WpOrgApi abstraction to handle WordPress.org API requests [#5526]
    • Update Composer dependencies - 2021-05-08 [#5524]
    • Disable automatic retry by default on certificate validation error [#5523]
    • Add missing $pipes variables when creating processes [#5522]
    • Harden error message on failed cache directory creation [#5520]
    • Update docblocks for methods that accept error objects [#5516]
    • Use custom certificate if provided [#5514]
    • Respect provided verify option in Utils\http_request [#5507]
    • Add magic properties to docblock [#5504]
    • Allow disabling of ini_set() [#5499]
    • Update GHA functional tests workflow [#5498]
    • Switch from Travis CI to GitHub Actions [#5483]
    • Add PHP 8 as an allowed PHP version [#5477]
    • Fix registering a command with a class and method name pair on PHP 8. [#5476]
    • [PHP 8] Add properties argument to __set_state magic method [#5469]
    • Improve regex to match __FILE__ and __DIR__ magic constants [#5465]
    • Skip using removed Operation::getReason() for Composer v2 compat [#5462]
    • Update Composer dependencies - 2020-10-31 [#5461]
    • Support custom folder structures in wp-config.php file [#5460]
    • Fixed: Wrong param type. [#5459]
    • Fix non static methods in Extractor_Test class call statically [#5457]
    • Only suppress global parameters if set as true [#5455]
    • Add global parameter for executing php [#5454]
    • Missing @return tag in function/method PHPDoc comment [#5450]
    • Allow root from environment [#5448]
    • Update dependencies 2020-09-29 [#5445]
    • Fix a broken link in the README file [#5443]
    • Add support for Redis Object Cache [#5436]
    • Allow user to suppress global parameters info from help display [#5423]
    • Updated license date [#5421]
    • Add $interactive arg for run_mysql_command() [#5420]
    • Add support for comma-separated flag values [#5419]
    • Fix SERVER_PORT JSON encoding failure [#5417]
    • Create a default global config file if it does not exist [#5411]
    • Update Composer lock file - 2020-06-10 [#5409]
    • Updated minimum required PHP version too 5.6 [#5408]
    • Include classmap in order to fix composer 2.0 deprecation notices. [#5407]
    • Bump PHPCS compatibility tests to new PHP 5.6+ minimum [#5406]
    • Throw exception when misusing error_to_string() [#5405]
    • Add regenerate-readme GitHub Action workflow [#5399]
    • Improve replace_path_costs() with logic from eval file command [#5397]
    • Add database info to cli info command [#5386]
    • Let Utils\run_mysql_command() return data [#5384]
    • Bump Travis CI OS from trusty to xenial [#5381]
    • Enforce PHP 7.4 compatibility in Travis CI [#5380]
    • Remove is_bundled_command() method [#5375]

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
☄️ PHP CLI mode development framework, supports Swoole, WorkerMan, FPM, CLI-Server

☄️ PHP CLI mode development framework, supports Swoole, WorkerMan, FPM, CLI-Server / PHP 命令行模式开发框架,支持 Swoole、WorkerMan、FPM、CLI-Server

Mix PHP 1.8k Jan 3, 2023
WP-CLI Trait Package Command

WP-CLI Trait Package Command Generate plugin or php model files e.g. post-type or taxonomy for WP-Trait Package in Develop WordPress Plugin. Installat

Mehrshad Darzi 2 Dec 17, 2021
Sylius plugin to define a command cli context (ChannelContext)

Cli Context Plugin This plugin provide a default channel context for your Symfony Command. When Sylius load a resource implements Sylius\Component\Res

null 4 Dec 15, 2022
The Platform.sh CLI is the official command-line interface for Platform.sh

The Platform.sh CLI is the official command-line interface for Platform.sh. Use this tool to interact with your Platform.sh projects, and to build them locally for development purposes.

Platform.sh 222 Dec 29, 2022
A powerful command line application framework for PHP. It's an extensible, flexible component, You can build your command-based application in seconds!

CLIFramework CLIFramework is a command-line application framework, for building flexiable, simple command-line applications. Commands and Subcommands

Yo-An Lin 428 Dec 13, 2022
⌨️ A command palette to easily jump to specific areas within Craft

Palette ⌨️ CMD+K your way around Craft! ?? What is Palette? Palette allows you to easily jump to specific areas within Craft without lifting your hand

TrendyMinds 5 Dec 30, 2022
unofficial cli built using php which can be used to upload and download files from anonfiles.com

Anonfiles CLI Table of Contents Introduction Features Screenshots Installation Contributing License Introduction Anon Files CLI can upload and downloa

Albin Varghese 8 Nov 21, 2022
Host Onion services in dark web using Heroku CLI

Tor Onion Service On Heroku Host Tor v3 Hidden Service in dark web using heroku Try my another repository built with php https://github.com/sumithemma

Emmadi Sumith Kumar 34 Dec 13, 2022
Lovely PHP wrapper for using the command-line

ShellWrap What is it? It's a beautiful way to use powerful Linux/Unix tools in PHP. Easily and logically pipe commands together, capture errors as PHP

James Hall 745 Dec 30, 2022
🖥 Build beautiful PHP CLI menus. Simple yet Powerful. Expressive DSL.

Contents Minimum Requirements Installation Upgrading Usage Quick Setup Examples API Appearance Menu Title Colour Width Padding Margin Borders Exit But

PHP School 1.9k Dec 28, 2022
An Elegant CLI Library for PHP

Commando An Elegant PHP CLI Library Commando is a PHP command line interface library that beautifies and simplifies writing PHP scripts intended for c

Nate Good 793 Dec 25, 2022
Cilex a lightweight framework for creating PHP CLI scripts inspired by Silex

Cilex, a simple Command Line Interface framework Cilex is a simple command line application framework to develop simple tools based on Symfony2 compon

null 624 Dec 6, 2022
PHP Version Manager for the CLI on Windows

This package has a much more niche use case than nvm does. When developing on Windows and using the integrated terminal, it's quite difficult to get those terminals to actually listen to PATH changes.

Harry Bayliss 49 Dec 19, 2022
Library for creating CLI commands or applications

Console Motivation: this library purpose is to provide a lighter and more robust API for console commands and/or applications to symfony/console. It c

Théo FIDRY 16 Dec 28, 2022
PHP CLI tool which allows publishing zipped MODX extra to modstore.pro marketplace

MODX Extra Publisher PHP CLI tool which allows publishing zipped MODX extra to modstore.pro marketplace. Installation global? local? To install packag

Ivan Klimchuk 3 Aug 6, 2021
A handy set of Stringable mixins for CLI text.

Laravel Colorize A mixin for Laravel's Stringable to easily apply colors and styles to CLI text. Installation You can install the package via Composer

James Brooks 47 Oct 30, 2022
PHP CLI project to get an appointment from https://vacunacovid.catsalut.gencat.ca

covid_vaccine_bcn PHP CLI project to get an appointment from https://citavacunacovid19.catsalut.gencat.cat/Vacunacio_Covid/Vacunacio/VacunacioCovidRes

Gabriel Noé González 3 Jul 27, 2021
PHP CLI to add latest release notes to a CHANGELOG

changelog-updater A PHP CLI to update a CHANGELOG following the "Keep a Changelog" format with the latest release notes. Want to automate the process

Stefan Zweifel 15 Sep 21, 2022