edfcore 0.4.275 → 0.4.277
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/constants.d.ts +1 -1
- package/dist/constants.js +1 -1
- package/docs/CHANGELOG.md +34 -0
- package/package.json +1 -1
- package/src/constants.ts +1 -1
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.277";
|
|
113
113
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.js
CHANGED
package/docs/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,40 @@ 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.277
|
|
10
|
+
|
|
11
|
+
- **Fixed** a test budget that has now been wrong twice, by making it a different kind of number.
|
|
12
|
+
`extreme-geometry.test.ts` asserts that a diagnostic per record does not blow the call stack —
|
|
13
|
+
`TIMEKEEPING_TAL_MISSING` is per record, and `push(...array)` gives up around 125,000 arguments
|
|
14
|
+
— and it carried a 30 second timeout. How long the sweep takes is not the property. A timeout
|
|
15
|
+
set just above the observed duration measures the machine instead of the code, and reports a red
|
|
16
|
+
build in something the test does not touch.
|
|
17
|
+
- It started at vitest's 5 second default, which the 200,000-record sweep landed a few hundred
|
|
18
|
+
milliseconds under on its own, so it tipped over whenever the rest of the suite ran beside it.
|
|
19
|
+
Thirty seconds fixed that and repeated the mistake one size up: the suite kept growing — 2,074
|
|
20
|
+
tests now, one of which spawns a TypeScript compiler over 102 files — and on a machine already
|
|
21
|
+
busy with unrelated work the sweep took 72 seconds and failed again. It is five minutes now, and
|
|
22
|
+
named for what it is: an infinite loop still fails, a loaded laptop does not.
|
|
23
|
+
|
|
24
|
+
## 0.4.276
|
|
25
|
+
|
|
26
|
+
- **Added** the check for the other ban `AGENTS.md` lists: "No `Date` anywhere. EDF stores local
|
|
27
|
+
time with no zone." An EDF header gives a wall-clock date and time and names no zone, because
|
|
28
|
+
the machine that wrote it was in a sleep lab and the field is whatever the clock on the wall
|
|
29
|
+
said. A `Date` cannot hold that — constructing one applies the running machine's zone, so a
|
|
30
|
+
recording started at 23:14 in Leiden becomes a different instant on a laptop in California and
|
|
31
|
+
every derived time moves with it. `EdfCalendarDate` is three numbers precisely so there is
|
|
32
|
+
nothing to interpret.
|
|
33
|
+
- Two halves, and only one existed. `dates.test.ts` asserted a parsed HEADER holds no `Date`;
|
|
34
|
+
this adds the source, where `Date.now()` would also make output non-deterministic, and a deep
|
|
35
|
+
sweep of a whole read — recording, timeline, index, annotations, validation report — for any
|
|
36
|
+
`Date` instance at all.
|
|
37
|
+
- **Extracted** the comment-and-string stripper both bans need into
|
|
38
|
+
`tests/support/code-only.ts`. It was written for 0.4.275 a release ago, and a second copy is how
|
|
39
|
+
the barrel type parser ended up with two that disagreed (0.4.224). Stripping strings is the part
|
|
40
|
+
that matters: this codebase discusses dates constantly, and a file explaining why it avoids
|
|
41
|
+
`Date` must not read as a file that uses one.
|
|
42
|
+
|
|
9
43
|
## 0.4.275
|
|
10
44
|
|
|
11
45
|
- **Added** the check for a ban `AGENTS.md` lists under things that look like bugs and are not:
|
package/package.json
CHANGED
package/src/constants.ts
CHANGED