eslint-plugin-playlyfe
Version:
custom eslint stuff for playlyfe
62 lines (47 loc) • 1.43 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var icu = _interopRequireWildcard(require("./utils/icu"));
var astUtils = _interopRequireWildcard(require("./utils/astUtils"));
var _reactIntlVisitor = _interopRequireDefault(require("./utils/reactIntlVisitor"));
const Rule = {
meta: {
docs: {
description: 'report invalid icu message'
}
},
create(context) {
return (0, _reactIntlVisitor.default)({
defaultMessageJSXAttr(node) {
const valueNode = astUtils.getJSXAttributeValue(node);
try {
const message = astUtils.getStringNodeValue(valueNode);
if (!message) {
return;
}
icu.parse(message.value);
} catch (err) {
context.report({
node: valueNode,
message: `Invalid message: ${err.message}`
});
}
},
defaultMessageProperty(node) {
try {
const message = astUtils.getStringNodeValue(node.value);
if (!message) {
return;
}
icu.parse(message.value);
} catch (err) {
context.report({
node: node.value,
message: `Invalid message: ${err.message}`
});
}
}
});
}
};
module.exports = Rule;