Как отключить eslint-загрузчик веб-пакета storybook? - PullRequest
2 голосов
/ 01 октября 2019

Я хотел бы отключить eslint-загрузчик веб-пакета storybook, потому что я использую другой процесс для проверки качества кода.

Я знаю, что существует конфигурация веб-пакета для storybook, например, код ниже, и, возможно, я мог бы использовать какой-то фильтр наconfig.rules, но, может быть, нехорошо:

const path = require('path')

module.exports = async ({ config }) => {
  // some modifications

  return config
}

Я пытался найти в документации сборника рассказов об этом, но ничего не нашел.

1 Ответ

2 голосов
/ 02 октября 2019

У меня была похожая проблема, в моем случае я использовал create-Reaction-app и customize-cra , чтобы отключить eslint, поскольку я также использую свою собственную конфигурацию linter, но я запускаюв проблему с Storybook, использующим различные правила линтинга, и с жалобами на мой исходный код.

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

disableEsLint = (e) => {
  return e.module.rules.filter(e =>
    e.use && e.use.some(e => e.options && void 0 !== e.options.useEslintrc)).forEach(s => {
      e.module.rules = e.module.rules.filter(e => e !== s)
    }), e
}

module.exports = function ({ config }) {
  // Same config, except it is missing the eslint rule
  config = disableEsLint(config);

  // Do any thing else you want here
  config.module.rules.unshift({
    test: /\.story\.tsx?$/,
    loaders: [
      {
        loader: require.resolve('@storybook/addon-storysource/loader'),
        options: { parser: 'typescript' },
      },
    ],
    enforce: 'pre',
  });

  // return the new config
  return config;
};

Я не уверен, сработает ли это для вашего случая, но стоит попробовать.

Другие предложения - попытаться настроить консоль log log в webpack, найти имя правилаи config.module.rules.delete('your-rule-name')

В моем случае правила не имели названия / или я не смог его найти.

...