escover 2.1.0 โ†’ 2.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/ChangeLog CHANGED
@@ -1,3 +1,22 @@
1
+ 2022.05.29, v2.1.3
2
+
3
+ fix:
4
+ - escover: formatters: lines: add #
5
+
6
+
7
+ 2022.05.09, v2.1.2
8
+
9
+ feature:
10
+ - package: putout v26.0.0
11
+ - package: eslint-plugin-putout v15.1.1
12
+
13
+
14
+ 2022.03.29, v2.1.1
15
+
16
+ feature:
17
+ - package: mock-import v3.0.1: passed to zenload
18
+
19
+
1
20
  2022.03.18, v2.1.0
2
21
 
3
22
  feature:
@@ -321,14 +340,14 @@ feature:
321
340
  2022.01.08, v1.0.3
322
341
 
323
342
  feature:
324
- - escover: plugin-mark: add support ot ThrowStatement
343
+ - escover: plugin-mark: add support of ThrowStatement
325
344
  - escover: add merger
326
345
 
327
346
 
328
347
  2022.01.08, v1.0.2
329
348
 
330
349
  fix:
331
- - escover: impove support of AssignmentPattern
350
+ - escover: improve support of AssignmentPattern
332
351
 
333
352
  feature:
334
353
  - escover: plugin-mark-line -> plugin-mark
package/README.md CHANGED
@@ -26,7 +26,7 @@ you have a couple problems to solve.
26
26
 
27
27
  ### ๐Ÿคทโ€ How to get coverage when `nyc` doesn't supported?
28
28
 
29
- โ˜๏ธ `c8` could help, but [no](https://github.com/coderaiser/c8-reproduce) it supports no `query paramters`
29
+ โ˜๏ธ `c8` could help, but [no](https://github.com/coderaiser/c8-reproduce) it supports no `query parameters`
30
30
  which are needed to load module again, and apply mocks.
31
31
 
32
32
  ### ๐Ÿคทโ€ How to get coverage when mocks are used?
@@ -35,7 +35,7 @@ which are needed to load module again, and apply mocks.
35
35
 
36
36
  ### ๐Ÿคทโ€ What with [`coveralls`](https://coveralls.io/)? Does [`lcov`](https://github.com/StevenLooman/mocha-lcov-reporter) supported?
37
37
 
38
- โ˜๏ธ Sure! `coverage/lcov.info` is main coverage file for ๐ŸŽฉ`ESCover`.
38
+ โ˜๏ธ Sure! `coverage/lcov.info` is main coverage file for ๐ŸŽฉ**ESCover**.
39
39
 
40
40
  ## Install
41
41
 
@@ -49,6 +49,26 @@ Run to collect and show coverage:
49
49
  escover npm test
50
50
  ```
51
51
 
52
+ ## Comparison with `c8`
53
+
54
+ Check out the real example from [wisdom](https://github.com/coderaiser/wisdom). There is next uncovered code:
55
+
56
+ ```js
57
+ import jessy from 'jessy';
58
+
59
+ export default (info) => typeof jessy('publishConfig.access', info) === 'undefined';
60
+ ```
61
+
62
+ `c8` shows three columns with 100% and one with 0%.
63
+
64
+ <img width="584" alt="image" src="https://user-images.githubusercontent.com/1573141/169064257-579d6770-095e-475b-a7bc-8275849c8dc2.png">
65
+
66
+ And here is what you will see with ๐ŸŽฉ**ESCover**:
67
+
68
+ <img width="403" alt="image" src="https://user-images.githubusercontent.com/1573141/169064550-62aa2398-b370-496f-8c8b-418d0d2d6004.png">
69
+
70
+ So if you need more accurate code with no bullshit green 100%, use ๐ŸŽฉ**ESCover** ๐Ÿ˜‰.
71
+
52
72
  ## Config
53
73
 
54
74
  `exclude` section of configuration file `.nyrc.json` supported.
@@ -84,9 +104,9 @@ Then run:
84
104
  NODE_OPTIONS="'--loader zenlend'" ZENLOAD='escover,mock-import' escover npm test
85
105
  ```
86
106
 
87
- ## What you should know about `lcov`
107
+ ## What should I know about `lcov`?
88
108
 
89
- Format used by ๐ŸŽฉ`ESCover` located in `coverage/lcov.info`.
109
+ Format used by ๐ŸŽฉ**ESCover** located in `coverage/lcov.info`.
90
110
 
91
111
  - โ˜๏ธ *[`lcov`](https://github.com/linux-test-project/lcov) was created in `2002`, twenty years ago.*
92
112
  - โ˜๏ธ *Linux kernel developers created it to know what is going on with the coverage.*
@@ -122,7 +142,7 @@ Where:
122
142
 
123
143
  - `SF` - is path to source;
124
144
  - `DA` - is line number, and count of running;
125
- - `end_of_record` latest recored for current file entry;
145
+ - `end_of_record` latest recorded for current file entry;
126
146
 
127
147
  The only thing that is differ from `lcov`: counters are `0` or `1`, if you have a reason to use "real" counters [create an issue](https://github.com/coderaiser/escover/issues/new).
128
148
 
package/lib/config.js CHANGED
@@ -6,6 +6,7 @@ const {parse} = JSON;
6
6
 
7
7
  const addStars = (patterns) => {
8
8
  const result = [];
9
+
9
10
  for (const pattern of patterns) {
10
11
  result.push(...[
11
12
  `**/${pattern}/**`,
@@ -76,6 +76,7 @@ function parseUncoveredLines(lines) {
76
76
 
77
77
  function parseCoverageFile(coverageFile) {
78
78
  const files = [];
79
+
79
80
  for (const {name, lines} of coverageFile) {
80
81
  const filename = name.replace(CWD + '/', '');
81
82
  const uncoveredLines = parseUncoveredLines(lines);
@@ -50,6 +50,7 @@ export default (coverageFile) => {
50
50
  for (const line of uncoveredLines) {
51
51
  out(`๏ธ- ${chalk.red(line)} at file://${name}:${line}`);
52
52
  }
53
+
53
54
  out('');
54
55
  }
55
56
  }
@@ -60,7 +61,7 @@ export default (coverageFile) => {
60
61
  out('');
61
62
 
62
63
  if (!coverage.uncoveredCount)
63
- out('#๏ธ ๐ŸŒด ok');
64
+ out('# ๐ŸŒด ok');
64
65
 
65
66
  if (coverage.uncoveredCount)
66
67
  out(`# ๐Ÿงจ fail: ${coverage.uncoveredCount}`);
package/lib/merge.js CHANGED
@@ -5,16 +5,16 @@ export const merge = (files) => {
5
5
 
6
6
  for (const {rawName, rawLines} of files) {
7
7
  const name = cutQuery(rawName);
8
- const lines = applyCoverage({
8
+
9
+ deduplicator[name] = applyCoverage({
9
10
  name,
10
11
  rawLines,
11
12
  deduplicator,
12
13
  });
13
-
14
- deduplicator[name] = lines;
15
14
  }
16
15
 
17
16
  const list = [];
17
+
18
18
  for (const [name, lines] of entries(deduplicator)) {
19
19
  list.push({
20
20
  name,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "escover",
3
- "version": "2.1.0",
3
+ "version": "2.1.3",
4
4
  "author": "coderaiser <mnemonic.enemy@gmail.com> (https://github.com/coderaiser)",
5
5
  "description": "Coverage for EcmaScript Modules",
6
6
  "main": "lib/escover.js",
@@ -43,10 +43,11 @@
43
43
  "chalk": "^5.0.0",
44
44
  "find-cache-dir": "^3.3.2",
45
45
  "find-up": "^6.2.0",
46
+ "mock-import": "^3.0.1",
46
47
  "montag": "^1.2.1",
47
48
  "once": "^1.4.0",
48
49
  "picomatch": "^2.3.1",
49
- "putout": "^25.0.0",
50
+ "putout": "^26.0.0",
50
51
  "strip-ansi": "^7.0.1",
51
52
  "table": "^6.8.0",
52
53
  "try-catch": "^3.0.0",
@@ -63,9 +64,8 @@
63
64
  "escover": "^2.0.1",
64
65
  "eslint": "^8.3.0",
65
66
  "eslint-plugin-node": "^11.1.0",
66
- "eslint-plugin-putout": "^14.4.0",
67
+ "eslint-plugin-putout": "^15.1.1",
67
68
  "madrun": "^9.0.0",
68
- "mock-import": "^3.0.0",
69
69
  "supertape": "^7.0.0"
70
70
  }
71
71
  }