A lot of my old powershell modules have grown to be quite big and unweildly.
At work we have now standardised on using PSAKE to create them and use a structure that has a public and private set of folders that contain ps1 files that make up the modules functions. These are automatically dot sourced when the module loads.
I'm not going to claim credit for doing it that way, its based on some complex googling, or maybe just plain luck.
In an effort to refactor and make some of these more readable, supportable, easier to test using pester etc etc.. I've knocked up a quick and dirty script for 'refactoring' the module into seperate files.
It's not perfect but it was spend a little time writing a script to do it, rather than spending the time manually in VSCode or Notepad++
The code uses powershell's Abstract Syntaxt Tree / Language Parser.
it might help someone, it might not :)
Code is here: https://gist.github.com/davidwallis3101/58de8462bf37c8683b377cb0c7a5a95b
I try to specialise in doing the out of the ordinary stuff (A Challenge!) - And generally making life as easy as possible using any of the technologies within reach without having to re-invent the wheel where possible! Technologies and products can include -> .NET, VBS, Powershell, DSC, Systems Center, NetApp, VMWare, Windows Server, Linux, Python, Microcontrollers and others!
Thank you for the information, Your information is very helpful for us
ReplyDeleteGlobal Export Import Trade Database