Home > Mobile >  How to use TIMING=1 eslint to measure rule Performance in Windows OS
How to use TIMING=1 eslint to measure rule Performance in Windows OS

Time:04-19

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"
  • Related