putout

🐊 Pluggable and configurable JavaScript Linter, code transformer and formatter with built-in ESLint and Babel support for js, jsx typescript, flow, markdown, yaml and json. Write declarative codemods in a simplest possible way 😏

MIT License

Downloads
3.6M
Stars
646
Committers
23
putout - putout v13.9.0

Published by coderaiser almost 4 years ago

fix

  • fix(gitignore) report
  • fix(eslint-plugin-putout) objects-braces-inside-array: false positives
  • feature(@putout/plugin-apply-destructuring) add support of second array element (prefer-destructuring in eslint do not fixes)

feature

  • feature(package) @putout/plugin-gitignore v2.0.1
  • feature(@putout/plugin-gitignore) drop support of putout < 13
  • feature(@putout/plugin-gitignore) merge 3 rules into one
  • feature(@putout/plugin-gitignore) add-nyc-output
  • feature(@putout/plugin-tape) convert-throws-to-try-catch: add support of two args
  • feature(@putout/plugin-remove-boolean-from-logical-expressions) add support of using booleans in conditions
  • feature(eslint-plugin-putout) improve support of objects-braces-inside-array
  • feature(eslint-plugin-putout) add "ide" to extend from to improve experiance in IDE
  • feature(eslint-plugin-putout) add objects-braces-inside-array
  • feature(@putout/plugin-apply-destructuring) add support of second array element (prefer-destructuring in eslint do not fixes)
  • feature(@putout/plugin-declare-undefined-variables) place name of a variable into report
  • feature(@putout/plugin-declare-undefined-variables) add ability to put ImportDeclarations on top
  • feature(@putout/plugin-declarations) mv out declarations
  • feature(@putout/plugin-declare-undefined-variables) add support of join
putout - putout v13.8.0

Published by coderaiser almost 4 years ago

fix

  • (@putout/processor-markdown) show errors after fixing
  • (@putout/compare) undefined as argument

feature

  • (@putout/plugin-declare-undefined-variables) add
  • (putout) parser-error: add ability to show rule
putout - putout v13.7.1

Published by coderaiser almost 4 years ago

fix

  • (putout) recursive-read: windows (#46)
  • (@putout/plugin-regexp) remove-useless-group: false positives (#45)
putout - putout v13.7.0

Published by coderaiser almost 4 years ago

Improved speed and memory usage

With help of https://github.com/coderaiser/putout/commit/3a7d396c12d84c58c70d2d75b1f1966d641ba71a
Results for Mac Os on putout repository root with 1567 files.

Memory: 269MB -> 65mb
Time: 1m7s -> 0m58s

According to (node --prof) function addGlobs called 986 times according to prof report:

986    1.9%    1.9%  LazyCompile: *addGlobs /Users/coderaiser/putout/packages/engine-processor/lib/processor.js:98:18

Before:

> putout . --fresh -f memory

heap used: 269.57mb
heap total: 294.63mb
rss: 340.02mb

real 1m7.235s
user 1m7.494s
sys 0m4.427s

After:

> putout . --fresh -f memory

heap used: 65.29mb
heap total: 224.57mb
rss: 266.92mb

real 0m58.951s
user 1m1.682s
sys 0m4.179s

Speed up: 12%.
Current processing speed: 26 files / second.

feature

  • feature(package) @putout/engine-processor v2.7.0: getProcessor runners
  • feature(@putout/engine-processor) add getProcessorRunners
  • feature(@putout/formatter-memory) add to finale output rss, heap total and heap usage'
  • feature(@putout/engine-processor) improve speed and memory usage according to (node --prof): 269MB -> 65mb, 1m7s -> 0m58s
putout - putout v13.6.0

Published by coderaiser almost 4 years ago

feature

  • (package) @putout/plugin-regexp v2.0.0
  • (@putout/plugin-regexp) add remove-useless-regexp
  • (@putout/plugin-regexp) add remove-useless-group
  • (@putout/plugin-regexp) drop support of node < 14
  • (@putout/plugin-regexp) simplify -> apply-literal-notation
putout - putout v13.5.1

Published by coderaiser almost 4 years ago

fix

  • (putout) match: absolute path
  • (@putout/plugin-regexp) replaceWith -> operator.replaceWith

feature

  • (@putout/processor-css) improve merge configs support
putout - putout v13.5.0

Published by coderaiser almost 4 years ago

feature

  • feature(putout) add recursive read of config
putout - putout v13.4.0

Published by coderaiser almost 4 years ago

fix

  • (@putout/test) format, formatMany with UPDATE env variable set

feature

  • (@putout/formatter-json-lines) add
putout - putout v13.3.0

Published by coderaiser almost 4 years ago

fix

  • (putout) supported-files: path with slash

feature

  • (putout) cli: cache: add ability to detect eslintrc change
  • (putout) cache-files: add ability to detect node_modules changes
  • (@putout/plugin-tape) add convert-emitter-to-promise
  • (@putout/formatter-memory) add suppoort of PUTOUT_PROGRESS_BAR
  • (@putout/plugin-nodejs) add convert-promisify-to-fs-promises
putout - putout v13.2.0

Published by coderaiser almost 4 years ago

feature

  • (@putout/plugin-nodejs) add
  • (@putout/processsor-yaml) package: js-yaml v4.0.0
  • (@putout/plugin-madrun) convert-to-async: imporve support of couple run arguments
  • (@putout/plugin-madrun) add-fresh-lint: add support of ESM
putout - putout v13.1.2

Published by coderaiser almost 4 years ago

fix

  • (putout) handle promise rejections: rm duplicates
  • (@putotu/formatter-progress-bar) PUTOUT_NO_PROGRESS_BAR -> PUTOUT_PROGRESS_BAR

feature

  • (@putout/eslint-config) add key-spacing
  • (@putout/plugin-tape) add convert-does-not-throw-to-try-catch
  • (@putout/plugin-remove-useless-arguments) argument: report: improve message when find function
  • (@putout/keypress) add ability to force enable with KEYPRESS env variable
  • (@putout/plugin-gitignore) add-vim-files
  • (@putout/keypress) add ability to set listener once
putout - putout v13.1.1

Published by coderaiser almost 4 years ago

feature

  • (@putout/keypress) add
putout - putout v13.1.0

Published by coderaiser almost 4 years ago

feature

  • (package) @putout/engine-runner v10.0.0
  • (@putout/remove-duplicates-from-logical-expressions) add
  • (@putout/plugin-apply-optional-chaining) add support of nested expressions
  • (@putout/engine-runner) @putout/compare v7.0.0
  • (@putout/engine-runner) @putout/operate v6.0.0
  • (package) @putout/compare v7.0.0
  • (@putout/compare) drop support of node < 14
  • (package) @putout/operate v6.0.0
  • (@putout/operate) drop support of node < 14
  • (package) @putout/processor-css v2.0.0
  • (@putout/processor-css) drop support of node < 14
  • (@putout/plugin-convert-for-to-for-of) add ability to find previous siblings
  • (@putout/processor-json) postProcess: removeEmptyLines: simplify and speed up: 300ms -> 200ms
putout - putout v13.0.0

Published by coderaiser almost 4 years ago

feature

  • (package) @putout/plugin-madrun v9.0.0
  • (@putout/plugin-madrun) rename-predefined-eslint-to-putout: remove
  • (@putout/plugin-madrun drop support of node < 14
  • (putout) drop support of node < 14
  • (putout) apply-optional-chaining: enable
  • (@putout/plugin-madrun) drop support of putout < 13
  • (@putout/plugin-madun) add fresh:lint
  • (@putout/plugin-madrun) add-madrun-to-lint: remove
putout - putout v12.12.0

Published by coderaiser almost 4 years ago

feature

  • (@putout/plugin-package-json) add
  • (@putout/processor-json) add ability to cut empty lines
  • (@putout/plugin-convert-commonjs-to-esm) require: add support of existing require binding
  • (@putout/plugin-convert-for-to-for-of) improve support of using with: remove-unused-variables, remove-useless-arguments
putout - putout v12.11.1

Published by coderaiser almost 4 years ago

fix

  • (putout) cli: validate-args: import -> require: Invalid host defined options in v8-compile-cache
putout - putout v12.11.0

Published by coderaiser almost 4 years ago

feature

  • (putout) add ability to handle promise rejections
  • (@putout/plugin-browserlist) add
putout - putout v12.10.0

Published by coderaiser almost 4 years ago

fix

  • (@putout/plugin-eslint) move-putout-to-end-of-extends: putout is only recorod

feature

  • (putout) add ability to handle absense of processor with CANNOT_LOAD_PROCESSOR exit code
putout - putout v12.9.4

Published by coderaiser almost 4 years ago

fix

  • (putout) *.spec.mjs, *.spec.cjs: glob
putout - putout v12.9.3

Published by coderaiser almost 4 years ago

feature

  • (putout) mjs, cjs: add support of remove-only, remove-skip
Package Rankings
Top 1.65% on Npmjs.org
Badges
Extracted from project README
NPM version Build Status Coverage Status DeepScan putout npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm