polen 0.11.0-next.23 → 0.11.0-next.25

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 (192) hide show
  1. package/build/api/config/input.d.ts +76 -77
  2. package/build/api/config/input.d.ts.map +1 -1
  3. package/build/api/config/normalized.d.ts +136 -143
  4. package/build/api/config/normalized.d.ts.map +1 -1
  5. package/build/api/config-template/template.d.ts +110 -121
  6. package/build/api/config-template/template.d.ts.map +1 -1
  7. package/build/api/examples/diagnostic/diagnostic.d.ts +0 -23
  8. package/build/api/examples/diagnostic/diagnostic.d.ts.map +1 -1
  9. package/build/api/examples/diagnostic/diagnostic.js +1 -3
  10. package/build/api/examples/diagnostic/diagnostic.js.map +1 -1
  11. package/build/api/examples/scanner.d.ts +27 -1
  12. package/build/api/examples/scanner.d.ts.map +1 -1
  13. package/build/api/examples/scanner.js +19 -17
  14. package/build/api/examples/scanner.js.map +1 -1
  15. package/build/api/examples/schemas/catalog.d.ts +20 -12
  16. package/build/api/examples/schemas/catalog.d.ts.map +1 -1
  17. package/build/api/examples/schemas/example/example.d.ts +17 -11
  18. package/build/api/examples/schemas/example/example.d.ts.map +1 -1
  19. package/build/api/schema/augmentations/$$.d.ts +7 -0
  20. package/build/api/schema/augmentations/$$.d.ts.map +1 -0
  21. package/build/api/schema/augmentations/$$.js +7 -0
  22. package/build/api/schema/augmentations/$$.js.map +1 -0
  23. package/build/api/schema/augmentations/$.d.ts +1 -1
  24. package/build/api/schema/augmentations/$.d.ts.map +1 -1
  25. package/build/api/schema/augmentations/$.js +1 -1
  26. package/build/api/schema/augmentations/$.js.map +1 -1
  27. package/build/api/schema/augmentations/apply.d.ts +29 -0
  28. package/build/api/schema/augmentations/apply.d.ts.map +1 -0
  29. package/build/api/schema/augmentations/apply.js +181 -0
  30. package/build/api/schema/augmentations/apply.js.map +1 -0
  31. package/build/api/schema/augmentations/augmentation.d.ts +31 -0
  32. package/build/api/schema/augmentations/augmentation.d.ts.map +1 -0
  33. package/build/api/schema/augmentations/augmentation.js +22 -0
  34. package/build/api/schema/augmentations/augmentation.js.map +1 -0
  35. package/build/api/schema/augmentations/config.d.ts +24 -0
  36. package/build/api/schema/augmentations/config.d.ts.map +1 -0
  37. package/build/api/schema/augmentations/config.js +9 -0
  38. package/build/api/schema/augmentations/config.js.map +1 -0
  39. package/build/api/schema/augmentations/diagnostics/diagnostic.d.ts +67 -0
  40. package/build/api/schema/augmentations/diagnostics/diagnostic.d.ts.map +1 -0
  41. package/build/api/schema/augmentations/diagnostics/diagnostic.js +13 -0
  42. package/build/api/schema/augmentations/diagnostics/diagnostic.js.map +1 -0
  43. package/build/api/schema/augmentations/diagnostics/duplicate-version.d.ts +45 -0
  44. package/build/api/schema/augmentations/diagnostics/duplicate-version.d.ts.map +1 -0
  45. package/build/api/schema/augmentations/diagnostics/duplicate-version.js +17 -0
  46. package/build/api/schema/augmentations/diagnostics/duplicate-version.js.map +1 -0
  47. package/build/api/schema/augmentations/diagnostics/invalid-path.d.ts +46 -0
  48. package/build/api/schema/augmentations/diagnostics/invalid-path.d.ts.map +1 -0
  49. package/build/api/schema/augmentations/diagnostics/invalid-path.js +18 -0
  50. package/build/api/schema/augmentations/diagnostics/invalid-path.js.map +1 -0
  51. package/build/api/schema/augmentations/diagnostics/version-mismatch.d.ts +46 -0
  52. package/build/api/schema/augmentations/diagnostics/version-mismatch.d.ts.map +1 -0
  53. package/build/api/schema/augmentations/diagnostics/version-mismatch.js +18 -0
  54. package/build/api/schema/augmentations/diagnostics/version-mismatch.js.map +1 -0
  55. package/build/api/schema/augmentations/input.d.ts +145 -0
  56. package/build/api/schema/augmentations/input.d.ts.map +1 -0
  57. package/build/api/schema/augmentations/input.js +191 -0
  58. package/build/api/schema/augmentations/input.js.map +1 -0
  59. package/build/api/schema/augmentations/placement.d.ts +8 -0
  60. package/build/api/schema/augmentations/placement.d.ts.map +1 -0
  61. package/build/api/schema/augmentations/placement.js +7 -0
  62. package/build/api/schema/augmentations/placement.js.map +1 -0
  63. package/build/api/schema/config-schema.d.ts +66 -66
  64. package/build/api/schema/config-schema.d.ts.map +1 -1
  65. package/build/api/schema/config-schema.js +2 -2
  66. package/build/api/schema/config-schema.js.map +1 -1
  67. package/build/api/schema/input-source/load.d.ts +2 -0
  68. package/build/api/schema/input-source/load.d.ts.map +1 -1
  69. package/build/api/schema/input-source/load.js.map +1 -1
  70. package/build/api/schema/input-sources/directory.d.ts +39 -39
  71. package/build/api/schema/input-sources/file.d.ts +39 -39
  72. package/build/api/schema/input-sources/introspection-file.d.ts +39 -39
  73. package/build/api/schema/input-sources/introspection.d.ts +39 -39
  74. package/build/api/schema/input-sources/memory.d.ts +39 -39
  75. package/build/api/schema/input-sources/versioned-directory.d.ts +79 -79
  76. package/build/api/schema/load.d.ts.map +1 -1
  77. package/build/api/schema/load.js +9 -2
  78. package/build/api/schema/load.js.map +1 -1
  79. package/build/lib/catalog/catalog.d.ts +1181 -1181
  80. package/build/lib/catalog/unversioned.d.ts +312 -312
  81. package/build/lib/catalog/versioned.d.ts +634 -634
  82. package/build/lib/change/change.d.ts +238 -238
  83. package/build/lib/document/document.d.ts +14 -8
  84. package/build/lib/document/document.d.ts.map +1 -1
  85. package/build/lib/document/versioned.d.ts +17 -10
  86. package/build/lib/document/versioned.d.ts.map +1 -1
  87. package/build/lib/grafaid/schema/KindMap/_.d.ts +1 -1
  88. package/build/lib/graphql-path/$$.d.ts +7 -13
  89. package/build/lib/graphql-path/$$.d.ts.map +1 -1
  90. package/build/lib/graphql-path/$$.js +7 -13
  91. package/build/lib/graphql-path/$$.js.map +1 -1
  92. package/build/lib/graphql-path/definition.d.ts +104 -94
  93. package/build/lib/graphql-path/definition.d.ts.map +1 -1
  94. package/build/lib/graphql-path/definition.js +126 -125
  95. package/build/lib/graphql-path/definition.js.map +1 -1
  96. package/build/lib/graphql-path/query.d.ts +25 -57
  97. package/build/lib/graphql-path/query.d.ts.map +1 -1
  98. package/build/lib/graphql-path/query.js +15 -93
  99. package/build/lib/graphql-path/query.js.map +1 -1
  100. package/build/lib/graphql-path/schema.d.ts +49 -0
  101. package/build/lib/graphql-path/schema.d.ts.map +1 -0
  102. package/build/lib/graphql-path/schema.js +89 -0
  103. package/build/lib/graphql-path/schema.js.map +1 -0
  104. package/build/lib/graphql-path/types.d.ts +76 -28
  105. package/build/lib/graphql-path/types.d.ts.map +1 -1
  106. package/build/lib/graphql-path/types.js +101 -2
  107. package/build/lib/graphql-path/types.js.map +1 -1
  108. package/build/lib/revision/revision.d.ts +1170 -1170
  109. package/build/lib/schema/schema.d.ts +708 -708
  110. package/build/lib/schema/unversioned.d.ts +1092 -1092
  111. package/build/lib/schema/versioned.d.ts +634 -634
  112. package/build/lib/semver/official-release.d.ts +10 -10
  113. package/build/lib/semver/pre-release.d.ts +10 -10
  114. package/build/lib/semver/semver.d.ts +50 -50
  115. package/build/lib/version-coverage/version-coverage.d.ts +43 -11
  116. package/build/lib/version-coverage/version-coverage.d.ts.map +1 -1
  117. package/build/lib/version-coverage/version-coverage.js +40 -6
  118. package/build/lib/version-coverage/version-coverage.js.map +1 -1
  119. package/build/template/hooks/use-examples.d.ts +1 -1
  120. package/build/template/routes/changelog/ChangelogSidebar.d.ts +2 -2
  121. package/build/template/routes/changelog/ChangelogSidebar.d.ts.map +1 -1
  122. package/build/template/routes/changelog/ChangelogSidebar.js +4 -4
  123. package/build/template/routes/changelog/ChangelogSidebar.js.map +1 -1
  124. package/build/template/routes/examples/_.d.ts +3 -3
  125. package/build/template/routes/examples/_index.d.ts +2 -2
  126. package/build/template/routes/examples/name.d.ts +3 -3
  127. package/build/template/routes/pages.d.ts.map +1 -1
  128. package/build/template/routes/pages.js +5 -1
  129. package/build/template/routes/pages.js.map +1 -1
  130. package/build/template/stores/changelog.d.ts +39 -39
  131. package/build/vite/plugins/examples.d.ts.map +1 -1
  132. package/build/vite/plugins/examples.js +0 -2
  133. package/build/vite/plugins/examples.js.map +1 -1
  134. package/build/vite/plugins/schemas.d.ts.map +1 -1
  135. package/build/vite/plugins/schemas.js +38 -2
  136. package/build/vite/plugins/schemas.js.map +1 -1
  137. package/package.json +1 -1
  138. package/src/api/examples/diagnostic/diagnostic.ts +0 -3
  139. package/src/api/examples/scanner.test.ts +83 -0
  140. package/src/api/examples/scanner.ts +17 -21
  141. package/src/api/schema/augmentations/$$.ts +6 -0
  142. package/src/api/schema/augmentations/$.ts +1 -1
  143. package/src/api/schema/augmentations/apply.test.ts +89 -0
  144. package/src/api/schema/augmentations/apply.ts +277 -0
  145. package/src/api/schema/augmentations/augmentation.ts +24 -0
  146. package/src/api/schema/augmentations/config.ts +11 -0
  147. package/src/api/schema/augmentations/diagnostics/diagnostic.ts +20 -0
  148. package/src/api/schema/augmentations/diagnostics/duplicate-version.ts +20 -0
  149. package/src/api/schema/augmentations/diagnostics/invalid-path.ts +21 -0
  150. package/src/api/schema/augmentations/diagnostics/version-mismatch.ts +21 -0
  151. package/src/api/schema/augmentations/input.test.ts +144 -0
  152. package/src/api/schema/augmentations/input.ts +215 -0
  153. package/src/api/schema/augmentations/placement.ts +11 -0
  154. package/src/api/schema/config-schema.ts +2 -2
  155. package/src/api/schema/input-source/load.ts +2 -0
  156. package/src/api/schema/load.ts +19 -2
  157. package/src/lib/graphql-path/$$.ts +7 -13
  158. package/src/lib/graphql-path/$.test.ts +175 -0
  159. package/src/lib/graphql-path/definition.ts +162 -162
  160. package/src/lib/graphql-path/query.ts +15 -98
  161. package/src/lib/graphql-path/schema.ts +136 -0
  162. package/src/lib/graphql-path/types.ts +108 -28
  163. package/src/lib/version-coverage/version-coverage.ts +48 -6
  164. package/src/template/routes/changelog/ChangelogSidebar.tsx +4 -4
  165. package/src/template/routes/pages.tsx +6 -1
  166. package/src/vite/plugins/examples.ts +0 -2
  167. package/src/vite/plugins/schemas.ts +51 -2
  168. package/build/api/examples/diagnostic/unused-default.d.ts +0 -49
  169. package/build/api/examples/diagnostic/unused-default.d.ts.map +0 -1
  170. package/build/api/examples/diagnostic/unused-default.js +0 -19
  171. package/build/api/examples/diagnostic/unused-default.js.map +0 -1
  172. package/build/api/schema/augmentations/augmentations/description.d.ts +0 -26
  173. package/build/api/schema/augmentations/augmentations/description.d.ts.map +0 -1
  174. package/build/api/schema/augmentations/augmentations/description.js +0 -55
  175. package/build/api/schema/augmentations/augmentations/description.js.map +0 -1
  176. package/build/api/schema/augmentations/schema-augmentation.d.ts +0 -20
  177. package/build/api/schema/augmentations/schema-augmentation.d.ts.map +0 -1
  178. package/build/api/schema/augmentations/schema-augmentation.js +0 -22
  179. package/build/api/schema/augmentations/schema-augmentation.js.map +0 -1
  180. package/build/api/schema/augmentations/target.d.ts +0 -25
  181. package/build/api/schema/augmentations/target.d.ts.map +0 -1
  182. package/build/api/schema/augmentations/target.js +0 -39
  183. package/build/api/schema/augmentations/target.js.map +0 -1
  184. package/build/lib/graphql-path/constructors.d.ts +0 -57
  185. package/build/lib/graphql-path/constructors.d.ts.map +0 -1
  186. package/build/lib/graphql-path/constructors.js +0 -73
  187. package/build/lib/graphql-path/constructors.js.map +0 -1
  188. package/src/api/examples/diagnostic/unused-default.ts +0 -22
  189. package/src/api/schema/augmentations/augmentations/description.ts +0 -69
  190. package/src/api/schema/augmentations/schema-augmentation.ts +0 -32
  191. package/src/api/schema/augmentations/target.ts +0 -61
  192. package/src/lib/graphql-path/constructors.ts +0 -81
@@ -1183,34 +1183,34 @@ export declare const store: {
1183
1183
  readonly _tag: "FIELD_ADDED";
1184
1184
  readonly path?: string | undefined;
1185
1185
  readonly message: string;
1186
+ readonly typeName: string;
1187
+ readonly fieldName: string;
1186
1188
  readonly criticality: {
1187
1189
  readonly reason?: string | undefined;
1188
1190
  readonly level: "BREAKING" | "DANGEROUS" | "NON_BREAKING";
1189
1191
  };
1190
- readonly typeName: string;
1191
- readonly fieldName: string;
1192
1192
  readonly isDeprecated: boolean;
1193
1193
  readonly isSafe: boolean;
1194
1194
  } | {
1195
1195
  readonly _tag: "FIELD_REMOVED";
1196
1196
  readonly path?: string | undefined;
1197
1197
  readonly message: string;
1198
+ readonly typeName: string;
1199
+ readonly fieldName: string;
1198
1200
  readonly criticality: {
1199
1201
  readonly reason?: string | undefined;
1200
1202
  readonly level: "BREAKING" | "DANGEROUS" | "NON_BREAKING";
1201
1203
  };
1202
- readonly typeName: string;
1203
- readonly fieldName: string;
1204
1204
  } | {
1205
1205
  readonly _tag: "FIELD_TYPE_CHANGED";
1206
1206
  readonly path?: string | undefined;
1207
1207
  readonly message: string;
1208
+ readonly typeName: string;
1209
+ readonly fieldName: string;
1208
1210
  readonly criticality: {
1209
1211
  readonly reason?: string | undefined;
1210
1212
  readonly level: "BREAKING" | "DANGEROUS" | "NON_BREAKING";
1211
1213
  };
1212
- readonly typeName: string;
1213
- readonly fieldName: string;
1214
1214
  readonly isSafe: boolean;
1215
1215
  readonly oldType: string;
1216
1216
  readonly newType: string;
@@ -1219,32 +1219,32 @@ export declare const store: {
1219
1219
  readonly reason?: string | undefined;
1220
1220
  readonly path?: string | undefined;
1221
1221
  readonly message: string;
1222
+ readonly typeName: string;
1223
+ readonly fieldName: string;
1222
1224
  readonly criticality: {
1223
1225
  readonly reason?: string | undefined;
1224
1226
  readonly level: "BREAKING" | "DANGEROUS" | "NON_BREAKING";
1225
1227
  };
1226
- readonly typeName: string;
1227
- readonly fieldName: string;
1228
1228
  } | {
1229
1229
  readonly _tag: "FIELD_DEPRECATION_REMOVED";
1230
1230
  readonly path?: string | undefined;
1231
1231
  readonly message: string;
1232
+ readonly typeName: string;
1233
+ readonly fieldName: string;
1232
1234
  readonly criticality: {
1233
1235
  readonly reason?: string | undefined;
1234
1236
  readonly level: "BREAKING" | "DANGEROUS" | "NON_BREAKING";
1235
1237
  };
1236
- readonly typeName: string;
1237
- readonly fieldName: string;
1238
1238
  } | {
1239
1239
  readonly _tag: "FIELD_DEPRECATION_REASON_CHANGED";
1240
1240
  readonly path?: string | undefined;
1241
1241
  readonly message: string;
1242
+ readonly typeName: string;
1243
+ readonly fieldName: string;
1242
1244
  readonly criticality: {
1243
1245
  readonly reason?: string | undefined;
1244
1246
  readonly level: "BREAKING" | "DANGEROUS" | "NON_BREAKING";
1245
1247
  };
1246
- readonly typeName: string;
1247
- readonly fieldName: string;
1248
1248
  readonly oldReason?: string | undefined;
1249
1249
  readonly newReason?: string | undefined;
1250
1250
  } | {
@@ -1252,89 +1252,89 @@ export declare const store: {
1252
1252
  readonly reason: string;
1253
1253
  readonly path?: string | undefined;
1254
1254
  readonly message: string;
1255
+ readonly typeName: string;
1256
+ readonly fieldName: string;
1255
1257
  readonly criticality: {
1256
1258
  readonly reason?: string | undefined;
1257
1259
  readonly level: "BREAKING" | "DANGEROUS" | "NON_BREAKING";
1258
1260
  };
1259
- readonly typeName: string;
1260
- readonly fieldName: string;
1261
1261
  } | {
1262
1262
  readonly _tag: "FIELD_DEPRECATION_REASON_REMOVED";
1263
1263
  readonly path?: string | undefined;
1264
1264
  readonly message: string;
1265
+ readonly typeName: string;
1266
+ readonly fieldName: string;
1265
1267
  readonly criticality: {
1266
1268
  readonly reason?: string | undefined;
1267
1269
  readonly level: "BREAKING" | "DANGEROUS" | "NON_BREAKING";
1268
1270
  };
1269
- readonly typeName: string;
1270
- readonly fieldName: string;
1271
1271
  } | {
1272
1272
  readonly _tag: "FIELD_DESCRIPTION_CHANGED";
1273
1273
  readonly path?: string | undefined;
1274
1274
  readonly message: string;
1275
+ readonly typeName: string;
1276
+ readonly fieldName: string;
1275
1277
  readonly criticality: {
1276
1278
  readonly reason?: string | undefined;
1277
1279
  readonly level: "BREAKING" | "DANGEROUS" | "NON_BREAKING";
1278
1280
  };
1279
1281
  readonly oldDescription?: string | undefined;
1280
1282
  readonly newDescription?: string | undefined;
1281
- readonly typeName: string;
1282
- readonly fieldName: string;
1283
1283
  } | {
1284
1284
  readonly _tag: "FIELD_DESCRIPTION_ADDED";
1285
1285
  readonly description: string;
1286
1286
  readonly path?: string | undefined;
1287
1287
  readonly message: string;
1288
+ readonly typeName: string;
1289
+ readonly fieldName: string;
1288
1290
  readonly criticality: {
1289
1291
  readonly reason?: string | undefined;
1290
1292
  readonly level: "BREAKING" | "DANGEROUS" | "NON_BREAKING";
1291
1293
  };
1292
- readonly typeName: string;
1293
- readonly fieldName: string;
1294
1294
  } | {
1295
1295
  readonly _tag: "FIELD_DESCRIPTION_REMOVED";
1296
1296
  readonly path?: string | undefined;
1297
1297
  readonly message: string;
1298
+ readonly typeName: string;
1299
+ readonly fieldName: string;
1298
1300
  readonly criticality: {
1299
1301
  readonly reason?: string | undefined;
1300
1302
  readonly level: "BREAKING" | "DANGEROUS" | "NON_BREAKING";
1301
1303
  };
1302
- readonly typeName: string;
1303
- readonly fieldName: string;
1304
1304
  } | {
1305
1305
  readonly _tag: "FIELD_ARGUMENT_ADDED";
1306
1306
  readonly path?: string | undefined;
1307
1307
  readonly message: string;
1308
1308
  readonly type: string;
1309
1309
  readonly defaultValue?: unknown;
1310
+ readonly typeName: string;
1311
+ readonly fieldName: string;
1310
1312
  readonly criticality: {
1311
1313
  readonly reason?: string | undefined;
1312
1314
  readonly level: "BREAKING" | "DANGEROUS" | "NON_BREAKING";
1313
1315
  };
1314
- readonly typeName: string;
1315
- readonly fieldName: string;
1316
1316
  readonly argumentName: string;
1317
1317
  } | {
1318
1318
  readonly _tag: "FIELD_ARGUMENT_REMOVED";
1319
1319
  readonly path?: string | undefined;
1320
1320
  readonly message: string;
1321
+ readonly typeName: string;
1322
+ readonly fieldName: string;
1321
1323
  readonly criticality: {
1322
1324
  readonly reason?: string | undefined;
1323
1325
  readonly level: "BREAKING" | "DANGEROUS" | "NON_BREAKING";
1324
1326
  };
1325
- readonly typeName: string;
1326
- readonly fieldName: string;
1327
1327
  readonly argumentName: string;
1328
1328
  } | {
1329
1329
  readonly _tag: "FIELD_ARGUMENT_TYPE_CHANGED";
1330
1330
  readonly path?: string | undefined;
1331
1331
  readonly message: string;
1332
+ readonly typeName: string;
1333
+ readonly fieldName: string;
1332
1334
  readonly criticality: {
1333
1335
  readonly reason?: string | undefined;
1334
1336
  readonly level: "BREAKING" | "DANGEROUS" | "NON_BREAKING";
1335
1337
  };
1336
- readonly typeName: string;
1337
- readonly fieldName: string;
1338
1338
  readonly oldType: string;
1339
1339
  readonly newType: string;
1340
1340
  readonly argumentName: string;
@@ -1342,25 +1342,25 @@ export declare const store: {
1342
1342
  readonly _tag: "FIELD_ARGUMENT_DESCRIPTION_CHANGED";
1343
1343
  readonly path?: string | undefined;
1344
1344
  readonly message: string;
1345
+ readonly typeName: string;
1346
+ readonly fieldName: string;
1345
1347
  readonly criticality: {
1346
1348
  readonly reason?: string | undefined;
1347
1349
  readonly level: "BREAKING" | "DANGEROUS" | "NON_BREAKING";
1348
1350
  };
1349
1351
  readonly oldDescription?: string | undefined;
1350
1352
  readonly newDescription?: string | undefined;
1351
- readonly typeName: string;
1352
- readonly fieldName: string;
1353
1353
  readonly argumentName: string;
1354
1354
  } | {
1355
1355
  readonly _tag: "FIELD_ARGUMENT_DEFAULT_CHANGED";
1356
1356
  readonly path?: string | undefined;
1357
1357
  readonly message: string;
1358
+ readonly typeName: string;
1359
+ readonly fieldName: string;
1358
1360
  readonly criticality: {
1359
1361
  readonly reason?: string | undefined;
1360
1362
  readonly level: "BREAKING" | "DANGEROUS" | "NON_BREAKING";
1361
1363
  };
1362
- readonly typeName: string;
1363
- readonly fieldName: string;
1364
1364
  readonly argumentName: string;
1365
1365
  readonly oldDefault?: unknown;
1366
1366
  readonly newDefault?: unknown;
@@ -1455,32 +1455,32 @@ export declare const store: {
1455
1455
  readonly _tag: "INPUT_FIELD_ADDED";
1456
1456
  readonly path?: string | undefined;
1457
1457
  readonly message: string;
1458
+ readonly fieldName: string;
1458
1459
  readonly criticality: {
1459
1460
  readonly reason?: string | undefined;
1460
1461
  readonly level: "BREAKING" | "DANGEROUS" | "NON_BREAKING";
1461
1462
  };
1462
- readonly fieldName: string;
1463
1463
  readonly inputName: string;
1464
1464
  readonly isNullable: boolean;
1465
1465
  } | {
1466
1466
  readonly _tag: "INPUT_FIELD_REMOVED";
1467
1467
  readonly path?: string | undefined;
1468
1468
  readonly message: string;
1469
+ readonly fieldName: string;
1469
1470
  readonly criticality: {
1470
1471
  readonly reason?: string | undefined;
1471
1472
  readonly level: "BREAKING" | "DANGEROUS" | "NON_BREAKING";
1472
1473
  };
1473
- readonly fieldName: string;
1474
1474
  readonly inputName: string;
1475
1475
  } | {
1476
1476
  readonly _tag: "INPUT_FIELD_TYPE_CHANGED";
1477
1477
  readonly path?: string | undefined;
1478
1478
  readonly message: string;
1479
+ readonly fieldName: string;
1479
1480
  readonly criticality: {
1480
1481
  readonly reason?: string | undefined;
1481
1482
  readonly level: "BREAKING" | "DANGEROUS" | "NON_BREAKING";
1482
1483
  };
1483
- readonly fieldName: string;
1484
1484
  readonly oldType: string;
1485
1485
  readonly newType: string;
1486
1486
  readonly inputName: string;
@@ -1489,43 +1489,43 @@ export declare const store: {
1489
1489
  readonly description: string;
1490
1490
  readonly path?: string | undefined;
1491
1491
  readonly message: string;
1492
+ readonly fieldName: string;
1492
1493
  readonly criticality: {
1493
1494
  readonly reason?: string | undefined;
1494
1495
  readonly level: "BREAKING" | "DANGEROUS" | "NON_BREAKING";
1495
1496
  };
1496
- readonly fieldName: string;
1497
1497
  readonly inputName: string;
1498
1498
  } | {
1499
1499
  readonly _tag: "INPUT_FIELD_DESCRIPTION_REMOVED";
1500
1500
  readonly path?: string | undefined;
1501
1501
  readonly message: string;
1502
+ readonly fieldName: string;
1502
1503
  readonly criticality: {
1503
1504
  readonly reason?: string | undefined;
1504
1505
  readonly level: "BREAKING" | "DANGEROUS" | "NON_BREAKING";
1505
1506
  };
1506
- readonly fieldName: string;
1507
1507
  readonly inputName: string;
1508
1508
  } | {
1509
1509
  readonly _tag: "INPUT_FIELD_DESCRIPTION_CHANGED";
1510
1510
  readonly path?: string | undefined;
1511
1511
  readonly message: string;
1512
+ readonly fieldName: string;
1512
1513
  readonly criticality: {
1513
1514
  readonly reason?: string | undefined;
1514
1515
  readonly level: "BREAKING" | "DANGEROUS" | "NON_BREAKING";
1515
1516
  };
1516
1517
  readonly oldDescription?: string | undefined;
1517
1518
  readonly newDescription?: string | undefined;
1518
- readonly fieldName: string;
1519
1519
  readonly inputName: string;
1520
1520
  } | {
1521
1521
  readonly _tag: "INPUT_FIELD_DEFAULT_VALUE_CHANGED";
1522
1522
  readonly path?: string | undefined;
1523
1523
  readonly message: string;
1524
+ readonly fieldName: string;
1524
1525
  readonly criticality: {
1525
1526
  readonly reason?: string | undefined;
1526
1527
  readonly level: "BREAKING" | "DANGEROUS" | "NON_BREAKING";
1527
1528
  };
1528
- readonly fieldName: string;
1529
1529
  readonly oldDefault?: unknown;
1530
1530
  readonly newDefault?: unknown;
1531
1531
  readonly inputName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"examples.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/examples.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AACjC,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAM5D,OAAO,EAAE,KAAK,WAAW,EAAqB,MAAM,0CAA0C,CAAA;AAC9F,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAK7C,OAAO,KAAK,KAAK,IAAI,MAAM,MAAM,CAAA;AAIjC,eAAO,MAAM,iBAAiB,mCAAwC,CAAA;AAEtE,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAA;IAEzB,YAAY,EAAE,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;IAChF,uBAAuB,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,UAAU,EAAE,CAAA;CAC9D;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;CAC3C;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,oDAItB,OAAO,KAAG;IACX,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAA;IACtB,MAAM,EAAE,WAAW,CAAC,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;CA8J7E,CAAA"}
1
+ {"version":3,"file":"examples.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/examples.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AACjC,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAM5D,OAAO,EAAE,KAAK,WAAW,EAAqB,MAAM,0CAA0C,CAAA;AAC9F,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAK7C,OAAO,KAAK,KAAK,IAAI,MAAM,MAAM,CAAA;AAIjC,eAAO,MAAM,iBAAiB,mCAAwC,CAAA;AAEtE,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAA;IAEzB,YAAY,EAAE,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;IAChF,uBAAuB,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,UAAU,EAAE,CAAA;CAC9D;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;CAC3C;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,oDAItB,OAAO,KAAG;IACX,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAA;IACtB,MAAM,EAAE,WAAW,CAAC,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;CA4J7E,CAAA"}
@@ -51,8 +51,6 @@ export const Examples = ({ config, schemaReader, dependentVirtualModules = [], }
51
51
  const getControlForDiagnostic = (diagnostic) => {
52
52
  if (diagnostic.source === 'examples-scanner') {
53
53
  switch (diagnostic.name) {
54
- case 'unused-default':
55
- return config.examples.diagnostics?.unusedVersions;
56
54
  case 'duplicate-content':
57
55
  return config.examples.diagnostics?.duplicateContent;
58
56
  case 'missing-versions':
@@ -1 +1 @@
1
- {"version":3,"file":"examples.js","sourceRoot":"","sources":["../../../src/vite/plugins/examples.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"examples.js","sourceRoot":"","sources":["../../../src/vite/plugins/examples.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAOjD,eAAO,MAAM,eAAe,mCAAuC,CAAA;AAEnE;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,OAAO,GAAI,sCAGrB;IACD,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAA;IACzB,uBAAuB,EAAE,WAAW,CAAC,UAAU,CAAC,UAAU,EAAE,CAAA;CAC7D;;;CA2GA,CAAA"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAItC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAOjD,eAAO,MAAM,eAAe,mCAAuC,CAAA;AAEnE;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,OAAO,GAAI,sCAGrB;IACD,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAA;IACzB,uBAAuB,EAAE,WAAW,CAAC,UAAU,CAAC,UAAU,EAAE,CAAA;CAC7D;;;CA0JA,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import { Api } from '#api/$';
2
2
  import { Schema } from '#api/schema/$';
3
3
  import { Catalog } from '#lib/catalog/$';
4
+ import { Diagnostic } from '#lib/diagnostic/$';
4
5
  import { ViteReactive } from '#lib/vite-reactive/$';
5
6
  import { createAssetReader } from '#lib/vite-reactive/reactive-asset-plugin';
6
7
  import { ViteVirtual } from '#lib/vite-virtual/$';
@@ -30,7 +31,30 @@ export const Schemas = ({ config, dependentVirtualModules = [], }) => {
30
31
  // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
31
32
  // Self-contained Schema Reader
32
33
  // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
33
- const reader = createAssetReader(() => Schema.loadOrNull(config));
34
+ let lastDiagnostics = [];
35
+ const reader = createAssetReader(() => Schema.loadOrNull(config).pipe(Effect.map((result) => {
36
+ // Store diagnostics for reporting
37
+ if (result?.diagnostics) {
38
+ lastDiagnostics = result.diagnostics;
39
+ }
40
+ return result;
41
+ })));
42
+ // Map diagnostic to its control configuration
43
+ const getControlForDiagnostic = (diagnostic) => {
44
+ if (diagnostic.source === 'schema-augmentations') {
45
+ // All augmentation errors are always enabled with error severity
46
+ return {
47
+ enabled: true,
48
+ dev: { severity: 'error' },
49
+ build: { severity: 'error' },
50
+ };
51
+ }
52
+ return undefined;
53
+ };
54
+ // Report diagnostics
55
+ const reportDiagnostics = (diagnostics, phase = 'dev') => {
56
+ Diagnostic.filterAndReport(diagnostics, getControlForDiagnostic, phase);
57
+ };
34
58
  // Helper to check if a file is a schema file that should trigger regeneration
35
59
  const isSchemaFile = (file) => {
36
60
  if (!config.schema)
@@ -77,7 +101,7 @@ export const Schemas = ({ config, dependentVirtualModules = [], }) => {
77
101
  emit: {
78
102
  // @claude in what case can data be null?
79
103
  serializer: (loadedCatalog) => Effect.gen(function* () {
80
- if (!loadedCatalog.data)
104
+ if (!loadedCatalog?.data)
81
105
  throw new Error('No schema data to serialize');
82
106
  const encoded = yield* Catalog.encode(loadedCatalog.data);
83
107
  return JSON.stringify(encoded, null, 2);
@@ -89,6 +113,14 @@ export const Schemas = ({ config, dependentVirtualModules = [], }) => {
89
113
  isRelevant: isSchemaFile,
90
114
  },
91
115
  dependentVirtualModules,
116
+ hooks: {
117
+ async onDiagnostics(data) {
118
+ // Report augmentation diagnostics
119
+ if (data?.diagnostics) {
120
+ reportDiagnostics(data.diagnostics, 'dev');
121
+ }
122
+ },
123
+ },
92
124
  }),
93
125
  {
94
126
  name: 'polen:schemas-virtual',
@@ -98,6 +130,10 @@ export const Schemas = ({ config, dependentVirtualModules = [], }) => {
98
130
  const debug = debugPolen.sub(`module-project-schema`);
99
131
  debug(`load`, { id: viProjectSchema.id });
100
132
  const schemaResult = await Effect.runPromise(reader.read().pipe(Effect.provide(NodeFileSystem.layer)));
133
+ // Report diagnostics if any
134
+ if (schemaResult?.diagnostics && schemaResult.diagnostics.length > 0) {
135
+ reportDiagnostics(schemaResult.diagnostics, 'dev');
136
+ }
101
137
  if (!schemaResult?.data) {
102
138
  return `export const schemasCatalog = null`;
103
139
  }
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/vite/plugins/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/vite/plugins/schemas.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "polen",
3
- "version": "0.11.0-next.23",
3
+ "version": "0.11.0-next.25",
4
4
  "type": "module",
5
5
  "description": "A framework for delightful GraphQL developer portals",
6
6
  "author": {
@@ -2,7 +2,6 @@ import { DiagnosticDuplicateContent } from '#api/examples/diagnostic/duplicate-c
2
2
  import { DiagnosticInvalidFilename } from '#api/examples/diagnostic/invalid-filename'
3
3
  import { DiagnosticMissingVersions } from '#api/examples/diagnostic/missing-versions'
4
4
  import { DiagnosticUnknownVersion } from '#api/examples/diagnostic/unknown-version'
5
- import { DiagnosticUnusedDefault } from '#api/examples/diagnostic/unused-default'
6
5
  import { DiagnosticValidationError } from '#api/examples/diagnostic/validation-error'
7
6
  import { S } from '#lib/kit-temp/effect'
8
7
 
@@ -11,12 +10,10 @@ export * from './duplicate-content.js'
11
10
  export * from './invalid-filename.js'
12
11
  export * from './missing-versions.js'
13
12
  export * from './unknown-version.js'
14
- export * from './unused-default.js'
15
13
  export * from './validation-error.js'
16
14
  export { validateExamples } from './validator.js'
17
15
 
18
16
  export const Diagnostic = S.Union(
19
- DiagnosticUnusedDefault,
20
17
  DiagnosticDuplicateContent,
21
18
  DiagnosticMissingVersions,
22
19
  DiagnosticInvalidFilename,
@@ -0,0 +1,83 @@
1
+ import { Version } from '#lib/version/$'
2
+ import { HashMap } from 'effect'
3
+ import { describe, expect, test } from 'vitest'
4
+ import * as scanner from './scanner.js'
5
+
6
+ describe('parseExampleFile', () => {
7
+ test.for([
8
+ {
9
+ input: 'get-user.graphql',
10
+ expected: { type: 'unversioned', name: 'get-user', file: 'get-user.graphql' },
11
+ },
12
+ {
13
+ input: 'get-user.1.graphql',
14
+ expected: {
15
+ type: 'versioned',
16
+ name: 'get-user',
17
+ version: Version.decodeSync('1'),
18
+ file: 'get-user.1.graphql',
19
+ },
20
+ },
21
+ {
22
+ input: 'get-user.default.graphql',
23
+ expected: {
24
+ type: 'versioned',
25
+ name: 'get-user',
26
+ version: expect.objectContaining({ _tag: 'VersionCustom', value: 'default' }),
27
+ file: 'get-user.default.graphql',
28
+ },
29
+ },
30
+ ])('parses $input correctly', ({ input, expected }) => {
31
+ expect(scanner.parseExampleFile(input)).toEqual(expected)
32
+ })
33
+ })
34
+
35
+ describe('resolveDefaultFiles', () => {
36
+ const v1 = Version.decodeSync('1')
37
+ const v2 = Version.decodeSync('2')
38
+ const v3 = Version.decodeSync('3')
39
+ const schemaVersions = [v1, v2, v3]
40
+
41
+ test.for([
42
+ {
43
+ name: 'unversioned file alone remains unversioned',
44
+ grouped: new Map([['example', { unversioned: 'example.graphql', versioned: new Map() }]]),
45
+ assertions: (resolved: ReturnType<typeof scanner.resolveDefaultFiles>) => {
46
+ const example = resolved.get('example')!
47
+ expect(example.unversioned).toBe('example.graphql')
48
+ expect(HashMap.size(example.versionDocuments)).toBe(0)
49
+ },
50
+ },
51
+ {
52
+ name: 'unversioned file acts as default when versioned files exist',
53
+ grouped: new Map([['example', {
54
+ unversioned: 'example.graphql',
55
+ versioned: new Map([[v1, 'example.1.graphql']]),
56
+ }]]),
57
+ assertions: (resolved: ReturnType<typeof scanner.resolveDefaultFiles>) => {
58
+ const example = resolved.get('example')!
59
+ expect(example.unversioned).toBeUndefined()
60
+ expect(HashMap.size(example.versionDocuments)).toBe(2)
61
+ expect(HashMap.has(example.versionDocuments, v1)).toBe(true)
62
+
63
+ const entries = [...HashMap.entries(example.versionDocuments)]
64
+ const defaultEntry = entries.find(([_, value]) => value === 'example.graphql')
65
+ expect(defaultEntry).toBeDefined()
66
+ },
67
+ },
68
+ {
69
+ name: 'only versioned files when no unversioned exists',
70
+ grouped: new Map([['example', {
71
+ versioned: new Map([[v1, 'example.1.graphql'], [v2, 'example.2.graphql']]),
72
+ }]]),
73
+ assertions: (resolved: ReturnType<typeof scanner.resolveDefaultFiles>) => {
74
+ const example = resolved.get('example')!
75
+ expect(example.unversioned).toBeUndefined()
76
+ expect(HashMap.size(example.versionDocuments)).toBe(2)
77
+ },
78
+ },
79
+ ])('$name', ({ grouped, assertions }) => {
80
+ const resolved = scanner.resolveDefaultFiles(grouped, schemaVersions)
81
+ assertions(resolved)
82
+ })
83
+ })
@@ -50,19 +50,17 @@ const VERSIONED_FILE_PATTERN = Str.pattern<{ groups: ['name', 'version'] }>(
50
50
  type ParsedExampleFile =
51
51
  | { type: 'unversioned'; name: string; file: string }
52
52
  | { type: 'versioned'; name: string; version: Version.Version; file: string }
53
- | { type: 'default'; name: string; file: string }
54
53
 
55
54
  type GroupedExampleFiles = Map<string, {
56
55
  unversioned?: string
57
56
  versioned: Map<Version.Version, string>
58
- default?: string
59
57
  }>
60
58
 
61
59
  // ============================================================================
62
60
  // Helpers
63
61
  // ============================================================================
64
62
 
65
- const parseExampleFile = (filename: string): ParsedExampleFile => {
63
+ export const parseExampleFile = (filename: string): ParsedExampleFile => {
66
64
  const parsed = Path.parse(filename)
67
65
  const base = parsed.name
68
66
 
@@ -72,11 +70,6 @@ const parseExampleFile = (filename: string): ParsedExampleFile => {
72
70
  if (match) {
73
71
  const { name, version: versionStr } = match.groups
74
72
 
75
- // Handle special 'default' keyword
76
- if (versionStr === 'default') {
77
- return { type: 'default', name, file: filename }
78
- }
79
-
80
73
  const version = Version.decodeSync(versionStr)
81
74
  return { type: 'versioned', name, version, file: filename }
82
75
  }
@@ -106,9 +99,6 @@ const groupExampleFiles = (files: string[]): GroupedExampleFiles => {
106
99
  case 'versioned':
107
100
  group.versioned.set(parsed.version, parsed.file)
108
101
  break
109
- case 'default':
110
- group.default = parsed.file
111
- break
112
102
  }
113
103
  }
114
104
 
@@ -119,7 +109,7 @@ const groupExampleFiles = (files: string[]): GroupedExampleFiles => {
119
109
  * Resolve .default files into proper version coverage.
120
110
  * This erases the .default convention and converts it to semantic version sets.
121
111
  */
122
- const resolveDefaultFiles = (
112
+ export const resolveDefaultFiles = (
123
113
  grouped: GroupedExampleFiles,
124
114
  schemaVersions: Version.Version[],
125
115
  ): Map<string, {
@@ -139,9 +129,9 @@ const resolveDefaultFiles = (
139
129
  versionDocuments = HashMap.set(versionDocuments, version, file)
140
130
  }
141
131
 
142
- // Handle default file if present
143
- if (group.default) {
144
- // Determine which versions the default covers
132
+ // Handle unversioned file
133
+ if (group.unversioned && group.versioned.size > 0) {
134
+ // When both unversioned and versioned exist, use unversioned as default for missing versions
145
135
  const explicitVersions = HashSet.fromIterable(group.versioned.keys())
146
136
  const defaultVersions = schemaVersions.filter(v => !HashSet.has(explicitVersions, v))
147
137
 
@@ -151,14 +141,20 @@ const resolveDefaultFiles = (
151
141
  ? defaultVersions[0]! // Single version
152
142
  : HashSet.fromIterable(defaultVersions) // Version set
153
143
 
154
- versionDocuments = HashMap.set(versionDocuments, defaultCoverage, group.default)
144
+ versionDocuments = HashMap.set(versionDocuments, defaultCoverage, group.unversioned)
155
145
  }
146
+ // Don't add to resolved.unversioned since it's acting as a default
147
+ resolved.set(name, { versionDocuments })
148
+ } else if (group.unversioned) {
149
+ // Only unversioned exists - truly unversioned
150
+ resolved.set(name, {
151
+ versionDocuments,
152
+ unversioned: group.unversioned,
153
+ })
154
+ } else {
155
+ // Only versioned files exist
156
+ resolved.set(name, { versionDocuments })
156
157
  }
157
-
158
- resolved.set(name, {
159
- versionDocuments,
160
- ...(group.unversioned ? { unversioned: group.unversioned } : {}),
161
- })
162
158
  }
163
159
 
164
160
  return resolved