@clark/ember-template-lint-config
v0.2.2
Published
Clark's config for ember-template-lint
Downloads
617
Readme
@clark/ember-template-lint-config
The configuration for ember-template-lint
we use across
all of our Ember.js projects.
Installation
Install the dependencies:
# Install `ember-template-lint` itself and our config
yarn add -D ember-template-lint @clark/ember-template-lint-config
# Remove the linting integration into ember-cli
yarn remove ember-cli-template-lint
Update or create the .template-lintrc.js
:
'use strict';
module.exports = {
plugins: ['@clark/ember-template-lint-config'],
extends: 'clark:octane'
};
Add the lint:hbs
script to the package.json
, in case it does not exist yet:
{
"name": "my-awesome-app",
"scripts": {
"lint:hbs": "ember-template-lint ."
},
"devDependencies": {
"@clark/ember-template-lint-config": "^0.1.0",
"ember-template-lint:" "^1.8.1"
}
}
Don't forget to run yarn lint:hbs
in CI!
Usage
This package exports two configurations you can extend from.
clark:octane
This is the recommended default configuration to use. It extends the official
octane
config and makes the following changes to it:
no-curly-component-invocation
: whitelist all known helperssimple-unless
: allow to use a single, simple helper in{{unless}}
clark:legacy
This config extends clark:octane
and disables a few rules, so
that the linter does not go crazy on code that was written pre-Octane. Use this
config for legacy packages, when clark:octane
throws too many, not easily
fixable errors. Ideally though, migrate your code.
The following rules are disabled:
no-implicit-this
: prefix context access withthis.
and component arguments with@
no-curly-component-invocation
: migrate curly component invocation to angle bracket invocationsno-action
: use the{{on}}
modifier and(fn)
helper over{{action}}
Q & A
Why remove ember-cli-template-lint
?
ember-cli-template-lint
is a wrapper around the actual ember-template-lint
,
that integrates it into the linting pipeline of ember-cli
. We strongly agree
with RFC #121 "Remove ember-cli-eslint
" and believe that the
linting pipeline, as it is implemented in ember-cli
, is hacky and should not
run alongside the browser tests.
Instead we run all our lint jobs as extra steps in CI.