Trigger PG "build" from vscode package.json

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)
  })
})
1 Like