Analyze Neos Fusion prototypes and their usages by other prototypes.
Install via composer:
composer require --dev wwwision/fusion-prototype-analyzer
This package comes with two CLI commands:
Allows finding prototypes that are used by the specified prototype (recursively):
./flow prototype:findnested Some.Package:Some.Prototype
This might output something like:
The prototype Some.Package:Some.Prototype contains 6 other prototypes (for site package Some.Package):
Neos.Fusion (4)
Tag
DataStructure
Component
Case
Some.Package (2)
Component.Atom.SomeComponent
Component.Atom.SomeOtherComponent
In order for the right Fusion Object Tree to be loaded, the context site package key can be specified:
./flow prototype:findnested Some.Package:Some.Prototype --site-package Some.Other.Package
If it is omitted, the site package is extracted from the specified prototype name
Allows finding prototypes that use the specified prototype (recursively):
./flow prototype:findusages Some.Package:Some.Prototype
This might output something like:
The prototype Some.Package:Some.Prototype is used by 4 other prototypes (for site package Some.Package):
Some.Package (5)
Component.Template.Component1
Component.Template.Component2
Document.SomeDocument
Document.SomeOtherDocument
In order for the right Fusion Object Tree to be loaded, the context site package key can be specified:
./flow prototype:findusages Some.Package:Some.Prototype --site-package Some.Other.Package
If it is omitted, the site package is extracted from the specified prototype name
Allows finding prototypes that are used by a specified Node Type (recursively):
./flow prototype:findbynodetype Some.Package:Some.NodeType
This might output something like:
The node type Some.Package:Some.NodeType uses 3 Fusion prototypes (for site package Some.Package):
Some.Package (5)
Component.Template.Component1
Component.Template.Component2
Document.SomeDocument
Document.SomeOtherDocument
In order for the right Fusion Object Tree to be loaded, the context site package key can be specified:
./flow prototype:findbynodetype Some.Package:Some.NodeType --site-package Some.Other.Package
If it is omitted, the site package is extracted from the specified node type name
Contributions in the form of issues or pull requests are highly appreciated.
See LICENSE