Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
falafel bindings for cssauron
JavaScript
branch: master
Failed to load latest commit information.
.npmignore
README.md represent relationships as classes
index.js a labels body is a list not an array
package.json 1.2.1
test.js represent relationships as classes

README.md

cssauron-falafel

cssauron bindings for falafel / esprima JS ASTs.

It shortens the esprima names they're a bit verbose.

It also supports .relation classes -- for example:

if(x) {

}

if(x > y) {

}

if(100) {

}

If we wanted to select all of the if tests ("x", "x > y", "100"), we could use the following selectors:

if > *:first-child                  // lil verbose!
.test                               // test the relation from the parent, not the node type
if > .test                          // more specific -- only ".test" relations from "if" statements.

node types

LabeledStatement        ->  label
BlockStatement          ->  block
Program                 ->  root
ExpressionStatement     ->  expr
ConditionalExpression   ->  ternary
IfStatement             ->  if
BreakStatement          ->  break
ContinueStatement       ->  continue
WithStatement           ->  with
SwitchStatement         ->  switch
ReturnStatement         ->  return
ThrowStatement          ->  throw
TryStatement            ->  try
WhileStatement          ->  while
DoWhileStatement        ->  do-while
ForStatement            ->  for
ForInStatement          ->  for-in
FunctionDeclaration     ->  function
VariableDeclaration     ->  variable-decl
VariableDeclarator      ->  variable
LogicalExpression       ->  binary
BinaryExpression        ->  binary
AssignmentExpression    ->  assign
ArrayExpression         ->  array
ObjectExpression        ->  object
ObjectKeyExpression     ->  key
FunctionExpression      ->  function
SequenceExpression      ->  sequence
UpdateExpression        ->  update
UnaryExpression         ->  unary
CallExpression          ->  call
NewExpression           ->  new
MemberExpression        ->  lookup
SwitchClause            ->  case
CatchClause             ->  catch
DebuggerStatement       ->  debugger
ThisExpression          ->  this
Identifier              ->  id
Literal                 ->  literal

license

MIT

Something went wrong with that request. Please try again.