UNPKG

@stylistic/stylelint-plugin

Version:
51 lines (41 loc) 1.12 kB
import { hasInterpolation } from "../hasInterpolation/index.js" /** * Check whether a value is standard * * @param {string} value * @returns {boolean} */ export function isStandardSyntaxValue (value) { let normalizedValue = value // Ignore operators before variables (example -$variable) if ((/^[-+*/]/).test(value.charAt(0))) { normalizedValue = normalizedValue.slice(1) } // SCSS variable (example $variable) if (normalizedValue.startsWith(`$`)) { return false } // SCSS namespace (example namespace.$variable) if ((/^.+\.\$/).test(value)) { return false } // SCSS namespace (example namespace.function-name()) if ((/^.+\.[-\w]+\(/).test(value)) { return false } // Less variable if (normalizedValue.startsWith(`@`)) { return false } // SCSS or Less interpolation if (hasInterpolation(normalizedValue)) { return false } // WebExtension replacement keyword used by Chrome/Firefox // more information: https://developer.chrome.com/extensions/i18n // and https://github.com/stylelint/stylelint/issues/4707 if ((/__MSG_\S+__/).test(value)) { return false } return true }