Documentation ¶
Index ¶
- Variables
- func New(path string, c []PackComponent, webDirPath string) (dependtree.DependencySourceMap, error)
- type CachedEnvKeys
- type Component
- func (s *Component) BundleKey() string
- func (s *Component) Dependencies() []*jsparse.ImportDependency
- func (s *Component) Name() string
- func (s *Component) OriginalFilePath() string
- func (s *Component) Repack() error
- func (s *Component) RepackForWaitGroup(wg *sync.WaitGroup, c chan error)
- func (s *Component) WebWrapper() webwrap.JSWebWrapper
- type DefaultPackerOpts
- type JSDependencyTree
- type JSPacker
- type NewComponentOpts
- type PackComponent
- type PackHook
- type PackedComponentList
- type Packer
- type SrcDependency
- type SyncHook
Constants ¶
This section is empty.
Variables ¶
var ErrInvalidComponentType = errors.New("invalid component type")
var ErrInvalidPageName = errors.New("invalid page name")
Functions ¶
func New ¶
func New(path string, c []PackComponent, webDirPath string) (dependtree.DependencySourceMap, error)
Types ¶
type CachedEnvKeys ¶
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) Dependencies ¶
func (s *Component) Dependencies() []*jsparse.ImportDependency
Dependencies returns the dependencies on the component
func (*Component) OriginalFilePath ¶
OriginalFilePath returns the original file path on the component
func (*Component) Repack ¶
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 ¶
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
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
}