Just a quick template for adding a progress bar to a Google Apps Script function. While it's not a true measure of the progress of the script, it's just a simple HTML dialog box that can be easily customized to update the progress based on some variable from your Google Apps Script function that you want to measure progress for.
Mostly leaving this here for myself...most forums online that I referenced to put this together deal with a component or two, but don't have a full structure like this assembled.
Make a copy of the sheet above to get started.
The script is currently structured to "refresh" the progress value every 0.5 seconds (500 ms). This time value can be edited in the Progress-Window.html file on Line 5.
Line 1 of the Progress-Bar.gs contains notes on how to add this script into an existing project.
The updateProgress function (located on Line 19 of Progress-Bar.gs) is the function that will update the progress every 500 ms. To update the measure of the script's progress, you'll need to customize this function to create an accurate measure of progress. The default is just a "count" of 10 every 500 ms. But it can be adapted to measure the number of rows added to a sheet, the number of files saved to a Google Drive folder, etc.
To trigger the progress bar and kick off the timed status update function (updateProgress), you'll need to run the function showProgress. Once this function runs, it'll display the progress bar and continue running updateProgress until the progress value reaches 100. The dialog window will automatically close at that time.