.eslintrc.js ключи с "-" (тире) - PullRequest
0 голосов
/ 04 мая 2018

eslint допускает форматы, отличные от json, включая .js, если он экспортируется как модуль. К сожалению, ключи, которые требуются для eslint, включают тире, например, предпочитаемый-const ниже. Цитирование обязательно. Это похоже на работу.

Но: есть ли обходной путь, который позволяет предпочтениям .js не требовать кавычек? Например, Преттиер разрешает использование верблюда для .prettierrc.js. Это не похоже на работу для eslint.

module.exports = {
  env: {
    browser: true,
    es6:     true
  },
  extends:  "standard",
  parserOptions: {
    sourceType: "module"
  },
  rules: {
    curly: [ 0 ],
    "prefer-const": [ 2 ]
  }
}

1 Ответ

0 голосов
/ 05 мая 2018

Если это имеет значение для вас, я бы написал и напишу функцию для преобразования имен клавиш из верблюжьего корпуса в стиль тире.

Мне удалось сформулировать концептуальное доказательство в несколько строк, так что это не должно быть слишком большой работой.

function fromCamelCase(rules) {
  return Object.entries(rules).reduce(
    (obj, [key, value]) =>
      (obj[key.replace(/[A-Z]/, ch => `-${ch.toLowerCase()}`)] = value, obj),
    { }
  );
}

module.exports = {
  env: {
    browser: true,
    es6:     true
  },
  extends:  "standard",
  parserOptions: {
    sourceType: "module"
  },
  rules: fromCamelCase({
    curly: [ 0 ],
    preferConst: [ 2 ]
  })
}

Если я правильно читаю исходный код , eslint не разрешает создавать псевдонимы для имен правил, поэтому создание собственного плагина не вариант.

...