@putout/plugin-putout-config 
πPutout plugin helps with πPutout Config.
Install
npm i @putout/plugin-putout-config -D
Rules
- β apply-assignment;
- β apply-conditions;
- β apply-esm;
- β apply-return;
- β apply-parens;
- β apply-for-of;
- β apply-labels;
- β apply-math;
- β apply-nodejs;
- β apply-optional-chaining;
- β apply-promises;
- β apply-tape;
- β apply-types;
- β convert-boolean-to-string;
- β move-formatter-up;
- β remove-empty;
- β remove-empty-file;
- β rename-property;
- β rename-rules;
Config
{
"rules": {
"putout-config/apply-assignment": "on",
"putout-config/apply-conditions": "on",
"putout-config/apply-esm": "on",
"putout-config/apply-for-of": "on",
"putout-config/apply-labels": "on",
"putout-config/apply-math": "on",
"putout-config/apply-nodejs": "on",
"putout-config/apply-optional-chaining": "on",
"putout-config/apply-parens": "on",
"putout-config/apply-return": "on",
"putout-config/apply-tape": "on",
"putout-config/apply-types": "on",
"putout-config/apply-promises": "on",
"putout-config/convert-boolean-to-string": "on",
"putout-config/move-formatter-up": "on",
"putout-config/remove-empty": "on",
"putout-config/remove-empty-file": "off",
"putout-config/rename-rules": "on"
}
}
apply-assignment
Apply assignment
according to:
- πPutout v39:
{
"rules": {
- "split-assignment-expressions": "off",
- "simplify-assignments": "off",
- "convert-assignment-to-arrow-function": "off",
- "convert-assignment-to-comparison": "off",
- "convert-assignment-to-declaration": "off"
+ "assignment/split": "off",
+ "assignment/simplify": "off",
+ "assignment/convert-to-arrow-function": "off"
+ "assignment/convert-to-comparison": "off",
+ "assignment/convert-to-declaration": "off"
}
}
apply-return
Apply return
according to:
- πPutout v38:
{
"rules": {
- "apply-early-return": "off",
+ "return/apply-early": "off",
- "simplify-boolean-return": "off",
+ "return/simplify-boolean": "off",
- "convert-break-to-return": "off",
+ "return/convert-from-break": "off"
- "remove-useless-return": "off"
+ "return/remove-useless": "off"
}
}
apply-esm
Apply esm
according to:
- πPutout v40:
{
"rules": {
- "putout/add-index-to-import": "on"
+ "esm/add-index-to-import": "on"
}
}
- πPutout v37:
{
"rules": {
- "remove-empty/import": "on",
- "remove-empty/export": "on",
+ "esm/remove-empty-import": "on",
+ "esm/remove-empty-export": "on",
- "convert-assert-to-with": "off",
- "group-imports-by-source": "on",
- "declare-imports-first": "on",
- "remove-quotes-from-import-assertions": "on",
- "merge-duplicate-imports": "on",
- "sort-imports-by-specifiers": "on"
+ "esm/convert-assert-to-with": "off",
+ "esm/group-imports-by-source": "on",
+ "esm/declare-imports-first": "on",
+ "esm/remove-quotes-from-import-assertions": "on",
+ "esm/merge-duplicate-imports": "on",
+ "esm/sort-imports-by-specifiers": "on"
}
}
apply-parens
Apply parens
according to:
- πPutout v37:
{
"rules": {
- "add-missing-parens": "on"
+ "parens/add-missing": "on"
}
}
apply-optional-chaining
Apply optional-chaining
according to:
- πPutout v37:
{
"rules": {
- "convert-optional-to-logical/assign": "on",
- "convert-optional-to-logical/call": "off",
+ "optional-chaining/convert-optional-assign-to-logical": "on",
+ "optional-chaining/convert-optional-to-logical": "off"
- "apply-optional-chaining/assign": "off"
- "apply-optional-chaining/use": "on"
+ "optional-chaining/convert-logical-assign-to-optional": "off",
+ "optional-chaining/convert-logical-to-optional": "off"
}
}
apply-conditions
Apply conditions
according to:
- πPutout v29:
{
"rules": {
- "apply-comparison-order": "off" ,
- "apply-if-condition": "off",
- "convert-comparison-to-boolean": "off",
- "convert-equal-to-strict-equal": "off",
- "remove-useless-conditions/evaluate": "off",
- "remove-useless-conditions/simplify": "off",
- "convert-comparison-to-boolean": "off",
- "remove-constant-conditions": "off",
- "remove-boolean-from-assertions": "off",
+ "conditions/apply-comparison-order": "off",
+ "conditions/apply-if": "off",
+ "conditions/convert-comparison-to-boolean": "off",
+ "conditions/convert-equal-to-strict-equal": "off",
+ "conditions/evaluate": "off"
+ "conditions/simplify": "off",
+ "conditions/convert-comparison-to-boolean": "off",
+ "conditions/remove-constant": "off",
+ "conditions/remove-boolean": "off"
}
}
- πPutout v32:
{
"rules": {
- "remove-useless-else": "off",
- "merge-if-statements": "off"
+ "conditions/remove-useless-else": "off",
+ "conditions/merge-if-statements": "off"
}
}
apply-for-of
Apply for-of
according to πPutout v29.
{
"rules": {
- "convert-for-to-for-of": "off",
- "convert-for-each-to-for-of": "off",
- "convert-for-in-to-for-of": "off",
- "convert-map-to-for-of": "off",
- "remove-useless-for-of": "off",
- "remove-unused-for-of-variables": "off",
- "remove-useless-array-from": "off",
- "remove-useless-variables/for-of": "off"
- "convert-reduce-to-for-of": "off",
+ "for-of/for": "off",
+ "for-of/for-each": "off",
+ "for-of/for-in": "off",
+ "for-of/map": "off",
+ "for-of/remove-useless": "off",
+ "for-of/remove-unused-variables": "off",
+ "for-of/remove-useless-array-from": "off",
+ "for-of/remove-useless-variables": "off",
+ "for-of/reduce": "off"
}
}
apply-labels
Apply labels
according to πPutout v36. Checkout in πPutout Editor.
β Example of incorrect code
{
"rules": {
"remove-unused-labels": "on",
"convert-label-to-object": "on"
}
}
β Example of correct code
{
"rules": {
"labels/remove-unused": "on",
"labels/convert-to-object": "on"
}
}
apply-math
Apply math
according to πPutout v28.
{
"rules": {
- "convert-math-pow": "off",
- "apply-numeric-separators": "off",
- "convert-imul-to-multiplication": "off",
- "convert-sqrt-to-hypot": "off"
+ "math/apply-exponential": "off",
+ "math/apply-numeric-separators": "off",
+ "math/apply-multiplication": "off",
+ "math/convert-sqrt-to-hypot": "off"
}
}
apply-nodejs
Apply nodejs
according to:
- πPutout v28:
{
"rules": {
- "convert-top-level-return": "off",
+ "nodejs/convert-top-level-return": "off"
- "remove-process-exit": "off"
+ "nodejs/remove-process-exit": "off"
}
}
- πPutout v33:
{
"rules": {
- "convert-esm-to-commonjs": "on",
- "convert-commonjs-to-esm": "on'
+ "nodejs/convert-esm-to-commonjs": "on",
+ "nodejs/convert-commonjs-to-esm": "on'
}
}
- πPutout v34:
{
"rules": {
- "strict-mode/add-missing": "off",
- "strict-mode/remove-useless": "off"
+ "nodejs/remove-useless-strict-mode": "off",
+ "nodejs/add-missing-strict-mode": "off"
}
apply-promises
Apply promises
according to:
- πPutout v30;
{
"rules": {
- "remove-useless-variables/await": "off",
+ "promises/remove-useless-variables": "off"
}
}
apply-tape
Apply tape
according to:
- πPutout v33;
β Example of incorrect code
{
"rules": {
"convert-mock-require-to-mock-import": "off"
}
}
β Example of correct code
{
"rules": {
"tape/convert-mock-require-to-mock-import": "off"
}
}
apply-types
Apply types
according to:
- πPutout v29;
{
"rules": {
- "convert-typeof-to-is-type": "off" ,
- "remove-useless-type-conversions": "off",
- "remove-useless-typeof": "off",
- "apply-is-array": "off",
- "remove-useless-type-conversion/with-double-negations": "off",
+ "types/convert-typeof-to-is-type": "off",
+ "types/remove-useless-conversion": "off",
+ "types/remove-double-negations": "off",
+ "types/remove-useless-typeof": "off",
+ "types/apply-is-array": "off",
+ "types/remove-double-negations": "off"
}
}
convert-boolean-to-string
β Example of incorrect code
{
"rules": {
"remove-unused-variables": true,
"remove-debugger": false
}
}
β Example of correct code
{
"rules": {
"remove-unused-variables": "on",
"remove-debugger": "off"
}
}
move-formatter-up
Checkout in πPutout Editor.
β Example of incorrect code
{
"parser": "babel",
"rules": {
"remove-unused-variables": "off"
},
"formatter": "progress-bar"
}
β Example of correct code
{
"parser": "babel",
"formatter": "progress-bar",
"rules": {
"remove-unused-variables": "off"
}
}
remove-empty
β Example of incorrect code
{
"rules": {},
"plugins": [],
"match": {
"*.js": {
"remove-unused-variables": "off"
}
}
}
β Example of correct code
{
"match": {
"*.js": {
"remove-unused-variables": "off"
}
}
}
remove-empty-file
Checkout in πPutout Editor.
When .putout.json
content is:
{}
It has no sense and removed:
/
`-- /
- `-- .putout.json
rename-rules
Rename rules according to:
- πPutout v29:
{
"rules": {
- "declare-undefined-variables": "off" ,
+ "declare": "off",
- "apply-maybe": "off" ,
+ "maybe": "off",
- "apply-array-at": "off",
+ "apply-at": "off",
}
}
- πPutout v26:
{
"rules": {
- "strict-mode/add": "off",
- "strict-mode/remove": "off",
+ "strict-mode/add-missing": "off",
+ "strict-mode/remove-useless": "off",
}
}
License
MIT