UNPKG

@builder.io/eslint-plugin-mitosis

Version:

A Mitosis plugin containing rules that help you write valid and idiomatic Mitosis code

39 lines (38 loc) 1.69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.staticControlFlow = void 0; var types = require("@babel/types"); var isMitosisPath_1 = require("../helpers/isMitosisPath"); exports.staticControlFlow = { create: function (context) { if (!(0, isMitosisPath_1.default)(context.getFilename())) return {}; return { VariableDeclarator: function (node) { if (types.isVariableDeclarator(node)) { if (types.isObjectPattern(node.id) && types.isIdentifier(node.init) && node.init.name === 'state') { context.report({ node: node, message: 'Destructuring the state object is currently not supported', }); } } }, JSXExpressionContainer: function (node) { if (types.isJSXExpressionContainer(node)) { if (types.isConditionalExpression(node.expression)) { if (types.isJSXElement(node.expression.consequent) || types.isJSXElement(node.expression.alternate)) { context.report({ node: node, message: 'Ternaries around JSX Elements are not currently supported. Instead use binary expressions - e.g. {foo ? <bar /> : <baz />} should be {foo && <bar />}{!foo && <baz />}', }); } } } }, }; }, };