public class RewriteJsonToModule extends NodeTraversal.AbstractPostOrderCallback implements CompilerPass
Looks for JSON files named "package.json" so that the "main" property can be used as an alias in module name resolution. See https://docs.npmjs.com/files/package.json#main
Modifier and Type | Field and Description |
---|---|
static DiagnosticType |
JSON_UNEXPECTED_TOKEN |
Constructor and Description |
---|
RewriteJsonToModule(Compiler compiler)
Creates a new RewriteJsonToModule instance which can be used to rewrite JSON files to modules.
|
Modifier and Type | Method and Description |
---|---|
com.google.common.collect.ImmutableMap<String,String> |
getPackageJsonMainEntries() |
void |
process(Node externs,
Node root)
Module rewriting is done a on per-file basis prior to main compilation.
|
void |
visit(NodeTraversal t,
Node n,
Node parent)
Visits a node in postorder (after its children have been visited).
|
shouldTraverse
public static final DiagnosticType JSON_UNEXPECTED_TOKEN
public RewriteJsonToModule(Compiler compiler)
compiler
- The compilerpublic com.google.common.collect.ImmutableMap<String,String> getPackageJsonMainEntries()
public void process(Node externs, Node root)
process
in interface CompilerPass
externs
- Top of external JS treeroot
- Top of JS treepublic void visit(NodeTraversal t, Node n, Node parent)
NodeTraversal.Callback
Visits a node in postorder (after its children have been visited).
A node is visited only if all its parents should be traversed
(NodeTraversal.Callback.shouldTraverse(NodeTraversal, Node, Node)
).
Implementations can have side effects (e.g. modifying the parse tree).
visit
in interface NodeTraversal.Callback
Copyright © 2009-2016 Google. All Rights Reserved.