motion
Version:
motion - moving development forward
110 lines (70 loc) • 3.83 kB
JavaScript
exports.__esModule = true;
exports['default'] = createPlugin;
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _state = require('./state');
var _libHelpers = require('./lib/helpers');
var _libHelpers2 = _interopRequireDefault(_libHelpers);
var _nodesProgram = require('./nodes/Program');
var _nodesProgram2 = _interopRequireDefault(_nodesProgram);
var _nodesExportDeclaration = require('./nodes/ExportDeclaration');
var _nodesExportDeclaration2 = _interopRequireDefault(_nodesExportDeclaration);
var _nodesImportDeclaration = require('./nodes/ImportDeclaration');
var _nodesImportDeclaration2 = _interopRequireDefault(_nodesImportDeclaration);
var _nodesViewStatement = require('./nodes/ViewStatement');
var _nodesViewStatement2 = _interopRequireDefault(_nodesViewStatement);
var _nodesStatement = require('./nodes/Statement');
var _nodesStatement2 = _interopRequireDefault(_nodesStatement);
var _nodesJSXElement = require('./nodes/JSXElement');
var _nodesJSXElement2 = _interopRequireDefault(_nodesJSXElement);
var _nodesJSXAttribute = require('./nodes/JSXAttribute');
var _nodesJSXAttribute2 = _interopRequireDefault(_nodesJSXAttribute);
var _nodesArrowFunctionExpression = require('./nodes/ArrowFunctionExpression');
var _nodesArrowFunctionExpression2 = _interopRequireDefault(_nodesArrowFunctionExpression);
var _nodesFunctionExpression = require('./nodes/FunctionExpression');
var _nodesFunctionExpression2 = _interopRequireDefault(_nodesFunctionExpression);
var _nodesFunctionDeclaration = require('./nodes/FunctionDeclaration');
var _nodesFunctionDeclaration2 = _interopRequireDefault(_nodesFunctionDeclaration);
var _nodesReturnStatement = require('./nodes/ReturnStatement');
var _nodesReturnStatement2 = _interopRequireDefault(_nodesReturnStatement);
var _nodesCallExpression = require('./nodes/CallExpression');
var _nodesCallExpression2 = _interopRequireDefault(_nodesCallExpression);
var _nodesVariableDeclaration = require('./nodes/VariableDeclaration');
var _nodesVariableDeclaration2 = _interopRequireDefault(_nodesVariableDeclaration);
var _nodesAssignmentExpression = require('./nodes/AssignmentExpression');
var _nodesAssignmentExpression2 = _interopRequireDefault(_nodesAssignmentExpression);
var _nodesUpdateExpression = require('./nodes/UpdateExpression');
var _nodesUpdateExpression2 = _interopRequireDefault(_nodesUpdateExpression);
function createPlugin(options) {
// running without options
if (options.Transformer) return MotionPlugin(options);
// plugin
function MotionPlugin(_ref) {
var Plugin = _ref.Plugin;
var t = _ref.types;
// init
_state.init();
_libHelpers2['default'](options, t);
return new Plugin('motion-transform', {
metadata: { group: 'builtin-trailing' },
visitor: {
Program: _nodesProgram2['default'],
ExportDeclaration: _nodesExportDeclaration2['default'],
ImportDeclaration: _nodesImportDeclaration2['default'],
ViewStatement: _nodesViewStatement2['default'],
Statement: _nodesStatement2['default'],
JSXElement: _nodesJSXElement2['default'],
JSXAttribute: _nodesJSXAttribute2['default'],
ArrowFunctionExpression: _nodesArrowFunctionExpression2['default'],
FunctionExpression: _nodesFunctionExpression2['default'],
FunctionDeclaration: _nodesFunctionDeclaration2['default'],
ReturnStatement: _nodesReturnStatement2['default'],
CallExpression: _nodesCallExpression2['default'],
VariableDeclaration: _nodesVariableDeclaration2['default'],
AssignmentExpression: _nodesAssignmentExpression2['default'],
UpdateExpression: _nodesUpdateExpression2['default']
}
});
}
return MotionPlugin;
}
module.exports = exports['default'];