makestatic-graph-resources v1.1.12
Graph Resources
Create a graph of referenced resources
Install
yarn add makestatic-graph-resourcesAPI
GraphResources
Create a graph of referenced resources.
For each HTML, CSS and Javascript file inspect the abstract syntax tree and create a resource graph of referenced assets.
GraphResources
new GraphResources(context)Create a GraphResources plugin.
Enable this plugin for the graph phase.
contextObject the processing context.
.sources
GraphResources.prototype.sources(file, context, options)Inspects the abstract syntax tree for each file to find referenced resources and add them to the graph.
If a file does not have an associated abstract syntax tree a document is added to the resource graph but no parsing is performed on the document.
fileObject the file being processed.contextObject the processing context.optionsObject the plugin options.
Document
Represents a document entry in the graph.
Document
new Document(file)Create a document.
fileFile the encapsulated file.
resources
readonly Array resourcesList of resources referenced in this document.
file
readonly File fileReference to the file that created this document.
id
readonly String idDocument identifier derived from the file path.
HtmlDocument
Represents an HTML document entry in the graph.
HtmlDocument
new HtmlDocument(file)Create an HTML document.
fileFile the encapsulated file.
anchors
Object anchorsList of anchor links.
Plugins that execute during the verify phase can use this to check if named anchors exist on the page or test whether external links return a valid HTTP status code.
identifiers
Object identifiersMap of id attributes.
Plugins that execute during the verify phase can use this to determine if a document contains duplicate id attributes.
ast
Object astGet a reference to the file abstract syntax tree.
.parse
HtmlDocument.prototype.parse()Traverse the file abstract syntax tree and parse resources in to this document.
Note that in the case of a base element with an href attribute a
resource is not created but all subsequent URLs are considered relative
to the base URL.
- href (a, area, base, link)
- src (audio, embed, iframe, img, input, script, source, track, video)
- action (form)
- cite (blockquote, del, ins, q)
- code (applet)
- codebase (applet)
- data (object)
- manifest (html)
See Also
CssDocument
Represents a CSS document entry in the graph.
CssDocument
new CssDocument(file)Create a CSS document.
fileFile the encapsulated file.
ast
Object astGet a reference to the file abstract syntax tree.
.parse
CssDocument.prototype.parse()Traverse the file abstract syntax tree and parse resources in to this document.
This implementation parses @import rules using either string URLs or the
url() function notation. It also parses all url() function
declarations in normal CSS rule declarations.
Graph
Represents the application resource graph.
Graph
new Graph()Create a resource graph.
map
readonly Object mapMaps file keys to resources.
.addDocument
Graph.prototype.addDocument()Adds a document to the graph.
documents
readonly Array documentsList of documents without abstract syntax trees.
htmlDocuments
readonly Array htmlDocumentsList of HTML documents.
cssDocuments
readonly Array cssDocumentsList of CSS documents.
.createDocument
Graph.prototype.createDocument(file)Create a document.
Returns a new document.
fileFile the encapsulated file.
.createHtmlDocument
Graph.prototype.createHtmlDocument(file)Create an HTML document.
Returns a new HTML document.
fileFile the encapsulated file.
.createCssDocument
Graph.prototype.createCssDocument(file)Create a CSS document.
Returns a new CSS document.
fileFile the encapsulated file.
Resource
Represents a referenced resource.
The resource may exist within the output file structure or may point to an external (absolute) resource.
Resource
new Resource(uri, node[, base])Creates a resource.
uriString uniform resource identifier.nodeObject abstract syntax tree node.baseString a base URL.
uri
readonly String uriUniform resource identifier.
node
readonly Object nodeAn abstract syntax tree node associated with this resource.
base
readonly String baseBase URL for this resource.
.isAbsolute
Resource.prototype.isAbsolute(uri)Determine if a URI is absolute.
If no URI is given the URI for this resource is used.
Returns a boolean indicating if this resource is absolute.
uriString uniform resource identifier.
canonical
readonly String canonicalGet the canonical URI for this resource relative to the base if a base
URL has been associated with this resource.
When no base URL is assigned to this resource it will return the uri.
License
MIT
Created by mkdoc on March 13, 2017
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago