@atomist/tree-path-ts defining trees and path
expressions. These capabilities were created for use in
Atomist code transformations, including those used to
transform seed projects into new projects.
XPath-like path expressions can be executed against any implementation
of the simple
TreeNode interface. This is typically used to expose
ASTS: for example, those resulting from ANTLR grammars,
microgrammars or a standalone parser such as the TypeScript
compiler's parser. The ability to skip levels in navigating path
expressions (e.g., via
//) is invaluable in ignoring irrelevant
levels of language ASTs, which tend to be noisy.
For example, find all variable names in a TypeScript file (using TypeScript AST integration in automation-client:
const variableNames = evaluateScalarValue( sourceFile, "//VariableDeclaration/Identifier" );
For more information, please read Tree and path expression overview.
General support questions should be discussed in the
channel in the Atomist community Slack workspace.
If you find a problem, please create an issue.
You will need to install Node.js to build and test this project.
Build and test
$ npm install
build package script to compile, test, lint, and build the
$ npm run build
Releases are handled via the Atomist SDM. Just press the 'Approve' button in the Atomist dashboard or Slack.