@ucm-kit/adapter-typescript 0.1.13 → 0.1.15
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/README.md +16 -17
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# @ucm-kit/adapter-typescript
|
|
2
2
|
|
|
3
3
|
Optional adapter for TypeScript repositories that consume UCM contracts. It adds
|
|
4
|
-
two capabilities without making
|
|
5
|
-
depend on the
|
|
6
|
-
pay for.
|
|
4
|
+
two capabilities without making
|
|
5
|
+
[`@ucm-kit/core`](https://www.npmjs.com/package/@ucm-kit/core) depend on the
|
|
6
|
+
TypeScript compiler, a 23 MB dependency no other consumer should pay for.
|
|
7
7
|
|
|
8
8
|
```sh
|
|
9
|
-
npm install --save-dev @ucm-kit/adapter-typescript@0.1.
|
|
9
|
+
npm install --save-dev @ucm-kit/adapter-typescript@0.1.15 @ucm-kit/cli@0.1.22
|
|
10
10
|
npx ucm-typescript
|
|
11
11
|
npx --no-install ucm check
|
|
12
12
|
```
|
|
@@ -29,19 +29,18 @@ reported:
|
|
|
29
29
|
Parity requires a `tsconfig.json` at the root. Props are read with the
|
|
30
30
|
TypeScript type checker; compositions are counted by their occurrences in JSX.
|
|
31
31
|
|
|
32
|
-
Every one of these **warns without blocking**. The gap is in the code,
|
|
33
|
-
developer closes it
|
|
32
|
+
Every one of these **warns without blocking**. The gap is in the code, so a
|
|
33
|
+
developer closes it. No re-export helps.
|
|
34
34
|
|
|
35
35
|
## The convention composition counting assumes
|
|
36
36
|
|
|
37
37
|
**Counting is static: a dependency rendered by a loop is not counted.** Keep
|
|
38
|
-
every occurrence explicit in the source, and neutralise in place the one a
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
every occurrence explicit in the source, and neutralise in place the one a given
|
|
39
|
+
view does not show, rather than removing it. Without that, a list built with
|
|
40
|
+
`.map()` reports a cardinality gap the contract did not intend.
|
|
41
41
|
|
|
42
|
-
Nothing enforces
|
|
43
|
-
|
|
44
|
-
blocks nothing.
|
|
42
|
+
Nothing enforces the convention. No opt-out exists for a single component. A
|
|
43
|
+
warning names what the count did not see, without blocking anything.
|
|
45
44
|
|
|
46
45
|
## What it does not measure
|
|
47
46
|
|
|
@@ -57,9 +56,9 @@ resolved and nothing is reported.
|
|
|
57
56
|
What the component does with a value stays outside the static guarantee. A
|
|
58
57
|
`switch` with a `default`, a partial mapping table, a value forwarded to a
|
|
59
58
|
child, a table held in another file and a business rule that substitutes one
|
|
60
|
-
value for another are all legitimate; telling them apart from an oversight
|
|
61
|
-
|
|
62
|
-
|
|
59
|
+
value for another are all legitimate; telling them apart from an oversight would
|
|
60
|
+
require the contract to describe behaviour. A contract describes the views that
|
|
61
|
+
exist. The logic that picks one stays outside it.
|
|
63
62
|
|
|
64
63
|
A prop relayed through `{...rest}` without being read is reported as unused.
|
|
65
64
|
Following a spread would mean knowing the child's contract, and the warning
|
|
@@ -68,8 +67,8 @@ blocks nothing.
|
|
|
68
67
|
Nothing here executes a render.
|
|
69
68
|
|
|
70
69
|
None of this exists for a repository without this adapter, so the **absence of
|
|
71
|
-
these messages means nothing
|
|
72
|
-
|
|
70
|
+
these messages means nothing**. It is a capability of one adapter. The format
|
|
71
|
+
guarantees none of it.
|
|
73
72
|
|
|
74
73
|
## Generated types
|
|
75
74
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ucm-kit/adapter-typescript",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.15",
|
|
4
4
|
"description": "Adaptateur TypeScript UCM : parité statique des composants et génération des types dérivés des contrats.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"test": "node scripts/run-tests.cjs"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@ucm-kit/core": "0.1.
|
|
38
|
+
"@ucm-kit/core": "0.1.23",
|
|
39
39
|
"typescript": ">=5.5.0 <6"
|
|
40
40
|
}
|
|
41
41
|
}
|