tslint-plugin-prettier
Runs Prettier as a TSLint rule and reports differences as individual TSLint issues.
Sample
a();;;
~~
;;;
~~~ [Delete `;;⏎;;;`]
var foo = ''
~~ [Replace `''` with `"";⏎`]
var foo= "";
~ [Insert `·`]
Install
# using npm
npm install --save-dev tslint-plugin-prettier prettier
# using yarn
yarn add --dev tslint-plugin-prettier prettier
(require prettier@^1.9.0
)
Usage
(tslint.json)
for tslint@^5.2.0
{
"rulesDirectory": ["tslint-plugin-prettier"],
"rules": {
"prettier": true
}
}
for tslint@^5.0.0
{
"extends": ["tslint-plugin-prettier"],
"rules": {
"prettier": true
}
}
NOTE: To use this plugin, it'd better to also use tslint-config-prettier to disable all prettier-related rules, so as to avoid conflicts between existed rules.
Options
-
If there is no option provided, it'll try to load config file and/or
.editorconfig
if possible, uses Prettier's default option if not found.{ "extends": ["tslint-plugin-prettier"], "rules": { "prettier": true } }
If you don't want to load
.editorconfig
, disable it in the third argument.{ "extends": ["tslint-plugin-prettier"], "rules": { "prettier": [true, null, { "editorconfig": false }] } }
-
If you'd like to specify which config file to use, just put its path (relative to
process.cwd()
) in the second argument, the following example shows how to load the config file from<cwd>/configs/.prettierrc
:{ "extends": ["tslint-plugin-prettier"], "rules": { "prettier": [true, "configs/.prettierrc"] } }
-
If you'd like to specify options manually, just put Prettier Options in the second argument, for example:
{ "extends": ["tslint-plugin-prettier"], "rules": { "prettier": [true, { "singleQuote": true }] } }
Development
# lint
yarn run lint
# build
yarn run build
# test
yarn run test
Related
License
MIT © Ika