putout
Version:
🐊 Pluggable and configurable code transformer with built-in ESLint, Babel and support of js, jsx, typescript, flow, markdown, yaml and json
284 lines (283 loc) • 8.41 kB
JSON
{
"parser": "babel",
"printer": "putout",
"formatter": ["progress-bar", {
"minCount": 10
}],
"processors": [
"javascript",
"json",
"markdown",
"ignore",
"yaml",
"css",
"filesystem"
],
"match": {
"*.{mjs,ts,tsx,mts}": {
"nodejs/remove-useless-strict-mode": "on",
"nodejs/add-missing-strict-mode": "off"
},
"*.{jsx,js,cjs}": {
"nodejs/add-missing-strict-mode": "on",
"nodejs/remove-useless-strict-mode": "on"
},
"{.,}putout.json": {
"putout-config": "on"
},
".madrun.{js,cjs,mjs}": {
"madrun": "on"
},
"setupTests.*": {
"esm/remove-empty-import": "off"
},
".filesystem.json": {
"filesystem": "on",
"nodejs/cjs-file": "on",
"nodejs/mjs-file": "on",
"nodejs/rename-file-cjs-to-js": "on",
"nodejs/rename-file-mjs-to-js": "on",
"package-json/find-file": "on",
"package-json/remove-exports-with-missing-files": "on",
"typescript/find-file": "on",
"typescript/cts-file": "on",
"typescript/mts-file": "on",
"typescript/rename-file-cts-to-ts": "on",
"typescript/rename-file-mts-to-ts": "on",
"putout-config/remove-empty-file": "on",
"esm/resolve-imported-file": "on",
"esm/apply-namespace-import-to-file": "on"
},
"*.md": {
"apply-arrow": "off",
"assignment/convert-to-declaration": "off",
"conditions/apply-consistent-blocks": "off",
"conditions/convert-comparison-to-boolean": "off",
"conditions/remove-constant": "off",
"maybe": "off",
"convert-quotes-to-backticks": "off",
"remove-unused-expressions": "off",
"variables/remove-unused": "off",
"labels/remove-unused": "off",
"remove-useless-escape": "off",
"variables/remove-useless": "off",
"destructuring/remove-useless-variables": "off",
"remove-useless-push": "off",
"esm/remove-useless-export-specifiers": "off",
"return/remove-useless": "off",
"remove-empty": "off",
"for-of/remove-unused-variables": "off",
"remove-console": "off",
"remove-unreachable-code": "off",
"declare": "off",
"nodejs/declare": "off",
"typescript/remove-unused-types": "off",
"remove-nested-blocks": "off",
"putout/apply-namespace-specifier": "off"
},
"*.svelte": {
"variables/remove-unused": "off"
},
"{*rc,*.{json,yml}}": {
"convert-quotes-to-backticks": "off",
"remove-useless-escape": "off",
"math/apply-numeric-separators": "off"
},
".github/**/*.yml": {
"github": "on",
"github/set-node-versions": ["on", {
"versions": [
"20.x",
"22.x",
"24.x",
"25.x"
]
}],
"remove-useless-escape": "off"
},
".gitignore": {
"gitignore": "on"
},
".npmignore": {
"npmignore": "on"
},
".{nyc,c8}rc.json": {
"coverage": "on"
},
".*ignore": {
"convert-quotes-to-backticks": "off"
},
"webpack.config.js": {
"webpack": "on"
},
"browserlist": {
".browserlistrc": "on"
},
".eslintrc{*,.json}": {
"eslint": "on",
"eslint/convert-require-to-import": "off",
"eslint/apply-match-to-flat": "off"
},
"eslint.config.*": {
"eslint": "on",
"putout/convert-match-to-function": "off"
},
"package.json": {
"package-json": "on"
},
"bin": {
"nodejs/remove-process-exit": "off",
"nodejs/convert-top-level-return": "on",
"remove-console": "off",
"esm/remove-empty-import": "off"
},
"{test,*.spec.{js,mjs,cjs,ts}}": {
"tape": "on"
},
"*.mjs": {
"nodejs/convert-commonjs-to-esm": "on",
"tape/convert-mock-require-to-mock-import": "on"
},
"*.mts": {
"typescript/convert-commonjs-to-esm": "on"
},
"*.cts": {
"typescript/convert-esm-to-commonjs": "on"
},
"*.cjs": {
"nodejs/convert-esm-to-commonjs": "on"
},
"*.{ts,tsx,mts,cts,md{ts},md{tsx}}": {
"typescript": "on"
},
"*.d.ts": {
"declare": "off"
}
},
"ignore": [
"**/node_modules",
"**/fixture",
"**/.nyc_output",
"**/.yarn",
"**/yarn.lock",
"**/yarn-error.log",
"**/*.gif",
"**/*.png",
"**/*.jpeg",
"**/.pnp.*",
"**/coverage",
"**/dist",
"**/dist-dev",
"**/build",
"**/package-lock.json",
"**/.idea",
"**/.git"
],
"rules": {
"coverage": "off",
"typescript": "off",
"nodejs/convert-esm-to-commonjs": "off",
"nodejs/convert-commonjs-to-esm": "off",
"nodejs/convert-top-level-return": "off",
"putout": "off",
"putout-config": "off",
"eslint": "off",
"package-json": "off",
"madrun": "off",
"webpack": "off",
"gitignore": "off",
"npmignore": "off",
"github": "off",
"tape": "off",
"nodejs/add-missing-strict-mode": "off",
"nodejs/remove-useless-strict-mode": "off",
"browserlist": "off",
"filesystem": "off"
},
"plugins": [
"parens",
"apply-at",
"apply-arrow",
"apply-dot-notation",
"apply-flat-map",
"apply-shorthand-properties",
"apply-starts-with",
"apply-template-literals",
"apply-overrides",
"arguments",
"assignment",
"destructuring",
"extract-sequence-expressions",
"madrun",
"maybe",
"webpack",
"eslint",
"optional-chaining",
"package-json",
"remove-debugger",
"remove-iife",
"remove-console",
"remove-empty",
"remove-unused-private-fields",
"remove-unused-expressions",
"remove-useless-assign",
"remove-useless-replace",
"variables",
"remove-useless-push",
"remove-useless-map",
"remove-useless-constructor",
"remove-useless-array",
"remove-useless-array-constructor",
"remove-useless-array-entries",
"remove-useless-continue",
"remove-useless-delete",
"remove-useless-operand",
"remove-useless-escape",
"remove-useless-functions",
"remove-useless-template-expressions",
"remove-duplicate-case",
"remove-nested-blocks",
"remove-unreachable-code",
"remove-duplicate-keys",
"return",
"reuse-duplicate-init",
"spread",
"simplify-ternary",
"convert-expression-to-params",
"convert-concat-to-flat",
"convert-object-entries-to-object-keys",
"convert-object-keys-to-object-entries",
"convert-to-arrow-function",
"convert-template-to-string",
"convert-index-of-to-includes",
"convert-quotes-to-backticks",
"convert-object-entries-to-array-entries",
"esm",
"merge-duplicate-functions",
"declare-before-reference",
"declare",
"labels",
"math",
"putout",
"putout-config",
"generators",
"promises",
"typescript",
"coverage",
"gitignore",
"npmignore",
"browserlist",
"regexp",
"github",
"tape",
"try-catch",
"nodejs",
"montag",
"new",
"logical-expressions",
"types",
"conditions",
"for-of",
"filesystem"
]
}