@sdboyer/thema-ui 0.0.0-bootstrap.0 → 0.1.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.
Files changed (225) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +24 -1
  3. package/dist/Diagnostics.d.ts +8 -0
  4. package/dist/Diagnostics.js +14 -0
  5. package/dist/Editor.d.ts +12 -0
  6. package/dist/Editor.js +95 -0
  7. package/dist/OpBar.d.ts +14 -0
  8. package/dist/OpBar.js +15 -0
  9. package/dist/Output.d.ts +20 -0
  10. package/dist/Output.js +56 -0
  11. package/dist/Tabs.d.ts +15 -0
  12. package/dist/Tabs.js +23 -0
  13. package/dist/cue-lang.d.ts +8 -0
  14. package/dist/cue-lang.js +82 -0
  15. package/dist/docs.d.ts +64 -0
  16. package/dist/docs.js +42 -0
  17. package/dist/index.d.ts +12 -0
  18. package/dist/index.js +18 -0
  19. package/dist/markers.d.ts +11 -0
  20. package/dist/markers.js +45 -0
  21. package/dist/ops.d.ts +13 -0
  22. package/dist/ops.js +22 -0
  23. package/dist/positions.d.ts +7 -0
  24. package/dist/positions.js +40 -0
  25. package/dist/theme.d.ts +16 -0
  26. package/dist/theme.js +55 -0
  27. package/dist/types.d.ts +580 -0
  28. package/dist/types.js +85 -0
  29. package/errors/E0101.md +43 -0
  30. package/errors/E0102.md +34 -0
  31. package/errors/E0103.md +41 -0
  32. package/errors/E0104.md +5 -0
  33. package/errors/E0105.md +62 -0
  34. package/errors/E0106.md +46 -0
  35. package/errors/E0107.md +48 -0
  36. package/errors/E0108.md +45 -0
  37. package/errors/E0109.md +37 -0
  38. package/errors/E0110.md +17 -0
  39. package/errors/E0111.md +55 -0
  40. package/errors/E0112.md +40 -0
  41. package/errors/E0120.md +34 -0
  42. package/errors/E0121.md +34 -0
  43. package/errors/E0122.md +26 -0
  44. package/errors/E0123.md +37 -0
  45. package/errors/E0124.md +36 -0
  46. package/errors/E0125.md +43 -0
  47. package/errors/E0126.md +38 -0
  48. package/errors/E0128.md +34 -0
  49. package/errors/E0129.md +42 -0
  50. package/errors/E0130.md +43 -0
  51. package/errors/E0131.md +42 -0
  52. package/errors/E0132.md +40 -0
  53. package/errors/E0133.md +46 -0
  54. package/errors/E0134.md +36 -0
  55. package/errors/E0135.md +109 -0
  56. package/errors/E0137.md +37 -0
  57. package/errors/E0140.md +46 -0
  58. package/errors/E0141.md +35 -0
  59. package/errors/E0142.md +38 -0
  60. package/errors/E0143.md +62 -0
  61. package/errors/E0144.md +49 -0
  62. package/errors/E0145.md +48 -0
  63. package/errors/E0146.md +38 -0
  64. package/errors/E0147.md +57 -0
  65. package/errors/E0148.md +42 -0
  66. package/errors/E0149.md +27 -0
  67. package/errors/E0150.md +77 -0
  68. package/errors/E0151.md +47 -0
  69. package/errors/E0152.md +35 -0
  70. package/errors/E0201.md +35 -0
  71. package/errors/E0202.md +42 -0
  72. package/errors/E0203.md +37 -0
  73. package/errors/E0204.md +46 -0
  74. package/errors/E0205.md +47 -0
  75. package/errors/E0206.md +47 -0
  76. package/errors/E0208.md +59 -0
  77. package/errors/E0210.md +44 -0
  78. package/errors/E0211.md +43 -0
  79. package/errors/E0212.md +41 -0
  80. package/errors/E0213.md +42 -0
  81. package/errors/E0214.md +42 -0
  82. package/errors/E0215.md +44 -0
  83. package/errors/E0216.md +41 -0
  84. package/errors/E0217.md +43 -0
  85. package/errors/E0218.md +44 -0
  86. package/errors/E0230.md +46 -0
  87. package/errors/E0232.md +42 -0
  88. package/errors/E0233.md +42 -0
  89. package/errors/E0234.md +43 -0
  90. package/errors/E0240.md +31 -0
  91. package/errors/E0242.md +5 -0
  92. package/errors/E0243.md +5 -0
  93. package/errors/E0250.md +39 -0
  94. package/errors/E0251.md +83 -0
  95. package/errors/E0252.md +42 -0
  96. package/errors/E0253.md +142 -0
  97. package/errors/E0254.md +38 -0
  98. package/errors/E0301.md +43 -0
  99. package/errors/E0302.md +58 -0
  100. package/errors/E0303.md +57 -0
  101. package/errors/E0304.md +9 -0
  102. package/errors/E0305.md +55 -0
  103. package/errors/E0307.md +9 -0
  104. package/errors/E0308.md +9 -0
  105. package/errors/E0310.md +46 -0
  106. package/errors/E0311.md +46 -0
  107. package/errors/E0330.md +67 -0
  108. package/errors/E0331.md +64 -0
  109. package/errors/E0332.md +52 -0
  110. package/errors/E0333.md +61 -0
  111. package/errors/E0334.md +61 -0
  112. package/errors/E0335.md +57 -0
  113. package/errors/E0336.md +50 -0
  114. package/errors/E0337.md +54 -0
  115. package/errors/E0338.md +62 -0
  116. package/errors/E0340.md +57 -0
  117. package/errors/E0341.md +51 -0
  118. package/errors/E0342.md +53 -0
  119. package/errors/E0343.md +56 -0
  120. package/errors/E0344.md +58 -0
  121. package/errors/E0345.md +51 -0
  122. package/errors/E0346.md +45 -0
  123. package/errors/E0347.md +53 -0
  124. package/errors/E0348.md +50 -0
  125. package/errors/E0349.md +52 -0
  126. package/errors/E0350.md +54 -0
  127. package/errors/E0351.md +54 -0
  128. package/errors/E0352.md +60 -0
  129. package/errors/E0353.md +53 -0
  130. package/errors/E0354.md +43 -0
  131. package/errors/E0355.md +55 -0
  132. package/errors/E0356.md +65 -0
  133. package/errors/E0357.md +68 -0
  134. package/errors/E0358.md +50 -0
  135. package/errors/E0359.md +53 -0
  136. package/errors/E0360.md +59 -0
  137. package/errors/E0361.md +59 -0
  138. package/errors/E0362.md +56 -0
  139. package/errors/E0364.md +58 -0
  140. package/errors/E0365.md +58 -0
  141. package/errors/E0366.md +56 -0
  142. package/errors/E0367.md +57 -0
  143. package/errors/E0368.md +58 -0
  144. package/errors/E0369.md +60 -0
  145. package/errors/E0370.md +59 -0
  146. package/errors/E0371.md +59 -0
  147. package/errors/E0372.md +57 -0
  148. package/errors/E0380.md +71 -0
  149. package/errors/E0381.md +61 -0
  150. package/errors/E0382.md +64 -0
  151. package/errors/E0383.md +61 -0
  152. package/errors/E0384.md +63 -0
  153. package/errors/E0385.md +61 -0
  154. package/errors/E0386.md +59 -0
  155. package/errors/E0387.md +59 -0
  156. package/errors/E0388.md +60 -0
  157. package/errors/E0389.md +59 -0
  158. package/errors/E0390.md +59 -0
  159. package/errors/E0401.md +56 -0
  160. package/errors/E0402.md +51 -0
  161. package/errors/E0403.md +51 -0
  162. package/errors/E0404.md +57 -0
  163. package/errors/E0405.md +56 -0
  164. package/errors/E0406.md +53 -0
  165. package/errors/E0407.md +54 -0
  166. package/errors/E0410.md +56 -0
  167. package/errors/E0411.md +59 -0
  168. package/errors/E0412.md +59 -0
  169. package/errors/E0413.md +74 -0
  170. package/errors/E0414.md +53 -0
  171. package/errors/E0415.md +72 -0
  172. package/errors/E0416.md +67 -0
  173. package/errors/E0418.md +59 -0
  174. package/errors/E0420.md +71 -0
  175. package/errors/E0421.md +82 -0
  176. package/errors/E0422.md +82 -0
  177. package/errors/E0423.md +83 -0
  178. package/errors/E0501.md +51 -0
  179. package/errors/E0502.md +50 -0
  180. package/errors/E0503.md +52 -0
  181. package/errors/E0504.md +64 -0
  182. package/errors/E0505.md +51 -0
  183. package/errors/E0506.md +48 -0
  184. package/errors/E0507.md +41 -0
  185. package/errors/E0508.md +39 -0
  186. package/errors/E0601.md +22 -0
  187. package/errors/E0602.md +28 -0
  188. package/errors/E0603.md +65 -0
  189. package/errors/E0604.md +37 -0
  190. package/errors/E0605.md +36 -0
  191. package/errors/E0606.md +44 -0
  192. package/errors/E0607.md +57 -0
  193. package/errors/E0608.md +37 -0
  194. package/errors/E0609.md +33 -0
  195. package/errors/E0611.md +37 -0
  196. package/errors/E0612.md +34 -0
  197. package/errors/E0613.md +30 -0
  198. package/errors/E0614.md +36 -0
  199. package/errors/E0616.md +33 -0
  200. package/errors/E0617.md +15 -0
  201. package/errors/E0618.md +16 -0
  202. package/errors/E0620.md +37 -0
  203. package/errors/E0621.md +45 -0
  204. package/errors/E0622.md +34 -0
  205. package/errors/E0623.md +33 -0
  206. package/errors/E0624.md +34 -0
  207. package/errors/E0625.md +28 -0
  208. package/errors/E0626.md +54 -0
  209. package/errors/E0627.md +27 -0
  210. package/errors/E0628.md +63 -0
  211. package/errors/E0701.md +25 -0
  212. package/errors/E0801.md +23 -0
  213. package/errors/E0802.md +22 -0
  214. package/errors/E0803.md +22 -0
  215. package/errors/E0804.md +25 -0
  216. package/errors/E0805.md +26 -0
  217. package/errors/E0901.md +27 -0
  218. package/errors/E0902.md +40 -0
  219. package/errors/E0903.md +23 -0
  220. package/errors/E1001.md +53 -0
  221. package/errors/E1002.md +43 -0
  222. package/errors/E1003.md +40 -0
  223. package/errors/E1004.md +44 -0
  224. package/errors/README.md +215 -0
  225. package/package.json +29 -3
@@ -0,0 +1,51 @@
1
+ <!-- Generated by go test ./diag; do not edit. -->
2
+
3
+ # E0501: the data lacks a field the schema requires
4
+
5
+ The data has no value for a field the schema requires. A schema field with no
6
+ default is required: `count: int` must be present in every instance. The
7
+ primary position is the data document; the note points at the schema's
8
+ declaration.
9
+
10
+ ## Example
11
+
12
+ `lineage.cue`:
13
+
14
+ ```cue
15
+ name: "ship"
16
+ schemas: {
17
+ "0": {
18
+ "0": {
19
+ schema: {
20
+ name: string
21
+ count: int
22
+ }
23
+ }
24
+ }
25
+ }
26
+ ```
27
+
28
+ `data.json`:
29
+
30
+ ```json
31
+ {
32
+ "name": "Argo"
33
+ }
34
+ ```
35
+
36
+ thema reports:
37
+
38
+ ```
39
+ error[E0501]: the data lacks count, which schema 0.0 declares as int
40
+ --> data.json:1:1
41
+ |
42
+ 1 | {
43
+ | ^
44
+ |
45
+ ::: lineage.cue:7:5
46
+ |
47
+ 7 | count: int
48
+ | ----- declared here
49
+ |
50
+ = detail: count: incomplete value int
51
+ ```
@@ -0,0 +1,50 @@
1
+ <!-- Generated by go test ./diag; do not edit. -->
2
+
3
+ # E0502: the data has a field the schema does not declare
4
+
5
+ The data has a field the schema does not declare. Schemas are closed when
6
+ validating, keeping the author's `...`: an instance may hold only the fields
7
+ its schema declares, except where the author wrote `...` or a pattern
8
+ constraint admits the field. When the unknown field's name is close to a
9
+ declared one, the help names it.
10
+
11
+ ## Example
12
+
13
+ `lineage.cue`:
14
+
15
+ ```cue
16
+ name: "ship"
17
+ schemas: {
18
+ "0": {
19
+ "0": {
20
+ schema: {
21
+ name: string
22
+ count: int
23
+ }
24
+ }
25
+ }
26
+ }
27
+ ```
28
+
29
+ `data.json`:
30
+
31
+ ```json
32
+ {
33
+ "name": "Argo",
34
+ "count": 3,
35
+ "cuont": 4
36
+ }
37
+ ```
38
+
39
+ thema reports:
40
+
41
+ ```
42
+ error[E0502]: the data has cuont, which schema 0.0 does not declare
43
+ --> data.json:4:3
44
+ |
45
+ 4 | "cuont": 4
46
+ | ^^^^^
47
+ |
48
+ = detail: cuont: field not allowed
49
+ = help: did you mean count?
50
+ ```
@@ -0,0 +1,52 @@
1
+ <!-- Generated by go test ./diag; do not edit. -->
2
+
3
+ # E0503: a value in the data is of a kind the schema does not accept
4
+
5
+ A value in the data is of a kind the schema does not accept: a string where the
6
+ schema declares an int. The headline names the data's value and the kind the
7
+ schema declares; a struct or list in the data is named by its kind, and a long
8
+ value is shortened. The note points at the schema's declaration.
9
+
10
+ ## Example
11
+
12
+ `lineage.cue`:
13
+
14
+ ```cue
15
+ name: "ship"
16
+ schemas: {
17
+ "0": {
18
+ "0": {
19
+ schema: {
20
+ name: string
21
+ count: int
22
+ }
23
+ }
24
+ }
25
+ }
26
+ ```
27
+
28
+ `data.json`:
29
+
30
+ ```json
31
+ {
32
+ "name": "Argo",
33
+ "count": "three"
34
+ }
35
+ ```
36
+
37
+ thema reports:
38
+
39
+ ```
40
+ error[E0503]: count in the data is "three", but schema 0.0 declares it as int
41
+ --> data.json:3:11
42
+ |
43
+ 3 | "count": "three"
44
+ | ^^^^^^^
45
+ |
46
+ ::: lineage.cue:7:5
47
+ |
48
+ 7 | count: int
49
+ | ----- declared here
50
+ |
51
+ = detail: count: conflicting values "three" and int (mismatched types string and int)
52
+ ```
@@ -0,0 +1,64 @@
1
+ <!-- Generated by go test ./diag; do not edit. -->
2
+
3
+ # E0504: a value in the data is outside what the schema allows
4
+
5
+ A value in the data is of the right kind but outside what the schema allows:
6
+ out of a bound the schema sets, failing a validator it applies, or not the
7
+ constant it fixes. Here the schema bounds `count` and fixes `kind`.
8
+
9
+ ## Example
10
+
11
+ `lineage.cue`:
12
+
13
+ ```cue
14
+ name: "ship"
15
+ schemas: {
16
+ "0": {
17
+ "0": {
18
+ schema: {
19
+ kind: "ship"
20
+ count: int & >=0 & <10
21
+ }
22
+ }
23
+ }
24
+ }
25
+ ```
26
+
27
+ `data.json`:
28
+
29
+ ```json
30
+ {
31
+ "kind": "boat",
32
+ "count": 12
33
+ }
34
+ ```
35
+
36
+ thema reports:
37
+
38
+ ```
39
+ error[E0504]: kind in the data is "boat", but schema 0.0 requires "ship"
40
+ --> data.json:2:11
41
+ |
42
+ 2 | "kind": "boat",
43
+ | ^^^^^^
44
+ |
45
+ ::: lineage.cue:6:5
46
+ |
47
+ 6 | kind: "ship"
48
+ | ---- required here
49
+ |
50
+ = detail: kind: conflicting values "ship" and "boat"
51
+
52
+ error[E0504]: count in the data is 12, outside the bound <10 that schema 0.0 sets
53
+ --> data.json:3:11
54
+ |
55
+ 3 | "count": 12
56
+ | ^^
57
+ |
58
+ ::: lineage.cue:7:12
59
+ |
60
+ 7 | count: int & >=0 & <10
61
+ | --- the bound is set here
62
+ |
63
+ = detail: count: invalid value 12 (out of bound <10)
64
+ ```
@@ -0,0 +1,51 @@
1
+ <!-- Generated by go test ./diag; do not edit. -->
2
+
3
+ # E0505: a value in the data matches none of the alternatives the schema allows
4
+
5
+ A value in the data matches none of the alternatives of a disjunction in the
6
+ schema. CUE reports one reason per alternative; each is a note, so the author
7
+ sees why every alternative was rejected.
8
+
9
+ ## Example
10
+
11
+ `lineage.cue`:
12
+
13
+ ```cue
14
+ name: "ship"
15
+ schemas: {
16
+ "0": {
17
+ "0": {
18
+ schema: {
19
+ size: int | "large"
20
+ }
21
+ }
22
+ }
23
+ }
24
+ ```
25
+
26
+ `data.json`:
27
+
28
+ ```json
29
+ {
30
+ "size": true
31
+ }
32
+ ```
33
+
34
+ thema reports:
35
+
36
+ ```
37
+ error[E0505]: size in the data matches none of the alternatives schema 0.0 allows
38
+ --> data.json:2:10
39
+ |
40
+ 2 | "size": true
41
+ | ^^^^
42
+ | ---- size: conflicting values true and "large" (mismatched types bool and string)
43
+ | ---- size: conflicting values true and int (mismatched types bool and int)
44
+ |
45
+ ::: lineage.cue:6:11
46
+ |
47
+ 6 | size: int | "large"
48
+ | --- the alternatives are declared here
49
+ |
50
+ = detail: size: 2 errors in empty disjunction:
51
+ ```
@@ -0,0 +1,48 @@
1
+ <!-- Generated by go test ./diag; do not edit. -->
2
+
3
+ # E0506: the data is not concrete
4
+
5
+ The data itself is not concrete. Data must be fully specified: a value with
6
+ a constraint in place of a value, such as `int`, cannot be an instance of any
7
+ schema. This arises when data is built in CUE rather than parsed from JSON or
8
+ YAML.
9
+
10
+ ## Example
11
+
12
+ `lineage.cue`:
13
+
14
+ ```cue
15
+ name: "ship"
16
+ schemas: {
17
+ "0": {
18
+ "0": {
19
+ schema: {
20
+ count: int
21
+ }
22
+ }
23
+ }
24
+ }
25
+ ```
26
+
27
+ `data.cue`:
28
+
29
+ ```cue
30
+ count: int
31
+ ```
32
+
33
+ thema reports:
34
+
35
+ ```
36
+ error[E0506]: count in the data is not concrete: it is still int
37
+ --> data.cue:1:8
38
+ |
39
+ 1 | count: int
40
+ | ^^^
41
+ |
42
+ ::: lineage.cue:6:5
43
+ |
44
+ 6 | count: int
45
+ | ----- declared here
46
+ |
47
+ = detail: count: incomplete value int
48
+ ```
@@ -0,0 +1,41 @@
1
+ <!-- Generated by go test ./diag; do not edit. -->
2
+
3
+ # E0507: the data does not parse
4
+
5
+ The data document does not parse as the format it was given or detected as.
6
+ The position is where the parser stopped; the detail is what it reported.
7
+
8
+ ## Example
9
+
10
+ `lineage.cue`:
11
+
12
+ ```cue
13
+ name: "ship"
14
+ schemas: {
15
+ "0": {
16
+ "0": {
17
+ schema: {
18
+ a: string
19
+ }
20
+ }
21
+ }
22
+ }
23
+ ```
24
+
25
+ `bad.json`:
26
+
27
+ ```json
28
+ {"a": "Argo"
29
+ ```
30
+
31
+ thema reports:
32
+
33
+ ```
34
+ error[E0507]: bad.json is not valid JSON
35
+ --> bad.json:1:13
36
+ |
37
+ 1 | {"a": "Argo"
38
+ | ^
39
+ |
40
+ = detail: invalid JSON: unexpected end of JSON input
41
+ ```
@@ -0,0 +1,39 @@
1
+ <!-- Generated by go test ./diag; do not edit. -->
2
+
3
+ # E0508: the data is an instance of no schema in the lineage
4
+
5
+ An operation that searches the lineage for the data's schema found none that
6
+ accepts it: the CLI's translate, or the playground's validate-any, or its
7
+ translate without a from version. Validating against one version (data
8
+ validate -v) names what that schema rejects.
9
+
10
+ ## Example
11
+
12
+ `lineage.cue`:
13
+
14
+ ```cue
15
+ name: "ship"
16
+ schemas: {
17
+ "0": {
18
+ "0": {
19
+ schema: {
20
+ a: string
21
+ }
22
+ }
23
+ }
24
+ }
25
+ ```
26
+
27
+ `data.json`:
28
+
29
+ ```json
30
+ {"a": 1}
31
+ ```
32
+
33
+ thema reports:
34
+
35
+ ```
36
+ error[E0508]: the data is an instance of no schema in the lineage
37
+ |
38
+ = help: validate it against one version with -v to see what that schema rejects
39
+ ```
@@ -0,0 +1,22 @@
1
+ <!-- Generated by go test ./diag; do not edit. -->
2
+
3
+ # E0601: the lineage path does not exist or cannot be read
4
+
5
+ The path given with -l does not exist. The lineage is a .cue file or a
6
+ directory of .cue files.
7
+
8
+ ## Example
9
+
10
+ `data.json`:
11
+
12
+ ```json
13
+ {"a": "Argo"}
14
+ ```
15
+
16
+ thema reports:
17
+
18
+ ```
19
+ error[E0601]: missing.cue does not exist
20
+ |
21
+ = help: pass the path to a .cue file or a directory with -l
22
+ ```
@@ -0,0 +1,28 @@
1
+ <!-- Generated by go test ./diag; do not edit. -->
2
+
3
+ # E0602: no CUE package was found at the lineage path
4
+
5
+ The path given with -l exists, but CUE's loader found no package there: no
6
+ .cue files, or none for the package asked for.
7
+
8
+ ## Example
9
+
10
+ `docs/README.md`:
11
+
12
+ ```
13
+ Not a lineage.
14
+ ```
15
+
16
+ `data.json`:
17
+
18
+ ```json
19
+ {"a": "Argo"}
20
+ ```
21
+
22
+ thema reports:
23
+
24
+ ```
25
+ error[E0602]: there is no CUE package at docs
26
+ |
27
+ = help: a lineage is a .cue file, or a directory of .cue files in one package
28
+ ```
@@ -0,0 +1,65 @@
1
+ <!-- Generated by go test ./diag; do not edit. -->
2
+
3
+ # E0603: the lineage path holds lineages in several CUE packages
4
+
5
+ A directory given with -l holds more than one CUE package, and more than
6
+ one of them holds a lineage. thema cannot choose; name one file, or move the
7
+ lineages apart.
8
+
9
+ ## Example
10
+
11
+ `two/a.cue`:
12
+
13
+ ```cue
14
+ package a
15
+
16
+ import "github.com/sdboyer/thema"
17
+
18
+ lin: thema.Lineage & {
19
+ name: "a"
20
+ schemas: {
21
+ "0": {
22
+ "0": {
23
+ schema: {
24
+ a: string
25
+ }
26
+ }
27
+ }
28
+ }
29
+ }
30
+ ```
31
+
32
+ `two/b.cue`:
33
+
34
+ ```cue
35
+ package b
36
+
37
+ import "github.com/sdboyer/thema"
38
+
39
+ lin: thema.Lineage & {
40
+ name: "b"
41
+ schemas: {
42
+ "0": {
43
+ "0": {
44
+ schema: {
45
+ a: string
46
+ }
47
+ }
48
+ }
49
+ }
50
+ }
51
+ ```
52
+
53
+ `data.json`:
54
+
55
+ ```json
56
+ {"a": "Argo"}
57
+ ```
58
+
59
+ thema reports:
60
+
61
+ ```
62
+ error[E0603]: packages a and b at the lineage path both hold a lineage
63
+ |
64
+ = help: name one package's file with -l, or move the lineages apart
65
+ ```
@@ -0,0 +1,37 @@
1
+ <!-- Generated by go test ./diag; do not edit. -->
2
+
3
+ # E0604: the CUE path given for the lineage is not a path
4
+
5
+ The CUE path given with -p does not parse as a path expression.
6
+
7
+ ## Example
8
+
9
+ `lineage.cue`:
10
+
11
+ ```cue
12
+ name: "ship"
13
+ schemas: {
14
+ "0": {
15
+ "0": {
16
+ schema: {
17
+ a: string
18
+ }
19
+ }
20
+ }
21
+ }
22
+ ```
23
+
24
+ `data.json`:
25
+
26
+ ```json
27
+ {"a": "Argo"}
28
+ ```
29
+
30
+ thema reports:
31
+
32
+ ```
33
+ error[E0604]: "a[" is not a CUE path
34
+ |
35
+ = detail: expected operand, found 'EOF'
36
+ = help: -p takes a path into the package, such as lin or lineages.ship
37
+ ```
@@ -0,0 +1,36 @@
1
+ <!-- Generated by go test ./diag; do not edit. -->
2
+
3
+ # E0605: there is no value at the CUE path given for the lineage
4
+
5
+ The CUE path given with -p parses, but the package has no value there.
6
+
7
+ ## Example
8
+
9
+ `lineage.cue`:
10
+
11
+ ```cue
12
+ name: "ship"
13
+ schemas: {
14
+ "0": {
15
+ "0": {
16
+ schema: {
17
+ a: string
18
+ }
19
+ }
20
+ }
21
+ }
22
+ ```
23
+
24
+ `data.json`:
25
+
26
+ ```json
27
+ {"a": "Argo"}
28
+ ```
29
+
30
+ thema reports:
31
+
32
+ ```
33
+ error[E0605]: there is no value at nothere in lineage.cue
34
+ |
35
+ = help: -p names a field of the package that holds the lineage
36
+ ```
@@ -0,0 +1,44 @@
1
+ <!-- Generated by go test ./diag; do not edit. -->
2
+
3
+ # E0606: a cue.mod/module.cue above the lineage is not valid
4
+
5
+ A cue.mod/module.cue was found above the lineage path, but it does not
6
+ declare module, so the module's name is unknown.
7
+
8
+ ## Example
9
+
10
+ `mod/cue.mod/module.cue`:
11
+
12
+ ```cue
13
+ modul: "example.com/typo"
14
+ ```
15
+
16
+ `mod/lineage.cue`:
17
+
18
+ ```cue
19
+ name: "ship"
20
+ schemas: {
21
+ "0": {
22
+ "0": {
23
+ schema: {
24
+ a: string
25
+ }
26
+ }
27
+ }
28
+ }
29
+ ```
30
+
31
+ `data.json`:
32
+
33
+ ```json
34
+ {"a": "Argo"}
35
+ ```
36
+
37
+ thema reports:
38
+
39
+ ```
40
+ error[E0606]: mod/cue.mod/module.cue does not declare module
41
+ |
42
+ = detail: field not found: module
43
+ = help: a module file declares module: "<path>" and language: version: "<version>"
44
+ ```
@@ -0,0 +1,57 @@
1
+ <!-- Generated by go test ./diag; do not edit. -->
2
+
3
+ # E0607: the CUE module requires a version of thema's CUE other than the one this program embeds
4
+
5
+ The cue.mod/module.cue above the lineage depends on a version of thema's
6
+ CUE module other than the one this program embeds. thema's CLI resolves
7
+ github.com/sdboyer/thema to its own embedded copy, and only to that; the help
8
+ names the version to declare.
9
+
10
+ ## Example
11
+
12
+ `mod/cue.mod/module.cue`:
13
+
14
+ ```cue
15
+ module: "example.com/skew"
16
+ language: version: "v0.9.0"
17
+ deps: "github.com/sdboyer/thema@v0": {v: "v0.0.1"}
18
+ ```
19
+
20
+ `mod/x.cue`:
21
+
22
+ ```cue
23
+ package x
24
+
25
+ import "github.com/sdboyer/thema"
26
+
27
+ lin: thema.Lineage & {
28
+ name: "x"
29
+ schemas: {
30
+ "0": {
31
+ "0": {
32
+ schema: {
33
+ a: string
34
+ }
35
+ }
36
+ }
37
+ }
38
+ }
39
+ ```
40
+
41
+ `data.json`:
42
+
43
+ ```json
44
+ {"a": "Argo"}
45
+ ```
46
+
47
+ thema reports:
48
+
49
+ ```
50
+ error[E0607]: the CUE module requires thema v0.0.1, but this program embeds v0.1.0
51
+ --> mod/x.cue:3:8
52
+ |
53
+ 3 | import "github.com/sdboyer/thema"
54
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^
55
+ |
56
+ = help: set deps["github.com/sdboyer/thema@v0"].v to "v0.1.0" in cue.mod/module.cue
57
+ ```