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.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. // @ts-nocheck
  2. 'use strict';
  3. const _ = require('lodash');
  4. const isAutoprefixable = require('../../utils/isAutoprefixable');
  5. const optionsMatches = require('../../utils/optionsMatches');
  6. const report = require('../../utils/report');
  7. const ruleMessages = require('../../utils/ruleMessages');
  8. const validateOptions = require('../../utils/validateOptions');
  9. const vendor = require('../../utils/vendor');
  10. const ruleName = 'property-no-vendor-prefix';
  11. const messages = ruleMessages(ruleName, {
  12. rejected: (property) => `Unexpected vendor-prefix "${property}"`,
  13. });
  14. function rule(actual, options, context) {
  15. return (root, result) => {
  16. const validOptions = validateOptions(
  17. result,
  18. ruleName,
  19. { actual },
  20. {
  21. optional: true,
  22. actual: options,
  23. possible: {
  24. ignoreProperties: [_.isString, _.isRegExp],
  25. },
  26. },
  27. );
  28. if (!validOptions) {
  29. return;
  30. }
  31. root.walkDecls((decl) => {
  32. const prop = decl.prop;
  33. const unprefixedProp = vendor.unprefixed(prop);
  34. //return early if property is to be ignored
  35. if (optionsMatches(options, 'ignoreProperties', unprefixedProp)) {
  36. return;
  37. }
  38. // Make sure there's a vendor prefix,
  39. // but this isn't a custom property
  40. if (prop[0] !== '-' || prop[1] === '-') {
  41. return;
  42. }
  43. if (!isAutoprefixable.property(prop)) {
  44. return;
  45. }
  46. if (context.fix) {
  47. decl.prop = isAutoprefixable.unprefix(decl.prop);
  48. return;
  49. }
  50. report({
  51. message: messages.rejected(prop),
  52. node: decl,
  53. result,
  54. ruleName,
  55. });
  56. });
  57. };
  58. }
  59. rule.ruleName = ruleName;
  60. rule.messages = messages;
  61. module.exports = rule;