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.51MB] [CPU: ▼156.96ms] Passed 4 tests
This is a short check of server-side resources used by Invoice On The Go
No issues were detected with server-side resource usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 2.91 ▲0.18 | 36.71 ▲3.95 |
Dashboard /wp-admin | 3.14 ▲0.08 | 50.22 ▼7.83 |
Posts /wp-admin/edit.php | 3.25 ▲0.14 | 46.70 ▲2.28 |
Add New Post /wp-admin/post-new.php | 3.12 ▼2.32 | 29.45 ▼626.23 |
Media Library /wp-admin/upload.php | 3.08 ▲0.07 | 39.32 ▲4.45 |
Settings /wp-admin/admin.php?page=invoice-on-the-go/RednaoInvoiceOnTheGo.phpsettings | 3.18 | 42.37 |
Invoices /wp-admin/admin.php?page=rednao_invoice_on_the_go | 3.16 | 38.30 |
Services /wp-admin/admin.php?page=invoice-on-the-go/RednaoInvoiceOnTheGo.phpservices | 3.18 | 48.86 |
Server storage [IO: ▲6.94MB] [DB: ▲0.01MB] Passed 3 tests
Analyzing filesystem and database footprints of this plugin
No storage issues were detected
Filesystem: 1,181 new files
Database: 7 new tables, no new options
New tables |
---|
wp_rniotg_settings |
wp_rniotg_invoice_meta |
wp_rniotg_payment |
wp_rniotg_invoice_detail |
wp_rniotg_delete_log |
wp_rniotg_invoice |
wp_rniotg_service |
Browser metrics Passed 4 tests
This is an overview of browser requirements for Invoice On The Go
Normal browser usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,741 ▲169 | 15.90 ▼0.07 | 9.45 ▲0.72 | 50.63 ▼44.86 |
Dashboard /wp-admin | 2,998 ▲69 | 5.90 ▼0.03 | 143.62 ▼67.46 | 134.72 ▼4.70 |
Posts /wp-admin/edit.php | 2,778 ▲39 | 2.59 ▼0.11 | 70.09 ▲1.73 | 91.95 ▲0.53 |
Add New Post /wp-admin/post-new.php | 1,629 ▲38 | 18.82 ▲0.06 | 391.52 ▲5.35 | 118.13 ▼2.60 |
Media Library /wp-admin/upload.php | 1,783 ▼24 | 5.03 ▲0.06 | 146.54 ▼22.22 | 143.51 ▲24.32 |
Settings /wp-admin/admin.php?page=invoice-on-the-go/RednaoInvoiceOnTheGo.phpsettings | 3,997 | 18.58 | 757.39 | 113.04 |
Invoices /wp-admin/admin.php?page=rednao_invoice_on_the_go | 1,774 | 22.51 | 378.94 | 101.77 |
Services /wp-admin/admin.php?page=invoice-on-the-go/RednaoInvoiceOnTheGo.phpservices | 1,135 | 10.97 | 373.93 | 101.87 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.01MB] 75% from 4 tests
🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
These items require your attention
- The uninstall procedure failed, leaving 7 tables in the database
- wp_rniotg_invoice_detail
- wp_rniotg_invoice_meta
- wp_rniotg_payment
- wp_rniotg_invoice
- wp_rniotg_settings
- wp_rniotg_delete_log
- wp_rniotg_service
Smoke tests 0% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | This is a short smoke test looking for server-side errors
Almost there, just fix the following server-side errors
- > GET request to /wp-admin/admin.php?page=rednao_invoice_on_the_go
- > Notice in wp-content/plugins/invoice-on-the-go/pages/invoice.php+32
Undefined index: invoice_id
SRP 0% from 2 tests
🔹 Tests weight: 20 | It is important to ensure that your PHP files perform no action when accessed directly, respecting the single-responsibility principle
Please take a closer look at the following
- 3× PHP files output non-empty strings when accessed directly via GET requests:
- > /wp-content/plugins/invoice-on-the-go/pages/settings.php
- > /wp-content/plugins/invoice-on-the-go/pages/invoice.php
- > /wp-content/plugins/invoice-on-the-go/pages/services.php
- 246× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'PHPUnit\\Framework\\TestCase' not found in wp-content/plugins/invoice-on-the-go/vendor/twig/twig/test/Twig/Tests/Extension/SandboxTest.php:12
- > PHP Fatal error
Uncaught Error: Class 'rniotg\\db\\repo\\core\\BaseRepo' not found in wp-content/plugins/invoice-on-the-go/db/repo/InvoiceDetailRepo.php:14
- > PHP Fatal error
Uncaught Error: Class 'Twig_Test_NodeTestCase' not found in wp-content/plugins/invoice-on-the-go/vendor/twig/twig/test/Twig/Tests/Node/ForTest.php:12
- > PHP Fatal error
Uncaught Error: Class 'Twig_Test_NodeTestCase' not found in wp-content/plugins/invoice-on-the-go/vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/DivTest.php:12
- > PHP Fatal error
Uncaught Error: Class 'Twig_Node_Expression_Test' not found in wp-content/plugins/invoice-on-the-go/vendor/twig/twig/lib/Twig/Node/Expression/Test/Divisibleby.php:21
- > PHP Fatal error
Uncaught Error: Class 'Twig_Test_NodeTestCase' not found in wp-content/plugins/invoice-on-the-go/vendor/twig/twig/test/Twig/Tests/Node/AutoEscapeTest.php:12
- > PHP Fatal error
Uncaught Error: Class 'Twig_Node' not found in wp-content/plugins/invoice-on-the-go/vendor/twig/twig/lib/Twig/Node/With.php:17
- > PHP Fatal error
Uncaught Error: Interface 'Twig_LoaderInterface' not found in wp-content/plugins/invoice-on-the-go/vendor/twig/twig/lib/Twig/Loader/String.php:30
- > PHP Fatal error
Uncaught Error: Class 'Twig_Node_Expression_Test' not found in wp-content/plugins/invoice-on-the-go/vendor/twig/twig/lib/Twig/Node/Expression/Test/Constant.php:23
- > PHP Fatal error
Uncaught Error: Class 'Twig_Test_NodeTestCase' not found in wp-content/plugins/invoice-on-the-go/vendor/twig/twig/test/Twig/Tests/Node/MacroTest.php:12
- > PHP Fatal error
User-side errors 0% from 1 test
🔹 Test weight: 20 | This is a shallow check for browser errors
These are user-side errors you should fix
- 6 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=invoice-on-the-go/RednaoInvoiceOnTheGo.phpservices
- > Network (severe)
wp-content/plugins/invoice-on-the-go/js/angular/dist/vendor.bundle.js?ver=1 - Failed to load resource: the server responded with a status of 404 (Not Found)
Optimizations
Plugin configuration 90% from 29 tests
readme.txt Passed 16 tests
Don't ignore readme.txt as it is the file that instructs WordPress.org on how to present your plugin to the world
1 plugin tags: invoice
invoice-on-the-go/RednaoInvoiceOnTheGo.php 77% from 13 tests
The main file in "Invoice On The Go" v. 1.0 serves as a complement to information provided in readme.txt and as the entry point to the plugin
Please make the necessary changes and fix the following:
- Text Domain: Please use dashes and lowercase characters for text domains
- Main file name: It is recommended to name the main PHP file as the plugin slug ("invoice-on-the-go.php" instead of "RednaoInvoiceOnTheGo.php")
- Domain Path: The domain path folder was not found ("/languages/")
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | Executable files are not allowed as they can serve as attack vectors
Good job! No executable or dangerous file extensions detected132,175 lines of code in 864 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
JavaScript | 152 | 2,838 | 17,233 | 81,202 |
PHP | 488 | 4,895 | 6,711 | 20,001 |
JSON | 13 | 0 | 0 | 15,197 |
CSS | 9 | 1,074 | 17 | 7,306 |
TypeScript | 77 | 603 | 92 | 3,461 |
reStructuredText | 89 | 2,418 | 2,134 | 3,372 |
C | 1 | 171 | 186 | 860 |
HTML | 20 | 46 | 1 | 461 |
SVG | 2 | 0 | 0 | 194 |
YAML | 1 | 9 | 1 | 44 |
XML | 1 | 4 | 0 | 29 |
C/C++ Header | 1 | 7 | 13 | 15 |
Markdown | 1 | 13 | 0 | 14 |
Twig | 8 | 6 | 0 | 14 |
m4 | 1 | 2 | 1 | 5 |
PHP code Passed 2 tests
This is a short overview of cyclomatic complexity and code structure for this plugin
There were no cyclomatic complexity issued detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.30 |
Average class complexity | 4.01 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 156.00 |
Average method complexity | 2.11 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 68.00 |
Code structure | ||
---|---|---|
Namespaces | 31 | |
Interfaces | 43 | |
Traits | 0 | |
Classes | 503 | |
▷ Abstract classes | 16 | 3.18% |
▷ Concrete classes | 487 | 96.82% |
▷ Final classes | 4 | 0.82% |
Methods | 1,563 | |
▷ Static methods | 54 | 3.45% |
▷ Public methods | 1,388 | 88.80% |
▷ Protected methods | 132 | 8.45% |
▷ Private methods | 43 | 2.75% |
Functions | 69 | |
▷ Named functions | 61 | 88.41% |
▷ Anonymous functions | 8 | 11.59% |
Constants | 51 | |
▷ Global constants | 1 | 1.96% |
▷ Class constants | 50 | 98.04% |
▷ Public constants | 50 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
Using a strong compression for your PNG files is a great way to speed-up your plugin
3 PNG files occupy 0.02MB with 0.01MB in potential savings
Potential savings
Compression of 3 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
images/menu_icon.png | 3.21KB | 0.52KB | ▼ 83.94% |
js/lib/tn/plugins/help/img/logo.png | 12.90KB | 7.62KB | ▼ 40.95% |
images/paypal.png | 5.17KB | 3.11KB | ▼ 39.92% |