Skip to content

Commit 3e09996

Browse files
committed
Reorganize modules.
1 parent edaeb14 commit 3e09996

23 files changed

+98
-119
lines changed
File renamed without changes.

public/analyseCoverage.mjs renamed to analyseCoverage.mjs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import fs from "fs";
22
import { join } from "path";
33
import { fileURLToPath } from "url";
44
import v8Coverage from "@bcoe/v8-coverage";
5-
import sourceRange from "../private/sourceRange.mjs";
5+
import sourceRange from "./sourceRange.mjs";
66

77
/**
88
* Analyzes [Node.js generated V8 JavaScript code coverage data](https://nodejs.org/api/cli.html#cli_node_v8_coverage_dir)
@@ -11,13 +11,9 @@ import sourceRange from "../private/sourceRange.mjs";
1111
* @name analyseCoverage
1212
* @param {string} coverageDirPath Code coverage data directory path.
1313
* @returns {Promise<CoverageAnalysis>} Resolves the coverage analysis.
14-
* @example <caption>Ways to `import`.</caption>
14+
* @example <caption>How to import.</caption>
1515
* ```js
16-
* import { analyseCoverage } from "coverage-node";
17-
* ```
18-
*
19-
* ```js
20-
* import analyseCoverage from "coverage-node/public/analyseCoverage.mjs";
16+
* import analyseCoverage from "coverage-node/analyseCoverage.mjs";
2117
* ```
2218
*/
2319
export default async function analyseCoverage(coverageDirPath) {

test/public/analyseCoverage.test.mjs renamed to analyseCoverage.test.mjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ import { spawn } from "child_process";
33
import fs from "fs";
44
import { join } from "path";
55
import disposableDirectory from "disposable-directory";
6-
import childProcessPromise from "../../private/childProcessPromise.mjs";
7-
import analyseCoverage from "../../public/analyseCoverage.mjs";
6+
import analyseCoverage from "./analyseCoverage.mjs";
7+
import childProcessPromise from "./childProcessPromise.mjs";
88

99
export default (tests) => {
1010
tests.add(

changelog.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,17 @@
66

77
- Updated Node.js support to `^12.22.0 || ^14.17.0 || >= 16.0.0`.
88
- Updated dependencies, some of which require newer Node.js versions than previously supported.
9+
- Public modules are now individually listed in the package `files` and `exports` fields.
910
- Removed `./package` from the package `exports` field; the full `package.json` filename must be used in a `require` path.
11+
- Removed the package main index module; deep imports must be used.
12+
- Shortened public module deep import paths, removing the `/public/`.
1013

1114
### Patch
1215

1316
- Simplified package scripts.
1417
- Also run GitHub Actions CI with Node.js v17, and drop v15.
1518
- Configured Prettier option `singleQuote` to the default, `false`.
19+
- Reorganized the test file structure.
1620
- Renamed imports in the test index module.
1721
- Readme tweaks.
1822

File renamed without changes.

test/private/childProcessPromise.test.mjs renamed to childProcessPromise.test.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { rejects } from "assert";
2-
import childProcessPromise from "../../private/childProcessPromise.mjs";
2+
import childProcessPromise from "./childProcessPromise.mjs";
33

44
export default (tests) => {
55
tests.add(

cli/coverage-node.mjs renamed to coverage-node.mjs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
import { spawn } from "child_process";
44
import disposableDirectory from "disposable-directory";
55
import kleur from "kleur";
6-
import CliError from "../private/CliError.mjs";
7-
import childProcessPromise from "../private/childProcessPromise.mjs";
8-
import reportCliError from "../private/reportCliError.mjs";
9-
import analyseCoverage from "../public/analyseCoverage.mjs";
10-
import coverageSupported from "../public/coverageSupported.mjs";
11-
import minNodeVersion from "../public/coverageSupportedMinNodeVersion.mjs";
12-
import reportCoverage from "../public/reportCoverage.mjs";
6+
import CliError from "./CliError.mjs";
7+
import analyseCoverage from "./analyseCoverage.mjs";
8+
import childProcessPromise from "./childProcessPromise.mjs";
9+
import coverageSupported from "./coverageSupported.mjs";
10+
import minNodeVersion from "./coverageSupportedMinNodeVersion.mjs";
11+
import reportCliError from "./reportCliError.mjs";
12+
import reportCoverage from "./reportCoverage.mjs";
1313

1414
/**
1515
* Powers the `coverage-node` CLI. Runs Node.js with the given arguments and

test/cli/coverage-node.test.mjs renamed to coverage-node.test.mjs

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ import { join, relative } from "path";
55
import { fileURLToPath } from "url";
66
import disposableDirectory from "disposable-directory";
77
import snapshot from "snapshot-assertion";
8-
import coverageSupported from "../../public/coverageSupported.mjs";
9-
import replaceStackTraces from "../replaceStackTraces.mjs";
8+
import coverageSupported from "./coverageSupported.mjs";
9+
import replaceStackTraces from "./test/replaceStackTraces.mjs";
1010

1111
const COVERAGE_NODE_CLI_PATH = fileURLToPath(
12-
new URL("../../cli/coverage-node.mjs", import.meta.url)
12+
new URL("./coverage-node.mjs", import.meta.url)
1313
);
1414
const SNAPSHOT_REPLACEMENT_FILE_PATH = "<file path>";
1515
const SNAPSHOT_REPLACEMENT_PROCESS_NODE_VERSION = "<process Node.js version>";
@@ -46,7 +46,7 @@ export default (tests) => {
4646
SNAPSHOT_REPLACEMENT_PROCESS_NODE_VERSION
4747
),
4848
new URL(
49-
`../snapshots/coverage-node/1-covered-file-coverage-${
49+
`./test/snapshots/coverage-node/1-covered-file-coverage-${
5050
coverageSupported ? "supported" : "unsupported"
5151
}-stdout.ans`,
5252
import.meta.url
@@ -94,7 +94,7 @@ export default (tests) => {
9494
SNAPSHOT_REPLACEMENT_PROCESS_NODE_VERSION
9595
),
9696
new URL(
97-
`../snapshots/coverage-node/1-ignored-file-coverage-${
97+
`./test/snapshots/coverage-node/1-ignored-file-coverage-${
9898
coverageSupported ? "supported" : "unsupported"
9999
}-stdout.ans`,
100100
import.meta.url
@@ -135,7 +135,7 @@ export default (tests) => {
135135
SNAPSHOT_REPLACEMENT_PROCESS_NODE_VERSION
136136
),
137137
new URL(
138-
`../snapshots/coverage-node/1-uncovered-file-coverage-${
138+
`./test/snapshots/coverage-node/1-uncovered-file-coverage-${
139139
coverageSupported ? "supported" : "unsupported"
140140
}-stdout.ans`,
141141
import.meta.url
@@ -148,7 +148,7 @@ export default (tests) => {
148148
.toString()
149149
.replace(relative("", filePath), SNAPSHOT_REPLACEMENT_FILE_PATH),
150150
new URL(
151-
"../snapshots/coverage-node/1-uncovered-file-coverage-supported-stderr.ans",
151+
"./test/snapshots/coverage-node/1-uncovered-file-coverage-supported-stderr.ans",
152152
import.meta.url
153153
)
154154
);
@@ -220,7 +220,7 @@ import "${fileFPath}";
220220
SNAPSHOT_REPLACEMENT_PROCESS_NODE_VERSION
221221
),
222222
new URL(
223-
`../snapshots/coverage-node/2-covered-ignored-uncovered-files-coverage-${
223+
`./test/snapshots/coverage-node/2-covered-ignored-uncovered-files-coverage-${
224224
coverageSupported ? "supported" : "unsupported"
225225
}-stdout.ans`,
226226
import.meta.url
@@ -234,7 +234,7 @@ import "${fileFPath}";
234234
.replace(relative("", fileEPath), "<pathE>")
235235
.replace(relative("", fileFPath), "<pathF>"),
236236
new URL(
237-
"../snapshots/coverage-node/2-covered-ignored-uncovered-files-coverage-supported-stderr.ans",
237+
"./test/snapshots/coverage-node/2-covered-ignored-uncovered-files-coverage-supported-stderr.ans",
238238
import.meta.url
239239
)
240240
);
@@ -276,7 +276,7 @@ import "${fileFPath}";
276276
SNAPSHOT_REPLACEMENT_PROCESS_NODE_VERSION
277277
),
278278
new URL(
279-
`../snapshots/coverage-node/script-console-log-coverage-${
279+
`./test/snapshots/coverage-node/script-console-log-coverage-${
280280
coverageSupported ? "supported" : "unsupported"
281281
}-stdout.ans`,
282282
import.meta.url
@@ -315,7 +315,7 @@ import "${fileFPath}";
315315
SNAPSHOT_REPLACEMENT_FILE_PATH
316316
),
317317
new URL(
318-
"../snapshots/coverage-node/script-error-stderr.ans",
318+
"./test/snapshots/coverage-node/script-error-stderr.ans",
319319
import.meta.url
320320
)
321321
);
@@ -383,7 +383,7 @@ deprecated();
383383
await snapshot(
384384
replaceStackTraces(stderr.toString()),
385385
new URL(
386-
"../snapshots/coverage-node/node-option-invalid-stderr.ans",
386+
"./test/snapshots/coverage-node/node-option-invalid-stderr.ans",
387387
import.meta.url
388388
)
389389
);
@@ -421,7 +421,7 @@ deprecated();
421421
tests.add("`coverage-node` CLI without arguments.", async () => {
422422
const { stdout, stderr, status, error } = spawnSync(
423423
"node",
424-
["cli/coverage-node.mjs"],
424+
["coverage-node.mjs"],
425425
{
426426
env: {
427427
...process.env,
@@ -437,7 +437,7 @@ deprecated();
437437
await snapshot(
438438
replaceStackTraces(stderr.toString()),
439439
new URL(
440-
`../snapshots/coverage-node/without-arguments-coverage-${
440+
`./test/snapshots/coverage-node/without-arguments-coverage-${
441441
coverageSupported ? "supported" : "unsupported"
442442
}-stderr.ans`,
443443
import.meta.url

public/coverageSupported.mjs renamed to coverageSupported.mjs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import semver from "../private/semver.mjs";
21
import coverageSupportedMinNodeVersion from "./coverageSupportedMinNodeVersion.mjs";
2+
import semver from "./semver.mjs";
33

44
const {
55
major: minMajor,
@@ -14,13 +14,9 @@ const { major, minor, patch } = semver(process.versions.node);
1414
* @kind constant
1515
* @name coverageSupported
1616
* @type {boolean}
17-
* @example <caption>Ways to `import`.</caption>
17+
* @example <caption>How to import.</caption>
1818
* ```js
19-
* import { coverageSupported } from "coverage-node";
20-
* ```
21-
*
22-
* ```js
23-
* import coverageSupported from "coverage-node/public/coverageSupported.mjs";
19+
* import coverageSupported from "coverage-node/coverageSupported.mjs";
2420
* ```
2521
*/
2622
export default // coverage ignore next line

public/coverageSupportedMinNodeVersion.mjs renamed to coverageSupportedMinNodeVersion.mjs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,9 @@
44
* @kind constant
55
* @name coverageSupportedMinNodeVersion
66
* @type {SemanticVersion}
7-
* @example <caption>Ways to `import`.</caption>
7+
* @example <caption>How to import.</caption>
88
* ```js
9-
* import { coverageSupportedMinNodeVersion } from "coverage-node";
10-
* ```
11-
*
12-
* ```js
13-
* import coverageSupportedMinNodeVersion from "coverage-node/public/coverageSupportedMinNodeVersion.mjs";
9+
* import coverageSupportedMinNodeVersion from "coverage-node/coverageSupportedMinNodeVersion.mjs";
1410
* ```
1511
*/
1612
export default { major: 13, minor: 3, patch: 0 };
File renamed without changes.

package.json

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,30 @@
2323
"mjs"
2424
],
2525
"files": [
26-
"cli",
27-
"private",
28-
"public"
26+
"analyseCoverage.mjs",
27+
"childProcessPromise.mjs",
28+
"CliError.mjs",
29+
"coverage-node.mjs",
30+
"coverageSupported.mjs",
31+
"coverageSupportedMinNodeVersion.mjs",
32+
"errorConsole.mjs",
33+
"reportCliError.mjs",
34+
"reportCoverage.mjs",
35+
"semver.mjs",
36+
"sourceRange.mjs",
37+
"types.mjs"
2938
],
30-
"main": "./public/index.mjs",
3139
"exports": {
32-
".": "./public/index.mjs",
33-
"./public/*": "./public/*",
34-
"./package.json": "./package.json"
40+
"./analyseCoverage.mjs": "./analyseCoverage.mjs",
41+
"./coverageSupported.mjs": "./coverageSupported.mjs",
42+
"./coverageSupportedMinNodeVersion.mjs": "./coverageSupportedMinNodeVersion.mjs",
43+
"./errorConsole.mjs": "./errorConsole.mjs",
44+
"./package.json": "./package.json",
45+
"./reportCoverage.mjs": "./reportCoverage.mjs",
46+
"./types.mjs": "./types.mjs"
3547
},
3648
"bin": {
37-
"coverage-node": "cli/coverage-node.mjs"
49+
"coverage-node": "coverage-node.mjs"
3850
},
3951
"engines": {
4052
"node": "^12.22.0 || ^14.17.0 || >= 16.0.0"
@@ -62,7 +74,7 @@
6274
"docs-check": "jsdoc-md -c",
6375
"eslint": "eslint .",
6476
"prettier": "prettier -c .",
65-
"tests": "node cli/coverage-node.mjs test/index.mjs",
77+
"tests": "node coverage-node.mjs test.mjs",
6678
"test": "npm run eslint && npm run prettier && npm run docs-check && npm run tests",
6779
"prepublishOnly": "npm test"
6880
}

readme.md

Lines changed: 8 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -103,14 +103,10 @@ Analyzes [Node.js generated V8 JavaScript code coverage data](https://nodejs.org
103103
104104
#### Examples
105105
106-
_Ways to `import`._
106+
_How to import._
107107
108108
> ```js
109-
> import { analyseCoverage } from "coverage-node";
110-
> ```
111-
>
112-
> ```js
113-
> import analyseCoverage from "coverage-node/public/analyseCoverage.mjs";
109+
> import analyseCoverage from "coverage-node/analyseCoverage.mjs";
114110
> ```
115111
116112
---
@@ -125,14 +121,10 @@ Reports a code coverage analysis to the console.
125121
126122
#### Examples
127123
128-
_Ways to `import`._
124+
_How to import._
129125
130126
> ```js
131-
> import { reportCoverage } from "coverage-node";
132-
> ```
133-
>
134-
> ```js
135-
> import reportCoverage from "coverage-node/public/reportCoverage.mjs";
127+
> import reportCoverage from "coverage-node/reportCoverage.mjs";
136128
> ```
137129
138130
---
@@ -145,14 +137,10 @@ Is the process Node.js version greater at least [the minimum required to support
145137
146138
#### Examples
147139
148-
_Ways to `import`._
140+
_How to import._
149141
150142
> ```js
151-
> import { coverageSupported } from "coverage-node";
152-
> ```
153-
>
154-
> ```js
155-
> import coverageSupported from "coverage-node/public/coverageSupported.mjs";
143+
> import coverageSupported from "coverage-node/coverageSupported.mjs";
156144
> ```
157145
158146
---
@@ -165,14 +153,10 @@ Minimum Node.js version supported for code coverage. Although Node.js v10+ suppo
165153
166154
#### Examples
167155
168-
_Ways to `import`._
156+
_How to import._
169157
170158
> ```js
171-
> import { coverageSupportedMinNodeVersion } from "coverage-node";
172-
> ```
173-
>
174-
> ```js
175-
> import coverageSupportedMinNodeVersion from "coverage-node/public/coverageSupportedMinNodeVersion.mjs";
159+
> import coverageSupportedMinNodeVersion from "coverage-node/coverageSupportedMinNodeVersion.mjs";
176160
> ```
177161
178162
---
File renamed without changes.

0 commit comments

Comments
 (0)