Skip to content

Commit

Permalink
Merge pull request #82 from Turbo87/recast
Browse files Browse the repository at this point in the history
Replace `recast.transform()` call with `recast.traverse()`
  • Loading branch information
NullVoxPopuli authored Dec 15, 2019
2 parents b839009 + 2331571 commit d8d110a
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 7 deletions.
12 changes: 7 additions & 5 deletions transforms/no-implicit-this/helpers/plugin.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
const recast = require('ember-template-recast');

// everything is copy-pasteable to astexplorer.net.
// sorta. telemetry needs to be defined.
// telemtry can be populated with -mock-telemetry.json
Expand All @@ -6,8 +8,8 @@ const KNOWN_HELPERS = require('./known-helpers');
/**
* plugin entrypoint
*/
function transformPlugin(env, options = {}) {
let { builders: b } = env.syntax;
function transform(root, options = {}) {
let b = recast.builders;

let scopedParams = [];
let telemetry = options.telemetry || {};
Expand Down Expand Up @@ -76,7 +78,7 @@ function transformPlugin(env, options = {}) {

let inAttrNode = false;

return {
recast.traverse(root, {
Block: paramTracker,
ElementNode: paramTracker,

Expand Down Expand Up @@ -146,7 +148,7 @@ function transformPlugin(env, options = {}) {
// <div {{foo bar=BAZ}} />
handleHash(node.hash);
},
};
});
}

function populateInvokeables(telemetry) {
Expand All @@ -169,4 +171,4 @@ function populateInvokeables(telemetry) {
return [components, helpers];
}

module.exports = transformPlugin;
module.exports = transform;
6 changes: 4 additions & 2 deletions transforms/no-implicit-this/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ const fs = require('fs');

const recast = require('ember-template-recast');
const { getTelemetry } = require('ember-codemods-telemetry-helpers');
const transformPlugin = require('./helpers/plugin');
const transform = require('./helpers/plugin');
const { getOptions: getCLIOptions } = require('codemod-cli');
const DEFAULT_OPTIONS = {};

Expand Down Expand Up @@ -49,5 +49,7 @@ module.exports = function transformer(file /*, api */) {
return;
}

return recast.transform(file.source, env => transformPlugin(env, options)).code;
let root = recast.parse(file.source);
transform(root, options);
return recast.print(root);
};

0 comments on commit d8d110a

Please sign in to comment.