srcpack

package
v0.3.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 20, 2022 License: GPL-3.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrInvalidComponentType = errors.New("invalid component type")
View Source
var ErrInvalidPageName = errors.New("invalid page name")

Functions

func New

func New(path string, c []PackComponent, webDirPath string) (dependtree.DependencySourceMap, error)

Types

type CachedEnvKeys

type CachedEnvKeys map[string]string

CachedEnvKeys represents a map where the key is the filepath for the env setting and where the value is a bundler key

type Component

type Component struct {
	WebDir string

	Bundler  bundler.Bundler
	JsParser jsparse.JSParser
	// contains filtered or unexported fields
}

component that has been successfully ran, and output from a packing method. a component represents a source file that has a valid parser

func (*Component) BundleKey

func (s *Component) BundleKey() string

BundleKey returns the bundle key for the packed component

func (*Component) Dependencies

func (s *Component) Dependencies() []*jsparse.ImportDependency

Dependencies returns the dependencies on the component

func (*Component) Name

func (s *Component) Name() string

Name returns the name of the component

func (*Component) OriginalFilePath

func (s *Component) OriginalFilePath() string

OriginalFilePath returns the original file path on the component

func (*Component) Repack

func (s *Component) Repack() error

Repack repacks a component following the following processes

  • parses the provided filepath with the the components jsparser
  • reapplies the component web wrapper
  • bundles the component

func (*Component) RepackForWaitGroup

func (s *Component) RepackForWaitGroup(wg *sync.WaitGroup, c chan error)

RepackForWaitGroup given a wait group, repacks the component using the underlying "Repack" method.

func (*Component) WebWrapper

func (s *Component) WebWrapper() webwrap.JSWebWrapper

WebWrapper returns the instance of the webwrapper applied to the component

type DefaultPackerOpts

type DefaultPackerOpts struct {
	WebDir           string
	BundlerMode      string
	NodeModuleDir    string
	CachedBundleKeys CachedEnvKeys
}

DefaultPackerOpts options for creating a new default packer

type JSDependencyTree

type JSDependencyTree struct {
	WebDir string

	JsParser jsparse.JSParser
	// contains filtered or unexported fields
}

javascript dependency tree, used to create a dependency tree from javascript files this struct should salsify the requirements for "DependencyTree" interface

func (*JSDependencyTree) DirList

func (s *JSDependencyTree) DirList(path string) ([]string, error)

func (*JSDependencyTree) PathDependencies

func (s *JSDependencyTree) PathDependencies(path string) ([]string, error)

uses the js parser to get all of the dependencies for the specified file.

type JSPacker added in v0.3.6

type JSPacker struct {
	Bundler          bundler.Bundler
	JsParser         jsparse.JSParser
	ValidWebWrappers webwrap.JSWebWrapperList
	Logger           log.Logger

	AssetDir string
	WebDir   string
	// contains filtered or unexported fields
}

packer is the primary struct used for packing a directory of javascript files into valid web components.

func (*JSPacker) PackMany added in v0.3.6

func (s *JSPacker) PackMany(pages []string) ([]PackComponent, error)

packs the provided file paths into the orbit root directory

func (*JSPacker) PackSingle added in v0.3.6

func (p *JSPacker) PackSingle(logger log.Logger, file string) (PackComponent, error)

func (*JSPacker) ReattachLogger added in v0.3.6

func (p *JSPacker) ReattachLogger(logger log.Logger) Packer

type NewComponentOpts

type NewComponentOpts struct {
	FilePath   string
	WebDir     string
	DefaultKey string

	JSParser      jsparse.JSParser
	Bundler       bundler.Bundler
	JSWebWrappers webwrap.JSWebWrapperList
}

NewComponentOpts options for creating a new component

type PackComponent added in v0.3.2

type PackComponent interface {
	Repack() error
	RepackForWaitGroup(wg *sync.WaitGroup, c chan error)
	OriginalFilePath() string
	Dependencies() []*jsparse.ImportDependency
	BundleKey() string
	Name() string
	WebWrapper() webwrap.JSWebWrapper
}

func NewComponent

func NewComponent(ctx context.Context, opts *NewComponentOpts) (PackComponent, error)

NewComponent creates a new component that represents a packaged & bundled web component

type PackHook

type PackHook interface {
	Pre(filePath string)                       // "pre" runs before each component packing iteration
	Post(filepath string, elapsedTime float64) // "post" runs after each component packing iteration
	Close()
}

hooks for logging the pre & post operations of the packing process.

type PackedComponentList

type PackedComponentList []PackComponent

func (*PackedComponentList) RepackMany

func (l *PackedComponentList) RepackMany(logger log.Logger) error

type Packer

type Packer interface {
	PackMany(pages []string) ([]PackComponent, error)
	PackSingle(logger log.Logger, file string) (PackComponent, error)
	ReattachLogger(logger log.Logger) Packer
}

func NewDefaultPacker

func NewDefaultPacker(logger log.Logger, opts *DefaultPackerOpts) Packer

type SrcDependency

type SrcDependency interface {
	OriginalFilePath() string
	Dependencies() []*jsparse.ImportDependency
}

type SyncHook

type SyncHook struct {
	// contains filtered or unexported fields
}

func NewSyncHook

func NewSyncHook(logger log.Logger) *SyncHook

func (*SyncHook) Close

func (s *SyncHook) Close()

func (*SyncHook) Post

func (s *SyncHook) Post(filePath string, elapsedTime float64)

func (*SyncHook) Pre

func (s *SyncHook) Pre(filePath string)

func (*SyncHook) WrapFunc

func (s *SyncHook) WrapFunc(filepath string, do func())

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL