Here is a quick one I have put together as a starter. I haven’t tested it. Look for TODO comments in the below code.
let outDirWatcher
$(function () {
$('body').one('pinegrow-ready', function (e, pinegrow) {
const onProjectClosed = () => {
if (outDirWatcher) {
outDirWatcher.close()
outDirWatcher = null
}
}
const onProjectLoaded = () => {
if (!outDirWatcher) {
// TODO: __OUT_DIR_PATH__ needs to be replaced
outDirWatcher = fs.watch('__OUT_DIR_PATH__', (eventType, filename) => {
if (eventType === 'change' || eventType === 'rename') {
// TODO: This seems to work, but tbc
pinegrow
.getFrameworks()
['wordpress.pinegrow'].exportWholeThemeWithGetFolder()
}
})
}
}
pinegrow.addEventHandler('on_project_loaded', onProjectLoaded)
pinegrow.addEventHandler('on_project_closed', onProjectClosed)
})
})