Skip to content

Instantly share code, notes, and snippets.

@romain-h
Last active June 15, 2017 08:49
Show Gist options
  • Save romain-h/51241938bdeba55add4eebc0270606f2 to your computer and use it in GitHub Desktop.
Save romain-h/51241938bdeba55add4eebc0270606f2 to your computer and use it in GitHub Desktop.
[Codemods - Medium post]
root.find(j.ExpressionStatement, {
expression: {
type: 'AssignmentExpression',
operator: '=',
},
})
.filter(path =>
path.value.expression.left &&
isGBNamespaced(path.value.expression.left)
)
.forEach(assignment => {
const body = j.returnStatement(assignment.value.expression.right);
j(assignment)
.replaceWith(
j.expressionStatement(
j.callExpression(
j.identifier('define'),
[
j.arrayExpression(files),
j.functionExpression(null, names, j.blockStatement([body]))
]
)
)
);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment