stylelint-taro-rn
Version:
A collection of React Native specific rules for stylelint
1 lines • 2.98 kB
Source Map (JSON)
{"version":3,"file":"index.js","sources":["../../../src/rules/css-property-no-unknown/index.js"],"sourcesContent":["import { allCSS2RNProps } from 'react-native-known-styling-properties'\nimport stylelint from 'stylelint'\n\nimport {\n isCustomProperty,\n isExportBlock,\n isStandardSyntaxDeclaration,\n isStandardSyntaxProperty,\n isString,\n kebabCase,\n namespace,\n optionsMatches\n} from '../../utils/index.js'\n\nexport const ruleName = namespace('css-property-no-unknown')\n\nexport const messages = stylelint.utils.ruleMessages(ruleName, {\n rejected: (property) => `无效的 React Native 样式属性 \"${property}\"`\n})\n\nconst props = allCSS2RNProps.map(kebabCase)\n\nexport default function (actual, options) {\n return function (root, result) {\n const validOptions = stylelint.utils.validateOptions(\n result,\n ruleName,\n {\n actual\n },\n {\n actual: options,\n possible: {\n ignoreProperties: [isString]\n },\n optional: true\n }\n )\n\n if (!validOptions) {\n return\n }\n\n root.walkDecls((decl) => {\n const prop = decl.prop\n\n if (!isStandardSyntaxProperty(prop)) {\n return\n }\n\n if (!isStandardSyntaxDeclaration(decl)) {\n return\n }\n\n if (isCustomProperty(prop)) {\n return\n }\n\n if (isExportBlock(decl.parent)) {\n return\n }\n\n if (optionsMatches(options, 'ignoreProperties', prop)) {\n return\n }\n\n if (props.indexOf(prop.toLowerCase()) !== -1) {\n return\n }\n\n stylelint.utils.report({\n message: messages.rejected(prop),\n node: decl,\n result,\n ruleName\n })\n })\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;MAca,QAAQ,GAAG,SAAS,CAAC,yBAAyB;AAE9C,MAAA,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE;IAC7D,QAAQ,EAAE,CAAC,QAAQ,KAAK,CAAA,uBAAA,EAA0B,QAAQ,CAAG,CAAA;AAC9D,CAAA;AAED,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC;AAElB,6BAAA,EAAA,MAAM,EAAE,OAAO,EAAA;IACtC,OAAO,UAAU,IAAI,EAAE,MAAM,EAAA;QAC3B,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,eAAe,CAClD,MAAM,EACN,QAAQ,EACR;YACE;SACD,EACD;AACE,YAAA,MAAM,EAAE,OAAO;AACf,YAAA,QAAQ,EAAE;gBACR,gBAAgB,EAAE,CAAC,QAAQ;AAC5B,aAAA;AACD,YAAA,QAAQ,EAAE;AACX,SAAA,CACF;QAED,IAAI,CAAC,YAAY,EAAE;YACjB;;AAGF,QAAA,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,KAAI;AACtB,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI;AAEtB,YAAA,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE;gBACnC;;AAGF,YAAA,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE;gBACtC;;AAGF,YAAA,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE;gBAC1B;;AAGF,YAAA,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBAC9B;;YAGF,IAAI,cAAc,CAAC,OAAO,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE;gBACrD;;AAGF,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC5C;;AAGF,YAAA,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;AACrB,gBAAA,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;AAChC,gBAAA,IAAI,EAAE,IAAI;gBACV,MAAM;gBACN;AACD,aAAA,CAAC;AACJ,SAAC,CAAC;AACJ,KAAC;AACH;;;;"}