Lint - GradedJestRisk/ember-training GitHub Wiki

Table of Contents

General

Tools:

  • basic settings: use editorconfig module
  • ember classes: use eslint-plugin-ember module
  • ember templates: use ember-template-lint module

basic - editorconfig

Used by default by ember-cli:

  • indent: 2 spaces
  • hbs: no newline end of file
Generated file:
(..)

[*]
(..)
trim_trailing_whitespace = true
insert_final_newline = true
indent_style = space
indent_size = 2

[*.hbs]
insert_final_newline = false

Classes (.js) - ember eslint plugin

Install (done by default when generating project by ember-cli):

  • install module in dev mode npm install --save-dev eslint-plugin-ember
  • add to eslint configuration
  plugins: ['ember' ],
  extends: [
    'eslint:recommended',
    'plugin:ember/recommended' // or other configuration
  ],

templates (.hbs) - ember-template-lint module

Use ember-template-lint, installed by default by ember-cli.

install

Steps:

  • install npm install --save-dev ember-template-lint
  • configure:
    • open .template-lintrc.js file:
    • choose presets, eg. use default rule values by specifying extends: 'recommended'
    • override any default value with rules
Sample .template-lintrc.js file
module.exports = {
  extends: 'recommended',
  rules: {
    'link-href-attributes': false,
    'no-html-comments': false
  },
};

CLI

List:

  • lint, overriding configuraion by speciying a rule : npx ember-template-lint --no-config-path <FILE> --rule 'no-implicit-this:["error", { "allow": ["some-helper"] }]'

prettier

experimental plugin

⚠️ **GitHub.com Fallback** ⚠️