snowdog / module-menu

snowdog/module-menu

Provides powerful menu editor to replace category based menus in Magento 2

  • Kamil Balwierz
magento2-module Compatibility: 2.4.7-2.4.8 Code Quality: Fail Tests: N/A Security: Pass MIT

Magento 2 Menu

Static Badge
Packagist
Packagist
Packagist

Magento 2 Menu by Snowdog is a powerful menu configurator that empowers online merchants to create advanced menus, enhancing their customers' shopping experience and improving SEO.
This module serves as a feature-rich replacement for the category-based top navigation found in Magento and Adobe Commerce. However, it offers much more versatility by enabling the creation of menus for various purposes and store views.

Backend Settings Demo:

snowdog-magento-2-menu-admin-configuartio

Hyvä Demo:

See our Hyvä top menu mobile, top menu desktop, and footer menu in action: menu-hyva.snowdog.dev

Use Cases

Here are some scenarios where Snowdog's Menu can be effectively used:

  • Create Separate Header Menus for Mobile and Desktop: Optimize navigation for customers on different devices by creating distinct header menus for mobile and desktop.
  • Create Footer Menu: Improve the management of footer links.
  • Create Custom Menus for Specific Pages: Whether you need to add a sidebar menu or change the header menu, Snowdog's module offers you the flexibility to create and customize menus for any page of a Magento store.

Key Features

  • Flexible Content: Add various types of elements to menus, such as links, images, and CMS blocks.
  • Product Catalog Integration: Easily include links to categories and products in menus. Our handy tree selector makes it a breeze to pick the exact categories you want to showcase, or you can opt for category-based import to add a chunk of your catalog tree to the menu with a few clicks.
  • Drag and Drop Editor: The module offers a user-friendly drag and drop editor, making it effortless to configure multi-level menus exactly how you envision them. Arrange and customize menu items with ease, without any coding knowledge.
  • Import, Export and Duplicate Capabilities: Save time and effort. This feature enables seamless replication of menus across different instances and Magento stores. It also gives an option to duplicate menus for faster setup and customization.
  • Multiple Ways of Adding Menus to Frontend: Easily add menus to your frontend using PHTML templates, or fetch the data from our REST and GraphQL APIs. This makes the module very versatile. You can make it work for any Magento frontend.

User Guide and Documentation

To learn more about Magento 2 Menu by Snowdog, go to wiki.

Magento Versions Compatibility

Menu can be installed on most 2.x Magento versions.
If your Magento version does not work with newest Menu version, see Contributing.

Contributing

Contributions are welcome! If you find a bug or have a feature request, feel free to open an issue or submit a pull request.

Like this project?

We'd appreciate it if you leave a ⭐ or share it with the world ✨.

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog
and this project adheres to Semantic Versioning.

[Unreleased]

Added

  • Dynamic menu improvements (#317)

Changed

  • Long Node cache tag in graphql (#364)

Removed

  • Frontend console log (SMM-46)
  • Unused variables from phtml files (#357)

Fixed

  • PHP8.4 module compilation errors (#365)
  • Database prefix errors (#368)

[2.28.0] - 2025-03-25

Added

  • Auto populate node title (#325)
  • Add missing $escaper and $viewModels declarations (#350)
  • Import categories by store view (#352)
  • Add external vue providers config option

Changed

  • Bump cross-spawn from 7.0.3 to 7.0.6 (#349)
  • Improve graphql performance

[2.27.2] - 2024-11-08

Fixed

  • Issue when saving nodes w/ db prefix (#345)

[2.27.1] - 2024-08-07

Fixed

  • Swagger docs (#332)

[2.27.0]

Added

  • width and height attributes to menu node images (DEV-102271)
  • Option to specify customer groups for each node (DEV-94738)
  • Snowdog branding in admin panel (DEV-105762)
  • Automatically open collapsed menu node when dragging another node inside (DEV-101986)
  • Duplicate node functionality (DEV-104364)

Fixed

  • Impossible to change Cms block, Cms page link after selecting displayed block (DEV-104546)
  • Submenu template name issue (#321) (DEV-105672)
  • Issue with 'Import from Categories (#315) (DEV-105267 & DEV-101741)

Updated

  • vue-select to 3.20.0 (DEV-104546)

[2.26.0] - 2024-03-29

Fixed

  • The function getProductTitle() returns empty string (DEV-104749)
  • Hyva error "The element "topmenu_generic" can't have a child" (DEV-104435)
    • Changed custom block names in default_hyva.xml:
      • topmenu.mobile to topmenu-mobile
      • topmenu.desktop to topmenu-desktop
    • Removed hyva blocks in default_hyva.xml:
      • topmenu.mobile
      • topmenu.desktop

[2.25.0] - 2024-01-19

Added

  • 3-level desktop submenu variant (DEV-103924)

Fixed

  • category tree import when page url includes index.php (DEV-103904)

[2.24.1] - 2023-12-05

Fixed

  • Undefined variable in Hyvä template

[2.24.0] - 2023-11-28

Added

  • Hyvä compatibility (DEV-101754)

Changed

  • Updated eslint version to 8.45.0 and eslint-plugin-vue to 9.15.1 (DEV-95002)

Fixed

  • Mobile nav sidebar (DEV-101802)
  • Category Child and CMS block nodes shouldn't have image fields (DEV-94387)
  • custom_url type node has empty url_key in GraphQl context (DEV-103670, #302)
  • Added BINARY collation to load menus by identifier (DEV-103752)

[2.23.1] - 2023-07-28

Fixed

  • Fixed issue with closing } missing

[2.23.0] - 2023-07-26

Fixed

  • Fixed issue about menu block being cached excessively (#276)

Changed

Added

  • Command to check if menus have invalid nodes and allow removing them through the command (DEV-100331)

[2.22.0] - 2023-05-08

Fixed

  • Get product title method (#270)
  • Category Child node without parent category chosen makes menu disappear (DEV-99318)

Changed

  • Change Custom URL without URL content to not clickable (DEV-99301)

Added

  • Error skipping mechanism for some exceptions (#271)
  • Required prop for category child field (DEV-99318)
  • Display a message indicating success or error after saving the menu. #274

[2.21.0] - 2023-04-03

Fixed

  • Reset button doesn't reset menu node structure (#256)
  • PHP8.2 related issues (#264, #265, #266)

Changed

  • "Import from categories" logic (#253)

Added

  • Allow remote file storage etc (get.php) to pull the files (#258)

[2.20.0] - 2022-09-26

Added

  • url_key on some node types (#227)

Fixed

  • Selecting item in admin between two stores (#91)
  • Node issue during menu duplication (#247)

[2.19.0] - 2022-05-04

Added

  • Allow to set submenu template via layout xml (#223)
  • Fix menu stores save issue when single store mode enabled (#226)
  • Fix duplicate keys detected for nodes (#228)
  • Fix drag and drop nodes duplication when editing menu nodes (#241)
  • Ajax loader to node image upload and remove Ajax JS code (#79674)
  • An error handler to node image remove Ajax JS code (#79674)
  • Set errors HTTP response code in node admin controller image upload and delete actions (#79674)
  • Fix loading nodes based on large catalog (#232)

Changed

  • Improve JSON response in node admin controller image delete action (#79674)
  • Improve the menu node image upload error message (#79674)

Fixed

  • Image for new nodes set to blank (#79674)
  • import from categories (#236)

[2.18.0] - 2021-11-23

Added

  • Menu node type GraphQL interface feature (#209)
  • nodes field to GraphQL menu type (#209)
  • node_template and submenu_template fields to GraphQL menu node type (#209)
  • Store ID filtering support to menu repository getList method (#209)
  • All menu items list support to GraphQL snowdogMenus query (#209)
  • Default store filtering support to GraphQL snowdogMenus and snowdogMenuNodes queries (#209)

Changed

  • Make the menu duplicate feature execute in a DB transaction (#80889)
  • Refactor menu duplicate feature code in menu admin controller save and duplicate actions (#80889)
  • Don't print messages about custom nodes templates if they are not set (#82414)
  • GraphQL menu custom URL node target field data type to boolean (#209)
  • Set non-nullable fields in GraphQL schema (#209)
  • Handle duplicate and empty values in GraphQL snowdogMenus query identifiers argument (#209)
  • Memoize loaded menus in GraphQL menu data provider to improve nodes loading performance (#209)

Fixed

  • Menu node image file cloner error handling (#80889)
  • Product node type get removed after changing node position and entering the invalid product ID (#81485)
  • Handle menu child nodes of pending parent nodes in nodes export tree processor (#206)
  • Sort menu nodes according to their positions in nodes export tree processor (#206)

[2.17.0] - 2021-09-03

Changed

  • Improve menu save process node product type validator error messages (#81256)

Fixed

  • Menu node position reset issues on menu save (#81257)

[2.16.0] - 2021-07-21

Added

  • Creation time, update time and store view columns to menu admin grid (#69080)
  • Save button options list to menu admin edit page (#69085)
  • Menu duplicate feature (#69085)
  • Import categories and subcategories feature (#70196)

Changed

  • snowmenu_menu_list.xml delete mass action to Magento 2.1 XML format in order to match the rest of the XML in the file (#69080)
  • Syntax highlight GraphQL code blocks in readme file (#69080)
  • Move menu controller save action complex logic to a seperate class and refactor accordingly (#69085)
  • Move admin block import page buttons class files under Adminhtml directory (#80035)
  • Move menu admin block edit page nodes tab class file under Adminhtml directory (#80035)
  • Move menu admin block edit page buttons class files under Edit directory (#80035)

Fixed

  • Remove the duplicate listing toolbar massaction tag in snowmenu_menu_list.xml (#69080)
  • custom templates list in select (#79677)
  • An infinite loop in large node trees with catalog product nodes save process (#80360)

Removed

  • Unused CMS WYSIWYG config model class in menu admin edit page nodes tab block (#80035)

[2.15.0] - 2021-06-08

Added

  • enable/disable menu option (#69084)

Updated

  • update lodash to 4.17.21 in npm dependencies
  • update vue nodes - pass data to admin ui component (#69084)

Fixed

  • Enabled state checkbox (#181)
  • option.store.join is not a function error (#73516)
  • Make importing menu CSS class field optional (#79104)

[2.14.0] - 2021-03-30

Added

  • Node validation classes (#73442)
  • DB table columns listing method to menu and node resource models (#70197)
  • Menu YAML import/export feature (#70197)
  • Nodes custom templates documentation (#74567)
  • Menu node image field (#70218)
  • Treeselect for category selector (#69126)
  • GraphQL feature (#76409)
  • Treeselect for child category selector (#76417)

Changed

  • Improve node product validation error message on menu save (#73442)
  • Make menu CSS class field optional in menu admin edit page (#70197)

Fixed

  • Prevent creating nodes with invalid product IDs (#73442)
  • configuration for child category type node (#74222)
  • Custom templates for node types wrapper and custom_url (#74936)
  • Change some API interfaces getters return types to mixed[] in order to fix a Swagger error (#75295)

[2.13.0] - 2020-11-16

Added

  • Node model additional data setter and getter methods (#94, #69088)
  • Functionality to enable/disable specific menu node (#85, #65561)
  • Functionality to remove specific menu node from menus list view, using Actions or Select dropdown (#69083)
  • Possibility to set a template for "node" and "submenu" template per node (#84, #65549)
  • Invalidate page cache on menu changes (#115, #70191)
  • Image helper to resize product image (#95, #70199)

Changed

  • Index page title in admin panel (#69078)
  • Change menu model stores save method return type to boolean (#115, #70191)
  • Bump GitHub backend workflow MCS Check checkout repository actions to v2 (#115, #70191)
  • Change imported menu model to API data interface in menu admin controller save action (#71279)
  • Move menu admin controller save action execute method current nodes list code to a separate method (#71279)
  • Replace existing nodes in_array check with isset in menu admin controller save action execute method (#71279)
  • Documentation to clarify how to add a new node type (#69, #69072)
  • Render some of vue components list on server side to improve process of adding a new node type (#69, #69072)

Fixed

  • Prevent menu stores save if there are no store changes (#115, #70191)
  • Prevent unnecessary menu data save due to data values types changes (#115, #70191)
  • Prevent unnecessary menu nodes data save due to enabled object data changes flag in menu node repository get list method items (#115, #70191)
  • A menu save issue that prevents deleting all nodes of a menu (#71279)
  • Correct a misspelled variable in menu admin controller save action execute method (#71279)
  • Issue with flush cache after model is saved (#135, #71585)
  • Phpdoc for getJsonConfig method (#134, #71576)
  • Menu save issue that prevents deleting all nodes of a menu (#71279)

Removed

  • An unnecessary if statement in menu admin controller save action _convertTree method (#71279)

[2.12.0] - 2020-08-24

Added

  • PHP 7.4 support (#118)
  • Magento 2.4 support (#119)

Changed

  • Move submenu template path to protected variable (#109)

[2.11.1] - 2020-05-15

Fixed

  • array_filter() error for cmsBlock, cmsPage nodes, if opening edit-menu-page from admin panel (#106)

[2.11.0] - 2020-04-14

Added

  • Static code analysis tools
  • Showing store scope in CMS block and page selects

Changed

  • Updated UI
  • Updated frontend dependencies
  • PHP code formatted to match PHPCS Magento coding standard rules
  • Vue components props update to match ESlint Vue Recommended rules

[2.10.2] - 2020-04-12

Fixed

  • Overflow for main container - #100

[2.10.1] - 2020-03-23

Fixed

  • Nodes are deleted and recreated every time a menu is saved (#97)
  • Typo in a layout file (#96)

[2.10.1] - 2020-03-23

Fixed

  • Nodes are deleted and recreated every time a menu is saved (#97)
  • Typo in a layout file (#96)

[2.10.0] - 2019-05-29

Added

  • Provide access to entity associated with menu node (#83)
  • New API endpoint to get nodes by identifier, additional information to the response (#70)

[2.9.0] - 2019-04-21

Added

  • Wrapper node

[2.8.4] - 2019-02-18

Fixed

  • Missing url when a cms page has no url rewrites - #76

[2.8.3] - 2019-02-17

Fixed

  • Disable overflow for opened panel - #78 #79

[2.8.2] - 2019-02-12

Fixed

  • Product node images fixed - #73 #74

[2.8.1] - 2018-12-19

Fixed

  • Fix menu item border style and duplicated item key on menu drop

[2.8.0] - 2018-11-06

Fixed

  • Fix true/false values for saved target checkbox
  • Fix drag and drop behaviour for edited menu

Added

  • Preliminary support for Magento 2.3

[2.7.0] - 2018-08-13

Added

  • Add api endpoints

[2.6.0] - 2018-07-2

Added

  • Product title method
  • Price formatter method

Fixed

  • Product id binding

[2.5.0] - 2018-05-23

Added

  • Add product node type
  • Add the ability to change node type
  • Enhance admin panel UI using VueJS

Fixed

  • Fix saving target blank for custom url

Removed

  • Remove frontend javascript and icon

[2.4.0] - 2018-01-29

Changed

  • Module doesn't support 2.0 anymore

Fixed

  • Fixed compatibility with Magento Commerce (Enterprise)
  • Imporved compatibility with Magento 2.2

[2.3.1] - 2018-01-18

Fixed

  • Fixed issue with overwrite category node

[2.3.0] - 2018-01-17

Added

  • Added target option for custom link to open in a new tab
  • Added save and continue button

Fixed

  • Fixed issue with node templates if it's more than one menu

[2.2.3] - 2018-01-09

Removed

  • Remove package version from composer.json

[2.2.2] - 2018-01-09

Added

  • getMenuCssClass to menu block (menu is null check)

[2.2.1] - 2018-01-04

Fixed

  • Delete node button action

[2.2.0] - 2018-01-03

Added

  • Ability to overwritte templates per menu ID

Changed

  • Formatting of menu.phtml template
  • #1 - Better autocomplete
  • Styling of node action buttons

Fixed

  • Sql queries when table prefix is set in Magento (#28)

[2.1.0] - 2017-10-03

Changed

  • Update composer.json for compatibility with M2.2 (#18)

Fixed

  • Fix method declaration compatibility in node type blocks (#9)
  • Fix example layout xml code in README.md (#12)
  • Fix showing error on browser console with eventListeners who calling element which doesn't exist (#13)

Removed

  • Remove PHP7 type hints (#11)

[2.0.5] - 2017-07-18

Fixed

  • Fix problem with compatible CE cms page

[2.0.4] - 2017-07-17

Fixed

  • Fix problem with compatible EE CE block and cms page (EE compatibility)
  • Remove $eavColumnName from fetchData–url_rewrite always uses entity_id
  • Use $eavColumnName for cms_page_store table page reference
  • Fix issue with not saving data when user not blur the input before save

[2.0.3] - 2017-07-13

Fixed

  • Implements DB Wrapper for EE and CE version (EE compatibility)

[2.0.2] - 2017-07-10

Fixed

  • Missing css_class column in table (incorrect versioning in upgrade script)

[2.0.1] - 2017-07-10

Fixed

  • Fix for undefined offset in CmsPage block

[2.0.0] - 2017-06-03

Changed

  • Rendering rewrited and moved to more front-end friendly palces, to make customizations easier
Versions
Version Stability QA Status Compatibility Released
2.29.0 stable Fail Magento 2.4.7-2.4.8 Details 2025-12-01 13:59:09
2.28.0 stable Not tested Not yet tested Details 2025-03-25 12:26:23
2.27.2 stable Not tested Not yet tested Details 2024-11-08 06:32:33
2.27.1 stable Not tested Not yet tested Details 2024-08-07 05:50:16
2.27.0 stable Not tested Not yet tested Details 2024-08-05 07:39:04
2.26.0 stable Not tested Not yet tested Details 2024-03-29 06:28:39
2.25.0 stable Not tested Not yet tested Details 2024-01-19 09:20:51
2.24.1 stable Not tested Not yet tested Details 2023-12-05 13:42:19
2.24.0 stable Not tested Not yet tested Details 2023-11-28 11:31:55
2.23.1 stable Not tested Not yet tested Details 2023-08-24 07:41:13
2.23.0 stable Not tested Not yet tested Details 2023-08-24 07:39:53
2.22.0 stable Not tested Not yet tested Details 2023-08-24 07:36:25
2.21.0 stable Not tested Not yet tested Details 2023-04-03 11:39:46
2.20.0 stable Not tested Not yet tested Details 2022-09-26 09:55:55
2.19.0 stable Not tested Not yet tested Details 2022-05-04 12:33:00
2.18.0 stable Not tested Not yet tested Details 2021-11-23 10:17:40
2.17.0 stable Not tested Not yet tested Details 2021-09-03 09:35:03
2.16.0 stable Not tested Not yet tested Details 2021-07-21 08:18:43
2.15.0 stable Not tested Not yet tested Details 2021-06-08 09:40:46
2.14.0 stable Not tested Not yet tested Details 2021-03-30 10:05:14
2.13.0 stable Not tested Not yet tested Details 2020-12-01 21:43:45
2.12.0 stable Not tested Not yet tested Details 2020-08-24 08:39:02
2.11.1 stable Not tested Not yet tested Details 2020-05-14 10:36:15
2.11.0 stable Not tested Not yet tested Details 2020-04-14 12:19:38
2.10.2 stable Not tested Not yet tested Details 2020-04-12 06:08:30
2.10.1 stable Not tested Not yet tested Details 2020-03-23 08:21:57
2.10.0 stable Not tested Not yet tested Details 2019-05-29 08:45:23
2.9.0 stable Not tested Not yet tested Details 2019-05-21 13:12:49
2.8.4 stable Not tested Not yet tested Details 2019-02-18 07:17:08
2.8.3 stable Not tested Not yet tested Details 2019-02-17 14:27:12
2.8.2 stable Not tested Not yet tested Details 2019-02-12 10:10:24
2.8.1 stable Not tested Not yet tested Details 2018-12-19 20:41:24
2.8.0 stable Not tested Not yet tested Details 2018-11-06 19:26:23
2.8.0-beta beta Not tested Not yet tested Details 2018-10-31 10:13:17
2.7.0 stable Not tested Not yet tested Details 2018-08-13 07:38:34
2.6.0 stable Not tested Not yet tested Details 2018-07-02 17:37:03
2.5.0 stable Not tested Not yet tested Details 2018-05-23 12:28:16
2.4.0 stable Not tested Not yet tested Details 2018-01-29 21:57:45
2.3.1 stable Not tested Not yet tested Details 2018-01-22 14:55:27
2.3.0 stable Not tested Not yet tested Details 2018-01-17 12:05:42
2.2.3 stable Not tested Not yet tested Details 2018-01-09 10:38:48
2.2.2 stable Not tested Not yet tested Details 2018-01-09 09:33:48
2.2.1 stable Not tested Not yet tested Details 2018-01-04 10:13:19
2.2.0 stable Not tested Not yet tested Details 2018-01-03 17:41:47
2.1.0 stable Not tested Not yet tested Details 2017-10-03 10:23:07
2.0.5 stable Not tested Not yet tested Details 2017-07-18 07:01:16
2.0.4 stable Not tested Not yet tested Details 2017-07-17 15:30:02
2.0.3 stable Not tested Not yet tested Details 2017-07-13 12:15:31
2.0.2 stable Not tested Not yet tested Details 2017-07-10 14:41:05
2.0.1 stable Not tested Not yet tested Details 2017-07-10 13:57:34
2.0.0 stable Not tested Not yet tested Details 2017-06-03 16:56:50
1.2.0 stable Not tested Not yet tested Details 2017-03-21 07:57:42
1.1.0 stable Not tested Not yet tested Details 2016-11-18 09:57:35
1.0.2 stable Not tested Not yet tested Details 2016-10-24 10:29:14
1.0.1 stable Not tested Not yet tested Details 2016-10-24 08:19:08
1.0.0 stable Not tested Not yet tested Details 2016-09-27 17:31:18

Requires 8

Package Constraint
magento/framework 100.1.*|101.0.*|102.0.*|103.0.*
magento/module-catalog 101.0.*|102.0.*|103.0.*|104.0.*
magento/module-cms 101.0.*|102.0.*|103.0.*|104.0.*
magento/module-backend 100.1.*|100.2.*|101.0.*|102.0.*
magento/module-graph-ql 100.3.*|100.4.*
magento/module-import-export 100.3.*|101.0.*
magento/module-media-storage 100.3.*|100.4.*
symfony/yaml >=3.2

Requires-dev 1

Package Constraint
magento/magento-coding-standard ^5.0

Compatibility

Each Magento release line is installed on its supported PHP versions, then the module is built (DI compilation + static-content deploy) and its unit and integration suites are run. The matrix shows the lines and PHP versions the module is confirmed to install and run on. Code-quality results further down (phpstan, phpcs, …) are reported separately and never affect compatibility.

Compatibility matrix (Magento × PHP)
Magento PHP 8.2 PHP 8.3 PHP 8.4 PHP 8.5
2.4.7 Pass Pass
2.4.8 Pass Pass
2.4.9 Fail di error Fail di error

Code Quality

Advisory checks against the module's source. Static analysis runs once across the whole module; PHPStan re-runs per Magento + PHP version because resolvable symbols differ between releases. These NEVER affect the Compatibility badge — a phpcs finding can't make a module incompatible.

Static analysis

Coding standards (phpcs), mess detection (phpmd), copy-pasted code (cpd), PHP cross-version compatibility, composer.json validity. Each runs once for the whole module.

Static analysis results
Tool Status Findings Summary
PHPCS Fail 254 82 errors, 172 warnings (ruleset: Magento2) — 11 auto-fixable with phpcbf
PHPMD Warning 16 16 rule violations (MissingImport:10, UndefinedVariable:5, ExcessiveClassComplexity:1)
Cpd Pass 0
Composer validate Info 1 valid; 1 advisory note (composer validate --strict)

PHPStan

Type-checks the module's PHP against a real Magento install at the configured gate level. Re-runs per Magento and PHP version because resolvable symbols differ between releases. Cell → details modal.

PHPStan results by Magento and PHP version
Magento PHP 8.2 PHP 8.3 PHP 8.4 PHP 8.5
2.4.7 112 112
2.4.8 112 112
2.4.9 113 113

Tests

Unit and integration suites, run for each applicable Magento and PHP version. A test failure speaks to the module's behaviour, not its compatibility with a Magento line, so it is reported here separately and never reddens the compatibility matrix.

Unit tests

Unit tests results by Magento and PHP version
Magento PHP 8.2 PHP 8.3 PHP 8.4 PHP 8.5
2.4.7 N/A N/A
2.4.8 N/A N/A
2.4.9 N/A N/A

Integration tests

Integration tests results by Magento and PHP version
Magento PHP 8.2 PHP 8.3 PHP 8.4 PHP 8.5
2.4.7 N/A N/A
2.4.8 N/A N/A
2.4.9 N/A N/A

Security

Security checks run directly against the module: an audit of its declared dependencies for known vulnerabilities (composer audit) and a scan of its source for malware and web-shell signatures. Each runs once. A malware detection fails the version outright.

Security results
Tool Status Findings Summary
Composer audit N/A 0 no resolvable dependency tree to audit — Your requirements could not be resolved to an installable set of packages. Problem 1
Malware scan Pass 0
License
MIT
Authors

More from snowdog

View vendor
Make it pay

Turn an existing module into recurring revenue.

If you already maintain a Magento 2 module on GitHub or GitLab, listing it on Packagento takes about five minutes. We mirror your tags, handle distribution signing, and route paid licenses through Stripe Connect, so you can keep shipping the way you already do.