github.com/jacobsoderblom/buffalo@v0.11.0/buffalo/cmd/build/assets.go (about)

     1  package build
     2  
     3  import (
     4  	"github.com/gobuffalo/buffalo/generators/assets/webpack"
     5  	"github.com/gobuffalo/envy"
     6  	pack "github.com/gobuffalo/packr/builder"
     7  	"github.com/pkg/errors"
     8  )
     9  
    10  func (b *Builder) buildAssets() error {
    11  
    12  	if b.WithWebpack && b.Options.WithAssets {
    13  		if err := envy.MustSet("NODE_ENV", "production"); err != nil {
    14  			return errors.WithStack(err)
    15  		}
    16  		if err := b.exec(webpack.BinPath); err != nil {
    17  			return errors.WithStack(err)
    18  		}
    19  	}
    20  
    21  	p := pack.New(b.ctx, b.Root)
    22  	p.Compress = b.Compress
    23  
    24  	if !b.Options.WithAssets {
    25  		p.IgnoredBoxes = append(p.IgnoredBoxes, "../public/assets")
    26  	}
    27  
    28  	if b.ExtractAssets && b.Options.WithAssets {
    29  		p.IgnoredBoxes = append(p.IgnoredBoxes, "../public/assets")
    30  		err := b.buildExtractedAssets()
    31  		if err != nil {
    32  			return errors.WithStack(err)
    33  		}
    34  	}
    35  
    36  	return p.Run()
    37  }