Software zum Installieren eines Smart-Mirror Frameworks , zum Nutzen von hochschulrelevanten Informationen, auf einem Raspberry-Pi.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.js 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. // @ts-nocheck
  2. 'use strict';
  3. const _ = require('lodash');
  4. const containsString = require('../../utils/containsString');
  5. const matchesStringOrRegExp = require('../../utils/matchesStringOrRegExp');
  6. const report = require('../../utils/report');
  7. const ruleMessages = require('../../utils/ruleMessages');
  8. const validateOptions = require('../../utils/validateOptions');
  9. const ruleName = 'comment-word-disallowed-list';
  10. const messages = ruleMessages(ruleName, {
  11. rejected: (pattern) => `Unexpected word matching pattern "${pattern}"`,
  12. });
  13. function rule(list) {
  14. return (root, result) => {
  15. const validOptions = validateOptions(result, ruleName, {
  16. actual: list,
  17. possible: [_.isString, _.isRegExp],
  18. });
  19. if (!validOptions) {
  20. return;
  21. }
  22. root.walkComments((comment) => {
  23. const text = comment.text;
  24. const rawComment = comment.toString();
  25. const firstFourChars = rawComment.substr(0, 4);
  26. // Return early if sourcemap
  27. if (firstFourChars === '/*# ') {
  28. return;
  29. }
  30. const matchesWord = matchesStringOrRegExp(text, list) || containsString(text, list);
  31. if (!matchesWord) {
  32. return;
  33. }
  34. report({
  35. message: messages.rejected(matchesWord.pattern),
  36. node: comment,
  37. result,
  38. ruleName,
  39. });
  40. });
  41. };
  42. }
  43. rule.primaryOptionArray = true;
  44. rule.ruleName = ruleName;
  45. rule.messages = messages;
  46. module.exports = rule;