In ESLint official website, there is a paragraph, called Per-rule Performance
.
It states that
"setting the TIMING
environment variable will trigger the display, upon linting completion, of the ten longest-running rules, along with their individual running time and relative performance impact as a percentage of total rule processing time".
$ TIMING=1 eslint lib
Rule | Time (ms) | Relative
:-----------------------|----------:|--------:
no-multi-spaces | 52.472 | 6.1%
camelcase | 48.684 | 5.7%
no-irregular-whitespace | 43.847 | 5.1%
valid-jsdoc | 40.346 | 4.7%
handle-callback-err | 39.153 | 4.6%
space-infix-ops | 35.444 | 4.1%
no-undefined | 25.693 | 3.0%
no-shadow | 22.759 | 2.7%
no-empty-class | 21.976 | 2.6%
semi | 19.359 | 2.3%
However, when I add
"lint-js": "TIMING=1 eslint --ext .js,.jsx,.ts,.tsx src/js --cache --cache-strategy metadata"
in the "scripts"
in package.json
and run it with
npm run lint-js
in my Windows OS
, I get
'TIMING' is not recognized as an internal or external command,
operable program or batch file.
How to run TIMING=1
with eslint
in Windows OS?
CodePudding user response:
In Windows environment variables should be set using the set
command.
Try the following from the command line:
set TIMING=1
npx eslint --ext .js,.jsx,.ts,.tsx src/js --cache --cache-strategy metadata
CodePudding user response:
You have two options: work with the set command or use an external tool like cross-env:
Using set (Windows only)
"lint-js": "set TIMING=1 && eslint --ext .js,.jsx,.ts,.tsx src/js --cache --cache-strategy metadata"
Using cross-env
Install with:
npm install -D cross-env
Then change the script command to:
"lint-js": "cross-env TIMING=1 eslint --ext .js,.jsx,.ts,.tsx src/js --cache --cache-strategy metadata"