Nonflavored Prescription Medicine

    makestatic-core

    1.0.83 • Public • Published

    Core

    Generic file processing library



    Install

    yarn add makestatic-core
    

    API

    LifeCycle

    Core library for the processing lifecycle.

    LifeCycle

    new LifeCycle(options)

    Creates a new LifeCycle.

    • options Object the processing options.

    config

    readonly Config config

    The lifecycle configuration.

    context

    readonly Context context

    The processing context for this lifecycle.

    main

    readonly Array main

    List of standard lifecycle phases.

    deploy

    readonly Array deploy

    List of deploy lifecycle phases.

    .getPlugins

    LifeCycle.prototype.getPlugins(argv)

    Builds the list of phases to execute.

    Returns array list of phase plugins.

    • argv Object map of option overrides.

    .getLifecycleConfig

    LifeCycle.prototype.getLifecycleConfig(opts, argv)

    Abstract method to get a default lifecycle configuration.

    Returns object map of lifecycle phase configurations.

    • opts Object map of computed options.
    • argv Object map of option overrides.

    .process

    LifeCycle.prototype.process(argv, phases)

    Process the entire lifecycle.

    This method will set the computed options on the config based on the passed argv options merged with the options specified when the instance was created.

    It will then merge the result of calling getLifecycleConfig() into the lifecycle property of the computed options before retrieving the list of plugin phases to execute returned by getPlugins().

    Finally it creates a processing context for this lifecycle before deferring execution to the run() method.

    Returns a promise that resolves when all phases have completed.

    • argv Object map of option overrides.
    • phases Array list of phases to execute.

    phase

    readonly String phase

    Name of the currently executing phase.

    phases

    readonly Array phases

    List of phases that have already executed.

    .run

    LifeCycle.prototype.run(phases)

    Run lifecycle processing phases.

    Returns a promise that resolves when all phases have completed.

    • phases Array list of phases to execute.

    Context

    Encapsulates the processing context information.

    Context

    new Context(lifecycle, config)

    Configure the information encapsulated by this context.

    • lifecycle Object reference to the main lifecycle.
    • config Object reference to the configuration.

    phase

    readonly String phase

    Name of the currently executing phase.

    phases

    readonly Array phases

    List of phases that have already executed.

    .getFile

    Context.prototype.getFile(opts)

    Alias for FileList.getFile.

    Returns a File instance.

    • opts String|Object file creation options.

    lifecycle

    readonly Object lifecycle

    Get the main lifecycle runner.

    log

    readonly Object log

    Get the log helper.

    config

    readonly Object config

    Get the configuration.

    options

    readonly Object options

    Get the computed options encapsulated by the config.

    list

    readonly Object list

    Get the file list manager.

    files

    readonly Array files

    Get the output file list.

    assets

    Object assets

    Map of output assets.

    Compatible with the webpack asset map.

    agent

    Object agent

    HTTP client agent.

    Many plugins need to fetch resources from the network so it makes sense for them to use a common API for loading network resources and allowing resources to be cached which makes consecutive builds much faster.

    Propagated when the http-cache plugin is used. The core-standard package will load the http-cache plugin automatically.

    graph

    Object graph

    Application resource graph.

    Propagated when the graph-resources plugin is used.

    manifest

    Object manifest

    Application manifest.

    Propagated when the manifest plugin is used.

    sitemap

    Object sitemap

    Application sitemap.

    Propagated when the sitemap plugin is used.

    data

    readonly Object data

    Property that allows plugins to assign arbitrary data to the processing context that may be used by other plugins.

    TreeAdapter

    readonly Function TreeAdapter

    Reference to the TreeAdapter class.

    Parsers should use this class to provide a consistent API for parsing documents to abstract syntax trees with the benefits provided by the tree adapter implementation.

    FileList

    Encapsulates the output file lists.

    The files list is an array of file objects whilst the assets list is a map of relative file paths to file objects.

    FileList

    new FileList(context, sources)

    Create a FileList.

    • context Object the processing context.
    • sources Array list of file names.

    context

    readonly Object context

    The processing context.

    root

    readonly String root

    The root directory for input files.

    sources

    readonly Array sources

    Raw list of input file names.

    files

    readonly Array files

    List of current output files.

    assets

    Object assets

    Map of current output files.

    .add

    FileList.prototype.add(options)

    Add a file to the list by name or pointer.

    The file is not added if it already exists in the files list.

    Returns the file on success otherwise undefined.

    • options String|Object source file name or file properties.

    .remove

    FileList.prototype.remove(options)

    Remove a file from the list by name or pointer.

    Returns the file on success otherwise undefined.

    • options String|Object source file name or file properties.

    .rewrite

    FileList.prototype.rewrite(options, dest)

    Rewrite the output path for an existing file.

    Returns the file on success otherwise undefined.

    • options String|Object source file name or file properties.
    • dest String the new output path for the file.

    .rename

    FileList.prototype.rename(options, name)

    Rename the output file name for an existing file.

    Returns the file on success otherwise undefined.

    • options String|Object source file name or file properties.
    • name String the new output name for the file.

    .get

    FileList.prototype.get(options)

    Get a file from the list by name or pointer.

    Returns a file object or undefined.

    • options String|Object source file name or file properties.

    .getFile

    FileList.prototype.getFile(options)

    Get a File pointer.

    Accepts an input file path which becomes the file name or a map of properties for the new file.

    If a File is passed it is returned.

    Returns a file object.

    • options String|Object source file name or file properties.

    .propagate

    FileList.prototype.propagate(sources)

    Propagates the file lists converting file path strings to complex filewrap objects.

    • sources Array list of input file names.

    TreeAdapter

    Abstraction for abstract syntax tree parsers and serializers that provides a common API for interacting with abstract syntax trees.

    This implementation provides a mechanism for lazily converting buffers to strings when the tree is parsed and lazily parsing when the result property is accessed.

    It also allows for trees to be marked as dirty, if a tree has not been marked as dirty and serialize is called the original content is returned.

    TreeAdapter

    new TreeAdapter(parse, serialize, iterator, content[, clone])

    Create a TreeAdapter.

    All constructor parameters are required.

    • parse Function a closure that parses to an AST.
    • serialize Function a closure that serializes an AST
    • iterator Function a closure that iterates the AST
    • content String|Buffer the content to parse.
    • clone Function called when this AST adapter is cloned.

    .parse

    TreeAdapter.prototype.parse()

    Calls the underlying AST parse closure and sets the result on this adapter.

    Returns this tree adapter.

    .serialize

    TreeAdapter.prototype.serialize()

    Calls the underlying AST serialize closure.

    Returns the serialize closure return value.

    .clone

    TreeAdapter.prototype.clone([content])

    Gets a copy of this tree adapter sharing the same parse, serialize iterator and clone closures.

    If the consumer passed a clone function to the constructor it is called with the cloned tree adapter so that the consumer can decorate the new tree if necessary.

    Returns a new tree adapter.

    • content String content for the new tree adapter.

    .getSeal

    TreeAdapter.prototype.getSeal()

    Gets a file seal closure for this adapter.

    If this AST is not dirty the original content is returned.

    Returns a seal closure.

    .modify

    TreeAdapter.prototype.modify(fn)

    Calls a function passing the result AST and flags this tree as dirty.

    If the passed function does not return a value it is assumed the tree is dirty otherwise the return value is coerced to a boolean and set as the dirty flag.

    Returns this tree adapter.

    • fn Function the tree modifier function.

    .walk

    TreeAdapter.prototype.walk(predicate, fn)

    Walk the abstract syntax tree nodes.

    Returns this tree adapter.

    • predicate Function test if a node should be visited.
    • fn Function visit a node.

    content

    readonly Buffer|String content

    Source file content.

    result

    readonly Object result

    A parse result object.

    dirty

    Boolean dirty

    Determines if the tree is dirty.

    License

    MIT


    Created by mkdoc on March 12, 2017

    Install

    npm i makestatic-core

    DownloadsWeekly Downloads

    2

    Version

    1.0.83

    License

    MIT

    Last publish

    Collaborators

    • muji
    • tmpfs