Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Checking the installer triggered no errors
This plugin's installer ran successfully
Server metrics [RAM: ▲0.67MB] [CPU: ▼1.48ms] Passed 4 tests
Analyzing server-side resources used by Minterpress
Normal server usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 4.13 ▲0.66 | 40.75 ▲2.55 |
Dashboard /wp-admin | 3.98 ▲0.67 | 49.51 ▲0.28 |
Posts /wp-admin/edit.php | 4.03 ▲0.67 | 49.85 ▼4.72 |
Add New Post /wp-admin/post-new.php | 6.75 ▲0.86 | 96.64 ▼4.02 |
Media Library /wp-admin/upload.php | 3.90 ▲0.67 | 41.58 ▲7.96 |
Server storage [IO: ▲10.66MB] [DB: ▲0.00MB] Passed 3 tests
How much does this plugin use your filesystem and database?
No storage issues were detected
Filesystem: 1,019 new files
Database: no new tables, 8 new options
New WordPress options |
---|
can_compress_scripts |
pinata_api_key |
theysaidso_admin_options |
pinata_api_secret |
widget_recent-comments |
widget_recent-posts |
widget_theysaidso_widget |
db_upgraded |
Browser metrics Passed 4 tests
An overview of browser requirements for Minterpress
There were no issues detected in relation to browser resource usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,924 ▲163 | 13.75 ▼0.60 | 7.71 ▲6.02 | 68.29 ▲24.91 |
Dashboard /wp-admin | 2,230 ▲53 | 5.52 ▼0.10 | 84.40 ▼2.62 | 40.07 ▼4.75 |
Posts /wp-admin/edit.php | 2,135 ▲35 | 2.00 ▲0.03 | 35.43 ▼8.06 | 32.51 ▼5.78 |
Add New Post /wp-admin/post-new.php | 1,541 ▲15 | 23.10 ▼0.07 | 630.87 ▼20.16 | 59.58 ▼3.18 |
Media Library /wp-admin/upload.php | 1,429 ▲29 | 4.34 ▲0.16 | 94.72 ▼12.78 | 42.45 ▼4.34 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | All plugins must uninstall correctly, removing their source code and extra database tables they might have created
It is recommended to fix the following
- Zombie WordPress options were found after uninstall: 8 options
- db_upgraded
- widget_recent-comments
- theysaidso_admin_options
- widget_recent-posts
- widget_theysaidso_widget
- can_compress_scripts
- pinata_api_key
- pinata_api_secret
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for server-side errors
The smoke test was a success, however most plugin functionality was not tested
SRP 0% from 2 tests
🔹 Tests weight: 20 | SRP (Single-Responsibility Principle) - PHP files must act as libraries and never output text or perform any action when accessed directly in a browser
Almost there! Just fix the following items
- 2× PHP files perform the action of outputting non-empty strings when accessed directly:
- > /wp-content/plugins/minterpress/vendor/timber/timber/tests/bootstrap.php
- > /wp-content/plugins/minterpress/vendor/timber/timber/tests/assets/my-sidebar.php
- 396× GET requests to PHP files have triggered server-side errors or warnings (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'Twig\ode\\Expression\\AbstractExpression' not found in wp-content/plugins/minterpress/vendor/twig/twig/src/Node/CheckToStringNode.php:27
- > PHP Fatal error
Uncaught Error: Class 'Twig\ode\\Expression\\Binary\\AbstractBinary' not found in wp-content/plugins/minterpress/vendor/twig/twig/src/Node/Expression/Binary/GreaterEqualBinary.php:16
- > PHP Fatal error
Uncaught Error: Class 'Timber\\Image\\Operation' not found in wp-content/plugins/minterpress/vendor/timber/timber/lib/Image/Operation/Resize.php:18
- > PHP Fatal error
Uncaught Error: Class 'Composer\\Installers\\BaseInstaller' not found in wp-content/plugins/minterpress/vendor/composer/installers/src/Composer/Installers/AglInstaller.php:5
- > PHP Fatal error
Uncaught Error: Class 'Twig\\Sandbox\\SecurityError' not found in wp-content/plugins/minterpress/vendor/twig/twig/src/Sandbox/SecurityNotAllowedFunctionError.php:21
- > PHP Fatal error
Uncaught Error: Class 'Timber_UnitTestCase' not found in wp-content/plugins/minterpress/vendor/timber/timber/tests/test-timber-sidebar.php:3
- > PHP Fatal error
Uncaught Error: Interface 'Dotenv\\Repository\\Adapter\\ReaderInterface' not found in wp-content/plugins/minterpress/vendor/vlucas/phpdotenv/src/Repository/Adapter/AdapterInterface.php:7
- > PHP Fatal error
Uncaught Error: Class 'Twig\\Extension\\AbstractExtension' not found in wp-content/plugins/minterpress/vendor/twig/twig/src/Extension/StringLoaderExtension.php:15
- > PHP Fatal error
Uncaught Error: Class 'Composer\\Installers\\BaseInstaller' not found in wp-content/plugins/minterpress/vendor/composer/installers/src/Composer/Installers/PuppetInstaller.php:5
- > PHP Fatal error
Uncaught Error: Class 'Twig\ode\\Expression\\Binary\\AbstractBinary' not found in wp-content/plugins/minterpress/vendor/twig/twig/src/Node/Expression/Binary/GreaterBinary.php:16
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | A shallow check that no browser errors were triggered
There were no browser issues found
Optimizations
Plugin configuration 90% from 29 tests
readme.txt 81% from 16 tests
It's important to format your readme.txt file correctly as it is parsed for the public listing of your plugin
These attributes need to be fixed:
- Contributors: No tags were detected
- Requires at least: Invalid plugin version format
- Contributors: Plugin contributors field is missing
minterpress/minterpress.php Passed 13 tests
The entry point to "Minterpress" version 1.0.5 is a PHP file that has certain tags in its header comment area
47 characters long description:
Easily mint and display Tezos NFTs on WordPress
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | This is an overview of programming languages used in this plugin; dangerous file extensions are not allowed
There were no executable files found in this plugin77,711 lines of code in 930 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 713 | 8,305 | 14,417 | 38,768 |
JSON | 17 | 0 | 0 | 27,787 |
CSS | 7 | 1,763 | 977 | 4,945 |
Markdown | 34 | 1,176 | 0 | 2,866 |
JavaScript | 42 | 213 | 306 | 1,311 |
Twig | 90 | 89 | 9 | 1,192 |
Bourne Shell | 3 | 52 | 19 | 287 |
XML | 9 | 19 | 52 | 191 |
PO File | 1 | 68 | 86 | 180 |
YAML | 5 | 16 | 0 | 135 |
SVG | 8 | 0 | 0 | 39 |
reStructuredText | 1 | 8 | 5 | 10 |
PHP code Passed 2 tests
This plugin's cyclomatic complexity and code structure detailed below
Great job! No cyclomatic complexity issues were detected in this plugin
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.26 |
Average class complexity | 5.64 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 178.00 |
Average method complexity | 2.15 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 33.00 |
Code structure | ||
---|---|---|
Namespaces | 57 | |
Interfaces | 28 | |
Traits | 0 | |
Classes | 671 | |
▷ Abstract classes | 16 | 2.38% |
▷ Concrete classes | 655 | 97.62% |
▷ Final classes | 91 | 13.89% |
Methods | 2,892 | |
▷ Static methods | 390 | 13.49% |
▷ Public methods | 2,558 | 88.45% |
▷ Protected methods | 194 | 6.71% |
▷ Private methods | 140 | 4.84% |
Functions | 364 | |
▷ Named functions | 181 | 49.73% |
▷ Anonymous functions | 183 | 50.27% |
Constants | 105 | |
▷ Global constants | 20 | 19.05% |
▷ Class constants | 85 | 80.95% |
▷ Public constants | 73 | 85.88% |
Plugin size 50% from 2 tests
Image compression 50% from 2 tests
Using a strong compression for your PNG files is a great way to speed-up your plugin
4 PNG files occupy 0.37MB with 0.27MB in potential savings
Potential savings
Compression of 4 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
vendor/timber/timber/tests/assets/eastern-trans.png | 12.34KB | 7.39KB | ▼ 40.11% |
vendor/timber/timber/tests/assets/cropper.png | 15.74KB | 0.31KB | ▼ 98.01% |
(invalid) admin/views/images/tezos.png | 337.44KB | 0.00KB | ▼ 100.00% |
vendor/timber/timber/tests/assets/flag.png | 10.33KB | 4.00KB | ▼ 61.24% |