website-auditfy
Version:
> Tool for validate your project on SEO, HTML, CSS, JS, TS, Performance, Security and A11Y
39 lines • 1.43 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.TwitterRule = void 0;
const message_model_1 = require("../../../models/message.model");
const message_enum_1 = require("../../../enum/message.enum");
class TwitterRule {
constructor(value, lightHouse) {
this.id = 'meta-twitter-rule';
this.tags = ['html', 'seo'];
this.description = 'Twitter tags are present';
this.ruleUrl = 'https://developer.x.com/en/docs/x-for-websites/cards/guides/getting-started';
this.twitterTags = [
'twitter:card',
'twitter:site',
'twitter:creator'
];
this.dom = value;
this.lightHouse = lightHouse;
}
checkMetaTags() {
return this.twitterTags.reduce((messages, tag) => {
const meta = this.dom(`meta[property="${tag}"], meta[name="${tag}"]`);
if (meta.length > 0) {
messages.push(message_model_1.Message.create(`${this.description} ${tag} found`, message_enum_1.MessageType.passed));
}
else {
messages.push(message_model_1.Message.create(`${this.description} ${tag} missing`, this.ruleFlow));
}
return messages;
}, []);
}
check() {
return [
...this.checkMetaTags()
];
}
}
exports.TwitterRule = TwitterRule;
//# sourceMappingURL=twitter.rule.js.map