@systemfsoftware/arethetypeswrong-core 2.0.0 → 3.0.0
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 +58 -0
- package/package.json +8 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,63 @@
|
|
|
1
1
|
# @systemfsoftware/arethetypeswrong-core
|
|
2
2
|
|
|
3
|
+
## 3.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- Collapse projection tags into the ports they projected
|
|
8
|
+
|
|
9
|
+
A `*ExecutorDeps` tag whose service type was indexed off other ports recorded which members
|
|
10
|
+
one operation happened to reach for. Exporting it turned internal composition into a surface
|
|
11
|
+
commitment: a consumer had to discover and provide an aggregator for each operation, where the
|
|
12
|
+
port it came from already served. The tags rode the `R` channel of exported signatures, so a
|
|
13
|
+
consumer met them only at their own call site.
|
|
14
|
+
|
|
15
|
+
Each was removed the way its evidence directed — no tag was renamed, and none was replaced:
|
|
16
|
+
|
|
17
|
+
- `AttwCliExecutorDeps`, `CheckPackageExecutorDeps` — deleted. Zero consumers, no Live layer;
|
|
18
|
+
callers already required the real capabilities directly.
|
|
19
|
+
- `HookDispatcherExecutorDeps` — was a 1:1 alias of `Scope.Scope`. Requiring `Scope` names the
|
|
20
|
+
same service.
|
|
21
|
+
- `InjectInstructionsExecutorDeps` — packed `FileSystem`, `Path` and `TomlLoader` with no logic.
|
|
22
|
+
Consumers require the three ports.
|
|
23
|
+
- `EffectVitestDeps` → `EffectVitestBindings`. Never a `Context.Tag`: a plain type alias already
|
|
24
|
+
passed as an ordinary parameter, so only the name misdescribed it. A stale api report that no
|
|
25
|
+
`api-extractor` regenerates was deleted with it.
|
|
26
|
+
|
|
27
|
+
A consumer providing a port instead of an aggregator provides no more than before, since a
|
|
28
|
+
service `{ a, b }` is assignable to a requirement `{ a }`.
|
|
29
|
+
|
|
30
|
+
### Minor Changes
|
|
31
|
+
|
|
32
|
+
- cut over to effect v4 (4.0.0-rc.108): public surface derives from effect types; peers flip effect ^3→^4
|
|
33
|
+
|
|
34
|
+
### Patch Changes
|
|
35
|
+
|
|
36
|
+
- Array types are spelled one way. `Array<T>` and `ReadonlyArray<T>` in emitted
|
|
37
|
+
declarations become `T[]` and `readonly T[]`, which the type checker cannot tell
|
|
38
|
+
apart: no exported type changes, only how it is written.
|
|
39
|
+
|
|
40
|
+
- Rename five mislabelled `*.workflow.ts` files to `*.kernel.ts`.
|
|
41
|
+
|
|
42
|
+
`computeExitCode`, `applyProfile`, `renderAnalysis`, `detectEntrypointResolutions`, and
|
|
43
|
+
`detectModuleKindDisagreement` each return a bare value — a decision instance, a string, an array, or
|
|
44
|
+
`undefined` — never an `Either`. None has a failure mode, so none is a workflow, and the suffix was
|
|
45
|
+
claiming a contract the files never held. The `UninhabitedError` marker in
|
|
46
|
+
`@systemfsoftware/effect-cell-types` prescribes exactly this repair: "this workflow cannot fail, so it
|
|
47
|
+
decides nothing; give it an error variant or move it to a `*.kernel.ts`". Wrapping their results in
|
|
48
|
+
`Either.right` to satisfy the constructor was rejected — that manufactures a success-only decision.
|
|
49
|
+
|
|
50
|
+
Neither package takes a dependency on the constructor. Both are listed as `TOOLING` in
|
|
51
|
+
`scripts/guards/check-lint-coverage.mjs` ("port of arethetypeswrong, tooling"), carry no
|
|
52
|
+
`oxlint.config.ts`, and the cell rules deliberately do not reach them.
|
|
53
|
+
|
|
54
|
+
The public symbols and the `export *` surface of `core/src/index.ts` are unchanged, so no consumer
|
|
55
|
+
import breaks. The bump is real rather than empty because both packages ship `dist/` built from these
|
|
56
|
+
sources: the emitted chunk filenames change, and `arethetypeswrong-cli` rebuilds its `bin` target at
|
|
57
|
+
pack time via `prepack`. Test files and one non-UTF-8 property test were repointed alongside.
|
|
58
|
+
|
|
59
|
+
- New version is published through npm trusted publishing, so it carries a provenance attestation you can verify.
|
|
60
|
+
|
|
3
61
|
## 2.0.0
|
|
4
62
|
|
|
5
63
|
### Major Changes
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@systemfsoftware/arethetypeswrong-core",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "The API behind arethetypeswrong.github.io — owned and maintained by systemfsoftware",
|
|
5
5
|
"author": "Ryan Lee <drdgvhbh@gmail.com>",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
9
9
|
"url": "https://github.com/systemfsoftware/systemfsoftware.git",
|
|
10
|
-
"directory": "packages/arethetypeswrong/core"
|
|
10
|
+
"directory": "packages/testing/type-testing/arethetypeswrong/core"
|
|
11
11
|
},
|
|
12
12
|
"files": [
|
|
13
13
|
"dist",
|
|
@@ -49,12 +49,12 @@
|
|
|
49
49
|
"ts-expose-internals": "^5.6.0",
|
|
50
50
|
"tsdown": "^0.22.14",
|
|
51
51
|
"vitest": "^4.1.10",
|
|
52
|
-
"@systemfsoftware/effect-gherkin-spec": "^
|
|
53
|
-
"@systemfsoftware/effect-schema-vite": "^1.5.
|
|
54
|
-
"@systemfsoftware/vitest-config": "^0.1.0",
|
|
52
|
+
"@systemfsoftware/effect-gherkin-spec": "^2.0.0",
|
|
53
|
+
"@systemfsoftware/effect-schema-vite": "^1.5.3",
|
|
55
54
|
"@systemfsoftware/oxlint-config": "^0.1.0",
|
|
56
|
-
"@systemfsoftware/
|
|
57
|
-
"@systemfsoftware/
|
|
55
|
+
"@systemfsoftware/effect-schema-law": "^0.8.0",
|
|
56
|
+
"@systemfsoftware/tsconfig": "^1.3.3",
|
|
57
|
+
"@systemfsoftware/vitest-config": "^0.1.0"
|
|
58
58
|
},
|
|
59
59
|
"engines": {
|
|
60
60
|
"node": ">=24"
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"build": "tsdown",
|
|
64
64
|
"clean": "rimraf dist",
|
|
65
65
|
"typecheck": "tsc --noEmit --incremental",
|
|
66
|
-
"attw": "attw --pack .",
|
|
66
|
+
"attw": "npm_config_ignore_scripts=true attw --pack .",
|
|
67
67
|
"lint": "f=${OXLINT_FORMAT:-${AGENT:+agent}}; oxlint . --format=${f:-default}",
|
|
68
68
|
"test": "vitest run",
|
|
69
69
|
"test:run": "vitest run --coverage"
|