1. A computer-implemented method of implementing intelligent Java server faces (JSF) composite component generation, the method comprising: identifying a plurality of facelet files within a project; creating a node tree for each facelet file in the plurality of facelet files; for each facelet file in the plurality of facelet files: iterating through the node tree to determine which nodes are tags for composite components; in response to determining that a plurality of nodes are tags for composite components, computing a hash for each of the plurality of nodes; generating node lists for each of the plurality of nodes; adding the plurality of nodes and the hashes to corresponding node lists; comparing each node list against every other node list from each of the plurality of facelet files; in response to determining a match among node lists, saving the matched node lists in a composite components data structure; receiving a selection of one or more node lists from the composite components data structure to be converted to composite components; and converting the selected one or more node lists to composite components.