packages feed

yesod-job-queue-0.2.0.1: Setup.hs

import Distribution.PackageDescription (PackageDescription(extraSrcFiles))
import Distribution.Simple (UserHooks(buildHook))
import qualified Distribution.Simple as DS
import Distribution.Simple.LocalBuildInfo (LocalBuildInfo)
import Distribution.Simple.Setup (BuildFlags)
import qualified System.Process as Proc
import qualified System.Directory as Dir
import Control.Monad (when, void)

buildHook' :: PackageDescription -> LocalBuildInfo -> UserHooks -> BuildFlags -> IO ()
buildHook' packageDesc localBuildInfo userHooks buildFlags = do
    exists <- Dir.doesFileExist "./app/dist/app.bundle.js"
    when (not exists) $ void $ Proc.system "cd app && npm install && npm run build-js"
    (buildHook DS.simpleUserHooks) packageDesc localBuildInfo userHooks buildFlags

main :: IO ()
main = DS.defaultMainWithHooks DS.simpleUserHooks{buildHook = buildHook'}