getStylelintRule.mjs 523 B

12345678910111213141516171819202122
  1. import rules from '../rules/index.mjs';
  2. /**
  3. * @param {string} ruleName
  4. * @param {import('stylelint').Config | undefined} [config]
  5. * @returns {Promise<import('stylelint').Rule | undefined>}
  6. */
  7. export default function getStylelintRule(ruleName, config) {
  8. if (isBuiltInRule(ruleName)) {
  9. return rules[ruleName];
  10. }
  11. return Promise.resolve(config?.pluginFunctions?.[ruleName]);
  12. }
  13. /**
  14. * @param {string} ruleName
  15. * @returns {ruleName is keyof rules}
  16. */
  17. function isBuiltInRule(ruleName) {
  18. return ruleName in rules;
  19. }