forked from Botanical/BotanJS
Added css minify
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
package css
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"github.com/evanw/esbuild/pkg/api"
|
||||
"github.com/tgckpg/resolver-go/internal/compilecache"
|
||||
)
|
||||
|
||||
func NewEsbuildCompiler() *EsbuildCompiler {
|
||||
return &EsbuildCompiler{}
|
||||
}
|
||||
|
||||
func (c *EsbuildCompiler) Compile(ctx context.Context, job compilecache.Job) ([]byte, error) {
|
||||
payload, ok := job.Payload.(CompilePayload)
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("esbuild css compiler got invalid payload type %T", job.Payload)
|
||||
}
|
||||
|
||||
result := api.Transform(payload.Source, api.TransformOptions{
|
||||
Loader: api.LoaderCSS,
|
||||
Sourcefile: payload.Name,
|
||||
MinifyWhitespace: true,
|
||||
MinifyIdentifiers: true,
|
||||
MinifySyntax: true,
|
||||
})
|
||||
|
||||
if len(result.Errors) > 0 {
|
||||
return nil, fmt.Errorf("css compile failed: %s", result.Errors[0].Text)
|
||||
}
|
||||
|
||||
return result.Code, nil
|
||||
}
|
||||
Reference in New Issue
Block a user