edfcore 0.3.101 → 0.3.103
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.md +35 -0
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +1 -1
- package/dist/node.d.ts +11 -9
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +11 -9
- package/dist/node.js.map +1 -1
- package/package.json +1 -1
- package/src/constants.ts +1 -1
- package/src/node.ts +11 -9
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,41 @@ 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.3.103
|
|
10
|
+
|
|
11
|
+
- **Fixed** a regression 0.3.84 introduced in the `edfcore/node` docblock, which ships in
|
|
12
|
+
`dist/node.d.ts` as the subpath's hover text.
|
|
13
|
+
- 0.3.84 correctly removed "the ONLY module in edfcore that imports anything from `node:`" —
|
|
14
|
+
`src/cli.ts` imports two and ships as `bin` — and replaced it with "the only module **reachable
|
|
15
|
+
from the universal entry** that imports anything from `node:`". That asserts the opposite of the
|
|
16
|
+
invariant: the point of this module is that `edfcore` **cannot** reach it, which is what lets
|
|
17
|
+
the universal entry bundle for a browser. The paragraph four lines below said so, so the
|
|
18
|
+
docblock contradicted itself.
|
|
19
|
+
- It now leads with the invariant, and the history note keeps both retired sentences so the
|
|
20
|
+
mistake is not made a third time.
|
|
21
|
+
- The guard checks the HEADLINE only. The history note quotes both retired sentences deliberately,
|
|
22
|
+
so a whole-file match finds the quotation rather than the claim — which is exactly what the first
|
|
23
|
+
draft of this guard did, the same trap as 0.3.78. It also asserts the invariant itself: no module
|
|
24
|
+
in `src/` other than the `bin` entry imports `./node.js`.
|
|
25
|
+
|
|
26
|
+
## 0.3.102
|
|
27
|
+
|
|
28
|
+
- **Fixed** `tests/corpus/coverage.test.ts` asserting nothing on the run it exists to protect.
|
|
29
|
+
- The file's docblock says it "checks the parts that need no corpus at all — that the manifest and
|
|
30
|
+
the goldens agree. A golden for a file the manifest no longer lists ... is a real drift that no
|
|
31
|
+
amount of skipping should hide." Its one test early-returned when the corpus was absent, with
|
|
32
|
+
`expect(corpusGoldens().length).toBeGreaterThanOrEqual(0)`. A length is never negative, so on
|
|
33
|
+
`git clone && npm test` — no corpus, which is the case the whole file is about — it checked
|
|
34
|
+
nothing.
|
|
35
|
+
- The manifest-versus-goldens half is now its own test and always runs: both sides are committed,
|
|
36
|
+
so it needs no corpus. The half that genuinely needs the files still skips without them, and
|
|
37
|
+
says so.
|
|
38
|
+
- Canaried in the state that matters: with `tests/corpus/files/` moved away and a manifest entry
|
|
39
|
+
removed, the new test fails and names the orphaned golden. Before this it passed.
|
|
40
|
+
- Fifth release in this batch about defect shape (e) — a guard that would still pass if what it
|
|
41
|
+
names regressed. Found by sweeping the whole suite for self-comparisons and structurally weak
|
|
42
|
+
assertions after 0.3.101, rather than one at a time.
|
|
43
|
+
|
|
9
44
|
## 0.3.101
|
|
10
45
|
|
|
11
46
|
- **Fixed** an assertion in `tests/corpus/whole-api.test.ts` that compared a value with itself:
|
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.3.
|
|
112
|
+
export declare const VERSION = "0.3.103";
|
|
113
113
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.js
CHANGED
package/dist/node.d.ts
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The Node adapters —
|
|
3
|
-
*
|
|
2
|
+
* The Node adapters — importable only as `edfcore/node`, and NOT reachable from the universal
|
|
3
|
+
* entry, which is the point.
|
|
4
4
|
*
|
|
5
|
-
* Layer 7
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* Layer 7. Keeping this module out of everything `edfcore` can reach is what lets the universal
|
|
6
|
+
* entry be bundled for a browser without a polyfill and without a resolution alias, and a
|
|
7
|
+
* packaging test greps the built universal bundle for `node:` to prove exactly that.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
9
|
+
* Two wordings have been wrong here. It said "the ONLY module in edfcore that imports anything
|
|
10
|
+
* from `node:`" until 0.3.84 — `src/cli.ts` imports `node:fs/promises` and `node:process` and
|
|
11
|
+
* ships as the `bin` entry, a Node program by definition that no import path reaches. The fix then
|
|
12
|
+
* said "the only module REACHABLE FROM THE UNIVERSAL ENTRY that imports anything from `node:`",
|
|
13
|
+
* which asserts the opposite of the invariant and contradicts the paragraph directly below it
|
|
14
|
+
* (fixed in 0.3.103). Both shipped in `dist/node.d.ts` as this subpath's hover text.
|
|
13
15
|
*
|
|
14
16
|
* Two decisions are load-bearing.
|
|
15
17
|
*
|
package/dist/node.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAOH,OAAO,KAAK,EAAE,UAAU,EAAe,MAAM,YAAY,CAAC;AAE1D;;;;;;GAMG;AACH,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,CACF,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAYD;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,UAAU,CAqDvF;AAED;;;;;;;;;GASG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAuClE"}
|
package/dist/node.js
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The Node adapters —
|
|
3
|
-
*
|
|
2
|
+
* The Node adapters — importable only as `edfcore/node`, and NOT reachable from the universal
|
|
3
|
+
* entry, which is the point.
|
|
4
4
|
*
|
|
5
|
-
* Layer 7
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* Layer 7. Keeping this module out of everything `edfcore` can reach is what lets the universal
|
|
6
|
+
* entry be bundled for a browser without a polyfill and without a resolution alias, and a
|
|
7
|
+
* packaging test greps the built universal bundle for `node:` to prove exactly that.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
9
|
+
* Two wordings have been wrong here. It said "the ONLY module in edfcore that imports anything
|
|
10
|
+
* from `node:`" until 0.3.84 — `src/cli.ts` imports `node:fs/promises` and `node:process` and
|
|
11
|
+
* ships as the `bin` entry, a Node program by definition that no import path reaches. The fix then
|
|
12
|
+
* said "the only module REACHABLE FROM THE UNIVERSAL ENTRY that imports anything from `node:`",
|
|
13
|
+
* which asserts the opposite of the invariant and contradicts the paragraph directly below it
|
|
14
|
+
* (fixed in 0.3.103). Both shipped in `dist/node.d.ts` as this subpath's hover text.
|
|
13
15
|
*
|
|
14
16
|
* Two decisions are load-bearing.
|
|
15
17
|
*
|
package/dist/node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/constants.ts
CHANGED
package/src/node.ts
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The Node adapters —
|
|
3
|
-
*
|
|
2
|
+
* The Node adapters — importable only as `edfcore/node`, and NOT reachable from the universal
|
|
3
|
+
* entry, which is the point.
|
|
4
4
|
*
|
|
5
|
-
* Layer 7
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* Layer 7. Keeping this module out of everything `edfcore` can reach is what lets the universal
|
|
6
|
+
* entry be bundled for a browser without a polyfill and without a resolution alias, and a
|
|
7
|
+
* packaging test greps the built universal bundle for `node:` to prove exactly that.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
9
|
+
* Two wordings have been wrong here. It said "the ONLY module in edfcore that imports anything
|
|
10
|
+
* from `node:`" until 0.3.84 — `src/cli.ts` imports `node:fs/promises` and `node:process` and
|
|
11
|
+
* ships as the `bin` entry, a Node program by definition that no import path reaches. The fix then
|
|
12
|
+
* said "the only module REACHABLE FROM THE UNIVERSAL ENTRY that imports anything from `node:`",
|
|
13
|
+
* which asserts the opposite of the invariant and contradicts the paragraph directly below it
|
|
14
|
+
* (fixed in 0.3.103). Both shipped in `dist/node.d.ts` as this subpath's hover text.
|
|
13
15
|
*
|
|
14
16
|
* Two decisions are load-bearing.
|
|
15
17
|
*
|