This project uses the official CoffeeScript parser to parse CoffeeScript source code, then maps the AST generated by the parser to one more suitable for the decaffeinate project (based on the AST generated by CoffeeScriptRedux).
This project might be useful to anyone who wants to work with a CoffeeScript AST and prefers working with a saner AST.
# via yarn
$ yarn add decaffeinate-parser
# via npm
$ npm install decaffeinate-parser
This example gets the names of the parameters in the add
function:
import { parse } from 'decaffeinate-parser';
const program = parse('add = (a, b) -> a + b');
const assignment = program.body.statements[0];
const fn = assignment.expression;
console.log(fn.parameters.map((param) => param.data)); // [ 'a', 'b' ]