If you generated modules with Yeoman and you want to apply changes for each module, you can add these changes to the generator instead and run it on the modules again. This is beneficial in a setup with many modules and complex changes with different roll-out priority.
Most people know the scaffolding tool Yeoman for its ability to kickstart projects which can be nice if you don't want to concern yourself too much with the intricacies of your build tool. It gets even more interesting if you generate many modules to ensure consistency.
Few people know it for its approach to generate code for single components, e.g. Angular directives. Even fewer know its useful application in highly modular environments.
Let's say you have 100 modules, each initialized with your custom generator:
.editorconfig(EditorConfig) to each module which is achievable with a shell command, no big deal.
registryproperties to each node module. Afterwards, for each dependent's
package.json, you want to replace the repository string with the actual name. Possible with the shell but it definitely requires advanced knowledge.
Since you've created each module with a particular generator you can modify said generator once and run it again on each module to propagate the changes. Furthermore you don't want and need to trigger the change immediately since you'd rather wait for more substantial changes. Taking the previous example:
.editorconfigto the root of the template. Since it's purely sugar in your opinion, you decide to wait to run and not run
package.jsonof your node module generator and the dependency changes to the respective
package.jsonof your other module generator. You also decide to wait since you may know that more changes are coming soon and the previous repository notation will still work.
package.jsonand finally remove all JSHint dependencies and files from the template.
Of course you apply these changes also to the generator module too. Afterwards you can run the generator in each base folder of a module, overwrite the changes, review them and finally commit & push. Three changes, one execution.