ember-cli-eslint,ember-cli-stylelint 到 运行 仅在需要时自动

ember-cli-eslint, ember-cli-stylelint to run automatically only if desired

我明白 ember-cli-eslintember-cli-stylelint 自动变为 运行 的目的。

我想知道是否有办法控制这种行为。

喜欢,运行 ember-cli-eslintember-cli-stylelint 只有在某些情况下才会自动 ENVIRONMENT_VARIABLE 或可能编写自定义脚本。

我想知道这是否可能。 Google 搜索没有给我任何指示。

是的。

对于 ESLint:

  1. 删除插件 ember-cli-eslint
  2. 在你的项目中安装 npm 包 eslint

ESLint 然后 运行 只有当你实际上 运行 ./node_modules/.bin/eslint .

您也应该更新 package.json 的 lint:js 脚本。

对于 Stylelint:

  1. 删除插件 ember-cli-stylelint
  2. 在你的项目中安装 npm 包 stylelint

Stylelint 将 运行 仅当您实际 运行 ./node_modules/.bin/stylelint

您也应该更新 package.json 的 lint:css 脚本。

根据 @Turbo87 at https://github.com/ember-cli/ember-cli-eslint/issues/333 的建议,我已将 ember-cli-build.js 更新为:

const blacklist = [];
if (process.env.DISABLE_AUTO_LINT) {
  blacklist.push('ember-cli-eslint', 'ember-cli-eslint');
}

let app = new EmberApp(defaults, {
  addons: { blacklist },
});

它按预期工作。

简化的 package.json/script 看起来像这样:

"scripts": {
  "eslint": "eslint .",
  "stylelint": "stylelint app/styles",
  "lint": "npm run eslint && npm run stylelint",
  "start": "DISABLE_AUTO_LINT=true ember serve",
  "test": "npm run lint --silent && DISABLE_AUTO_LINT=true ember exam --split=10 --parallel",
}

ember serve 一切如常。