index.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. /* eslint-disable global-require */
  2. 'use strict';
  3. const allRules = {
  4. 'no-unused-styles': require('./lib/rules/no-unused-styles'),
  5. 'no-inline-styles': require('./lib/rules/no-inline-styles'),
  6. 'no-color-literals': require('./lib/rules/no-color-literals'),
  7. 'sort-styles': require('./lib/rules/sort-styles'),
  8. 'split-platform-components': require('./lib/rules/split-platform-components'),
  9. 'no-raw-text': require('./lib/rules/no-raw-text'),
  10. 'no-single-element-style-arrays': require('./lib/rules/no-single-element-style-arrays'),
  11. };
  12. function configureAsError(rules) {
  13. const result = {};
  14. for (const key in rules) {
  15. if (!rules.hasOwnProperty(key)) {
  16. continue;
  17. }
  18. result['react-native/' + key] = 2;
  19. }
  20. return result;
  21. }
  22. const allRulesConfig = configureAsError(allRules);
  23. module.exports = {
  24. deprecatedRules: {},
  25. rules: allRules,
  26. rulesConfig: {
  27. 'no-unused-styles': 0,
  28. 'no-inline-styles': 0,
  29. 'no-color-literals': 0,
  30. 'sort-styles': 0,
  31. 'split-platform-components': 0,
  32. 'no-raw-text': 0,
  33. 'no-single-element-style-arrays': 0
  34. },
  35. environments: {
  36. 'react-native': {
  37. globals: require('eslint-plugin-react-native-globals').environments.all.globals,
  38. },
  39. },
  40. configs: {
  41. all: {
  42. plugins: [
  43. 'react-native',
  44. ],
  45. parserOptions: {
  46. ecmaFeatures: {
  47. jsx: true,
  48. },
  49. },
  50. rules: allRulesConfig,
  51. },
  52. },
  53. };