edfcore 0.4.175 → 0.4.178
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/dist/cli.js +18 -1
- package/dist/cli.js.map +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +1 -1
- package/docs/CHANGELOG.md +20 -0
- package/package.json +1 -1
- package/src/cli.ts +18 -1
- package/src/constants.ts +1 -1
package/dist/cli.js
CHANGED
|
@@ -41,7 +41,24 @@ proc.stdout.on('error', (error) => {
|
|
|
41
41
|
throw error;
|
|
42
42
|
});
|
|
43
43
|
const io = {
|
|
44
|
-
|
|
44
|
+
/*
|
|
45
|
+
* A directory reaches `fs.readFile` and comes back as a raw `EISDIR: illegal operation on a
|
|
46
|
+
* directory, read` — an errno with no path in it and nothing to do next. `fileSource` was fixed
|
|
47
|
+
* for exactly this in 0.3.98, but the CLI reads the whole file itself rather than going through
|
|
48
|
+
* that adapter, so it never got the fix. `ENOENT` is left alone: Node's own text already names
|
|
49
|
+
* the path and says what is wrong (fixed in 0.4.178).
|
|
50
|
+
*/
|
|
51
|
+
readFile: async (path) => {
|
|
52
|
+
try {
|
|
53
|
+
return await fs.readFile(path);
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
if (error?.code !== 'EISDIR')
|
|
57
|
+
throw error;
|
|
58
|
+
throw new Error(`${JSON.stringify(path)} is a directory, not a file. Next: name the .edf or .bdf ` +
|
|
59
|
+
'file inside it.');
|
|
60
|
+
}
|
|
61
|
+
},
|
|
45
62
|
out: (text) => {
|
|
46
63
|
proc.stdout.write(text);
|
|
47
64
|
},
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;GAYG;AAEH,8FAA8F;AAC9F,2FAA2F;AAC3F,OAAO,KAAK,cAAc,MAAM,kBAAkB,CAAC;AACnD,qDAAqD;AACrD,uFAAuF;AACvF,OAAO,KAAK,WAAW,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAc,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAezC,MAAM,EAAE,GAAW,cAAmC,CAAC;AACvD,MAAM,IAAI,GACP,WAAoD,CAAC,OAAO;IAC5D,WAAsC,CAAC;AAE1C;;;;;;;;;;;;GAYG;AACH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;IAChC,IAAI,KAAK,EAAE,IAAI,KAAK,OAAO;QAAE,MAAM,KAAK,CAAC;AAC3C,CAAC,CAAC,CAAC;AAEH,MAAM,EAAE,GAAU;IAChB,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;GAYG;AAEH,8FAA8F;AAC9F,2FAA2F;AAC3F,OAAO,KAAK,cAAc,MAAM,kBAAkB,CAAC;AACnD,qDAAqD;AACrD,uFAAuF;AACvF,OAAO,KAAK,WAAW,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAc,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAezC,MAAM,EAAE,GAAW,cAAmC,CAAC;AACvD,MAAM,IAAI,GACP,WAAoD,CAAC,OAAO;IAC5D,WAAsC,CAAC;AAE1C;;;;;;;;;;;;GAYG;AACH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;IAChC,IAAI,KAAK,EAAE,IAAI,KAAK,OAAO;QAAE,MAAM,KAAK,CAAC;AAC3C,CAAC,CAAC,CAAC;AAEH,MAAM,EAAE,GAAU;IAChB;;;;;;OAMG;IACH,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACvB,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAK,KAAkC,EAAE,IAAI,KAAK,QAAQ;gBAAE,MAAM,KAAK,CAAC;YACxE,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,2DAA2D;gBAChF,iBAAiB,CACpB,CAAC;QACJ,CAAC;IACH,CAAC;IACD,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE;QACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE;QACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CACF,CAAC;AAEF,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,IAAI,CAAC,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,6FAA6F;QAC7F,4CAA4C;QAC5C,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5F,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,OAAO,IAAI,CAAC,CAAC;QAC3C,4FAA4F;QAC5F,0FAA0F;QAC1F,gBAAgB;QAChB,IAAI,CAAC,QAAQ,GAAG,KAAK,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED,8FAA8F;AAC9F,+FAA+F;AAC/F,6DAA6D;AAC7D,KAAK,IAAI,EAAE,CAAC"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -109,5 +109,5 @@ export declare const SIGNAL_FIELD_BLOCK_OFFSETS: {
|
|
|
109
109
|
readonly reserved: 224;
|
|
110
110
|
};
|
|
111
111
|
/** Published package version. Kept in sync with package.json by a test. */
|
|
112
|
-
export declare const VERSION = "0.4.
|
|
112
|
+
export declare const VERSION = "0.4.178";
|
|
113
113
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.js
CHANGED
package/docs/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,26 @@ alone does not tell you whether you were affected.
|
|
|
6
6
|
edfcore is pre-1.0. Patch releases have carried behaviour changes where the old behaviour was a
|
|
7
7
|
defect; those are called out below.
|
|
8
8
|
|
|
9
|
+
## 0.4.178
|
|
10
|
+
|
|
11
|
+
- **Fixed** `edfcore <command> <directory>` reporting a raw `EISDIR: illegal operation on a
|
|
12
|
+
directory, read` — an errno carrying no path and no next step. `fileSource` was fixed for this in
|
|
13
|
+
0.3.98, but the CLI reads the file itself rather than going through that adapter, so it never got
|
|
14
|
+
the fix. `ENOENT` is left as Node writes it, since that text already names the path.
|
|
15
|
+
|
|
16
|
+
## 0.4.177
|
|
17
|
+
|
|
18
|
+
- **Added** a test that runs the CLI as a process with its output piped into `head`. Every other
|
|
19
|
+
CLI test drives `runCli` through an injected `CliIo`, which is why they need no build - and why
|
|
20
|
+
nothing covered `cli.ts`, where the EPIPE crash 0.4.175 fixed actually lived. It skips when
|
|
21
|
+
`dist/cli.js` is absent rather than passing on a binary it never ran.
|
|
22
|
+
|
|
23
|
+
## 0.4.176
|
|
24
|
+
|
|
25
|
+
Never released. `npm run check` failed on formatting in the new test file, and the release run had
|
|
26
|
+
already bumped the version by the time it stopped, which consumed the number before a tag was cut.
|
|
27
|
+
The pipe test that carried this heading shipped in `0.4.177`.
|
|
28
|
+
|
|
9
29
|
## 0.4.175
|
|
10
30
|
|
|
11
31
|
- **Fixed** the CLI crashing when its output is piped into something that stops reading.
|
package/package.json
CHANGED
package/src/cli.ts
CHANGED
|
@@ -58,7 +58,24 @@ proc.stdout.on('error', (error) => {
|
|
|
58
58
|
});
|
|
59
59
|
|
|
60
60
|
const io: CliIo = {
|
|
61
|
-
|
|
61
|
+
/*
|
|
62
|
+
* A directory reaches `fs.readFile` and comes back as a raw `EISDIR: illegal operation on a
|
|
63
|
+
* directory, read` — an errno with no path in it and nothing to do next. `fileSource` was fixed
|
|
64
|
+
* for exactly this in 0.3.98, but the CLI reads the whole file itself rather than going through
|
|
65
|
+
* that adapter, so it never got the fix. `ENOENT` is left alone: Node's own text already names
|
|
66
|
+
* the path and says what is wrong (fixed in 0.4.178).
|
|
67
|
+
*/
|
|
68
|
+
readFile: async (path) => {
|
|
69
|
+
try {
|
|
70
|
+
return await fs.readFile(path);
|
|
71
|
+
} catch (error) {
|
|
72
|
+
if ((error as { code?: string } | null)?.code !== 'EISDIR') throw error;
|
|
73
|
+
throw new Error(
|
|
74
|
+
`${JSON.stringify(path)} is a directory, not a file. Next: name the .edf or .bdf ` +
|
|
75
|
+
'file inside it.',
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
},
|
|
62
79
|
out: (text) => {
|
|
63
80
|
proc.stdout.write(text);
|
|
64
81
|
},
|
package/src/constants.ts
CHANGED