polen 0.10.0-next.14 → 0.10.0-next.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.
Files changed (923) hide show
  1. package/README.md +13 -89
  2. package/build/api/api.d.ts +4 -4
  3. package/build/api/api.js +4 -4
  4. package/build/api/builder/builder.js +1 -9
  5. package/build/api/builder/builder.js.map +1 -1
  6. package/build/api/builder/index.d.ts +1 -1
  7. package/build/api/builder/index.js +1 -1
  8. package/build/api/config/config.d.ts +4 -4
  9. package/build/api/config/config.js +4 -4
  10. package/build/api/config/configurator.d.ts +89 -9
  11. package/build/api/config/configurator.d.ts.map +1 -1
  12. package/build/api/config/configurator.js +5 -5
  13. package/build/api/config/configurator.js.map +1 -1
  14. package/build/api/config/define.d.ts +1 -1
  15. package/build/api/config/index.d.ts +1 -1
  16. package/build/api/config/index.js +1 -1
  17. package/build/api/config/load.d.ts +1 -1
  18. package/build/api/config/load.d.ts.map +1 -1
  19. package/build/api/config/load.js +1 -12
  20. package/build/api/config/load.js.map +1 -1
  21. package/build/api/config/merge.d.ts +1 -1
  22. package/build/api/config/merge.d.ts.map +1 -1
  23. package/build/api/config/merge.js +1 -3
  24. package/build/api/config/merge.js.map +1 -1
  25. package/build/api/config-resolver/config-resolver.d.ts +2 -2
  26. package/build/api/config-resolver/config-resolver.js +2 -2
  27. package/build/api/config-resolver/index.d.ts +1 -1
  28. package/build/api/config-resolver/index.js +1 -1
  29. package/build/api/config-resolver/resolve.d.ts +3 -3
  30. package/build/api/config-resolver/resolve.js +4 -4
  31. package/build/api/config-resolver/vite.d.ts +1 -1
  32. package/build/api/content/$$.d.ts +6 -6
  33. package/build/api/content/$$.js +6 -6
  34. package/build/api/content/$.d.ts +1 -1
  35. package/build/api/content/$.js +1 -1
  36. package/build/api/content/navbar.d.ts +1 -1
  37. package/build/api/content/navbar.js +2 -2
  38. package/build/api/content/page.d.ts +1 -1
  39. package/build/api/content/scan.d.ts +1 -1
  40. package/build/api/content/scan.js +7 -7
  41. package/build/api/content/sidebar.d.ts +5 -5
  42. package/build/api/content/sidebar.d.ts.map +1 -1
  43. package/build/api/content/sidebar.js +14 -14
  44. package/build/api/content/sidebar.js.map +1 -1
  45. package/build/api/index.d.ts +1 -1
  46. package/build/api/index.js +1 -1
  47. package/build/api/schema/data-sources/data-sources.d.ts +3 -3
  48. package/build/api/schema/data-sources/data-sources.js +3 -3
  49. package/build/api/schema/data-sources/index.d.ts +1 -1
  50. package/build/api/schema/data-sources/index.js +1 -1
  51. package/build/api/schema/data-sources/memory/memory.d.ts +36 -1
  52. package/build/api/schema/data-sources/memory/memory.d.ts.map +1 -1
  53. package/build/api/schema/data-sources/memory/memory.js.map +1 -1
  54. package/build/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.js +0 -1
  55. package/build/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.js.map +1 -1
  56. package/build/api/schema/data-sources/schema-directory/file-name-expression/index.d.ts +1 -1
  57. package/build/api/schema/data-sources/schema-directory/file-name-expression/index.js +1 -1
  58. package/build/api/schema/data-sources/schema-directory/schema-directory.d.ts +30 -1
  59. package/build/api/schema/data-sources/schema-directory/schema-directory.d.ts.map +1 -1
  60. package/build/api/schema/data-sources/schema-directory/schema-directory.js +1 -1
  61. package/build/api/schema/data-sources/schema-directory/schema-directory.js.map +1 -1
  62. package/build/api/schema/data-sources/schema-file/schema-file.d.ts +20 -1
  63. package/build/api/schema/data-sources/schema-file/schema-file.d.ts.map +1 -1
  64. package/build/api/schema/data-sources/schema-file/schema-file.js.map +1 -1
  65. package/build/api/schema/index.d.ts +1 -1
  66. package/build/api/schema/index.js +1 -1
  67. package/build/api/schema/read.d.ts +43 -2
  68. package/build/api/schema/read.d.ts.map +1 -1
  69. package/build/api/schema/read.js +1 -1
  70. package/build/api/schema/read.js.map +1 -1
  71. package/build/api/schema/schema.d.ts +2 -2
  72. package/build/api/schema/schema.js +2 -2
  73. package/build/api/schema-augmentation/augmentations/description.d.ts +1 -1
  74. package/build/api/schema-augmentation/augmentations/description.js +1 -1
  75. package/build/api/schema-augmentation/index.d.ts +1 -1
  76. package/build/api/schema-augmentation/index.js +1 -1
  77. package/build/api/schema-augmentation/schema-augmentation.d.ts +1 -1
  78. package/build/api/schema-augmentation/schema-augmentation.d.ts.map +1 -1
  79. package/build/api/schema-augmentation/schema-augmentation.js +1 -2
  80. package/build/api/schema-augmentation/schema-augmentation.js.map +1 -1
  81. package/build/api/server/report-error.js +7 -5
  82. package/build/api/server/report-error.js.map +1 -1
  83. package/build/api/singletons/markdown/index.d.ts +1 -1
  84. package/build/api/singletons/markdown/index.js +1 -1
  85. package/build/api/singletons/markdown/markdown.d.ts.map +1 -1
  86. package/build/api/singletons/markdown/markdown.js +4 -22
  87. package/build/api/singletons/markdown/markdown.js.map +1 -1
  88. package/build/api/static/index.d.ts +1 -1
  89. package/build/api/static/index.js +1 -1
  90. package/build/api/static/manifest.js +3 -3
  91. package/build/api/static/rebase.d.ts +2 -2
  92. package/build/api/static/rebase.js +8 -8
  93. package/build/api/static/rebase.js.map +1 -1
  94. package/build/api/static/static.d.ts +2 -2
  95. package/build/api/static/static.js +2 -2
  96. package/build/api/utils/asset-url/index.d.ts +1 -1
  97. package/build/api/utils/asset-url/index.js +1 -1
  98. package/build/api/vite/logger.js +5 -5
  99. package/build/api/vite/plugins/{branding/index.d.ts → branding.d.ts} +1 -1
  100. package/build/api/vite/plugins/branding.d.ts.map +1 -0
  101. package/build/api/vite/plugins/{branding/index.js → branding.js} +9 -9
  102. package/build/api/vite/plugins/branding.js.map +1 -0
  103. package/build/api/vite/plugins/build.d.ts.map +1 -1
  104. package/build/api/vite/plugins/build.js +12 -22
  105. package/build/api/vite/plugins/build.js.map +1 -1
  106. package/build/api/vite/plugins/core.d.ts +2 -0
  107. package/build/api/vite/plugins/core.d.ts.map +1 -1
  108. package/build/api/vite/plugins/core.js +33 -38
  109. package/build/api/vite/plugins/core.js.map +1 -1
  110. package/build/api/vite/plugins/main.d.ts.map +1 -1
  111. package/build/api/vite/plugins/main.js +25 -23
  112. package/build/api/vite/plugins/main.js.map +1 -1
  113. package/build/api/vite/plugins/pages.d.ts +3 -5
  114. package/build/api/vite/plugins/pages.d.ts.map +1 -1
  115. package/build/api/vite/plugins/pages.js +15 -42
  116. package/build/api/vite/plugins/pages.js.map +1 -1
  117. package/build/api/vite/plugins/serve.d.ts.map +1 -1
  118. package/build/api/vite/plugins/serve.js +34 -25
  119. package/build/api/vite/plugins/serve.js.map +1 -1
  120. package/build/cli/commands/build.js +0 -1
  121. package/build/cli/commands/build.js.map +1 -1
  122. package/build/cli/commands/config/$default.d.ts +2 -0
  123. package/build/cli/commands/config/$default.d.ts.map +1 -0
  124. package/build/cli/commands/config/$default.js +7 -0
  125. package/build/cli/commands/config/$default.js.map +1 -0
  126. package/build/cli/commands/config/create.d.ts +2 -0
  127. package/build/cli/commands/config/create.d.ts.map +1 -0
  128. package/build/cli/commands/config/create.js +21 -0
  129. package/build/cli/commands/config/create.js.map +1 -0
  130. package/build/cli/commands/config.d.ts +3 -0
  131. package/build/cli/commands/config.d.ts.map +1 -0
  132. package/build/cli/commands/config.js +5 -0
  133. package/build/cli/commands/config.js.map +1 -0
  134. package/build/cli/commands/create.js +2 -3
  135. package/build/cli/commands/create.js.map +1 -1
  136. package/build/cli/commands/dev.js +0 -1
  137. package/build/cli/commands/dev.js.map +1 -1
  138. package/build/cli/commands/open.js +0 -1
  139. package/build/cli/commands/open.js.map +1 -1
  140. package/build/cli/commands/static/rebase.js +0 -1
  141. package/build/cli/commands/static/rebase.js.map +1 -1
  142. package/build/cli/commands/static.js +1 -1
  143. package/build/dep/graphql-inspector/index.d.ts +1 -1
  144. package/build/dep/graphql-inspector/index.js +1 -1
  145. package/build/dep/hono/hono.d.ts +1 -1
  146. package/build/dep/hono/hono.js +1 -1
  147. package/build/dep/hono/index.d.ts +1 -1
  148. package/build/dep/hono/index.js +1 -1
  149. package/build/dep/superjson/index.d.ts +1 -1
  150. package/build/dep/superjson/index.js +1 -1
  151. package/build/dep/tiny-globby/index.d.ts +1 -1
  152. package/build/dep/tiny-globby/index.js +1 -1
  153. package/build/dep/vite/index.d.ts +1 -1
  154. package/build/dep/vite/index.js +1 -1
  155. package/build/exports/components.d.ts +3 -3
  156. package/build/exports/components.d.ts.map +1 -1
  157. package/build/exports/components.js +3 -3
  158. package/build/exports/components.js.map +1 -1
  159. package/build/exports/index.d.ts +1 -1
  160. package/build/exports/index.js +1 -1
  161. package/build/lib/apple-touch-icon/index.d.ts +1 -1
  162. package/build/lib/apple-touch-icon/index.js +1 -1
  163. package/build/lib/errors/ContextualAggregateError.d.ts +1 -1
  164. package/build/lib/errors/ContextualAggregateError.js +1 -1
  165. package/build/lib/errors/ContextualError.d.ts +1 -1
  166. package/build/lib/errors/ErrorInternal.d.ts +2 -2
  167. package/build/lib/errors/ErrorInternal.js +1 -1
  168. package/build/lib/errors/errors.d.ts +4 -4
  169. package/build/lib/errors/errors.js +4 -4
  170. package/build/lib/errors/index.d.ts +1 -1
  171. package/build/lib/errors/index.js +1 -1
  172. package/build/lib/errors/types.d.ts +1 -1
  173. package/build/lib/extensible-data/index.d.ts +1 -1
  174. package/build/lib/extensible-data/index.js +1 -1
  175. package/build/lib/favicon/index.d.ts +1 -1
  176. package/build/lib/favicon/index.js +1 -1
  177. package/build/lib/file-router/diagnostic-reporter.d.ts +1 -1
  178. package/build/lib/file-router/diagnostic-reporter.js +8 -8
  179. package/build/lib/file-router/file-router.d.ts +3 -3
  180. package/build/lib/file-router/file-router.js +3 -3
  181. package/build/lib/file-router/index.d.ts +1 -1
  182. package/build/lib/file-router/index.js +1 -1
  183. package/build/lib/file-router/linter.d.ts +5 -5
  184. package/build/lib/file-router/linter.js +7 -7
  185. package/build/lib/file-router/scan.d.ts +2 -2
  186. package/build/lib/file-router/scan.js +3 -3
  187. package/build/lib/grafaid/_Nodes.d.ts +1 -1
  188. package/build/lib/grafaid/_Nodes.js +1 -1
  189. package/build/lib/grafaid/document/OperationTypeNode.d.ts +1 -1
  190. package/build/lib/grafaid/document/OperationTypeNode.js +1 -1
  191. package/build/lib/grafaid/document/kind.d.ts +1 -1
  192. package/build/lib/grafaid/document/kind.js +1 -1
  193. package/build/lib/grafaid/document.d.ts +4 -4
  194. package/build/lib/grafaid/document.js +6 -6
  195. package/build/lib/grafaid/grafaid.d.ts +4 -4
  196. package/build/lib/grafaid/grafaid.js +4 -4
  197. package/build/lib/grafaid/graphql.d.ts +2 -2
  198. package/build/lib/grafaid/graphql.js +2 -2
  199. package/build/lib/grafaid/http/__.d.ts +1 -1
  200. package/build/lib/grafaid/http/__.js +1 -1
  201. package/build/lib/grafaid/http/http.js +1 -1
  202. package/build/lib/grafaid/index.d.ts +1 -1
  203. package/build/lib/grafaid/index.js +1 -1
  204. package/build/lib/grafaid/schema/KindMap/_.d.ts +3 -3
  205. package/build/lib/grafaid/schema/KindMap/_.js +4 -4
  206. package/build/lib/grafaid/schema/KindMap/__.d.ts +2 -2
  207. package/build/lib/grafaid/schema/KindMap/__.js +1 -1
  208. package/build/lib/grafaid/schema/OperationType/__.d.ts +2 -2
  209. package/build/lib/grafaid/schema/OperationType/__.js +1 -1
  210. package/build/lib/grafaid/schema/RootDetails.d.ts +3 -3
  211. package/build/lib/grafaid/schema/RootDetails.js +2 -2
  212. package/build/lib/grafaid/schema/RootTypeMap.d.ts +2 -2
  213. package/build/lib/grafaid/schema/RootTypeMap.js +2 -2
  214. package/build/lib/grafaid/schema/nodes-like.d.ts +1 -1
  215. package/build/lib/grafaid/schema/nodes-like.js +1 -1
  216. package/build/lib/grafaid/schema/schema.d.ts +14 -14
  217. package/build/lib/grafaid/schema/schema.js +15 -15
  218. package/build/lib/grafaid/schema/type-kind-name.d.ts +1 -1
  219. package/build/lib/grafaid/schema/type-kind-name.js +1 -1
  220. package/build/lib/grafaid/schema/type.d.ts +1 -1
  221. package/build/lib/grafaid/schema/typeGuards.js +1 -1
  222. package/build/lib/grafaid-old/grafaid.d.ts +1 -1
  223. package/build/lib/grafaid-old/grafaid.js +1 -1
  224. package/build/lib/grafaid-old/index.d.ts +1 -1
  225. package/build/lib/grafaid-old/index.js +1 -1
  226. package/build/lib/graphql-change/index.d.ts +1 -1
  227. package/build/lib/graphql-change/index.js +1 -1
  228. package/build/lib/graphql-changeset/index.d.ts +1 -1
  229. package/build/lib/graphql-changeset/index.js +1 -1
  230. package/build/lib/graphql-document/$$.d.ts +4 -4
  231. package/build/lib/graphql-document/$$.js +4 -4
  232. package/build/lib/graphql-document/$.d.ts +1 -1
  233. package/build/lib/graphql-document/$.js +1 -1
  234. package/build/lib/graphql-document/analysis.d.ts +1 -1
  235. package/build/lib/graphql-document/analysis.js +46 -46
  236. package/build/lib/graphql-document/components/GraphQLDocument.d.ts.map +1 -1
  237. package/build/lib/graphql-document/components/GraphQLDocument.js +28 -21
  238. package/build/lib/graphql-document/components/GraphQLDocument.js.map +1 -1
  239. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.d.ts +3 -3
  240. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.d.ts.map +1 -1
  241. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.js +14 -30
  242. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.js.map +1 -1
  243. package/build/lib/graphql-document/components/GraphQLIdentifierPopover.d.ts +2 -2
  244. package/build/lib/graphql-document/components/GraphQLIdentifierPopover.d.ts.map +1 -1
  245. package/build/lib/graphql-document/components/GraphQLIdentifierPopover.js +26 -24
  246. package/build/lib/graphql-document/components/GraphQLIdentifierPopover.js.map +1 -1
  247. package/build/lib/graphql-document/components/IdentifierLink.d.ts +3 -3
  248. package/build/lib/graphql-document/components/IdentifierLink.js +22 -22
  249. package/build/lib/graphql-document/components/IdentifierLink.js.map +1 -1
  250. package/build/lib/graphql-document/components/graphql-document-styles.d.ts +1 -1
  251. package/build/lib/graphql-document/components/graphql-document-styles.d.ts.map +1 -1
  252. package/build/lib/graphql-document/components/graphql-document-styles.js +0 -23
  253. package/build/lib/graphql-document/components/graphql-document-styles.js.map +1 -1
  254. package/build/lib/graphql-document/components/index.d.ts +4 -5
  255. package/build/lib/graphql-document/components/index.d.ts.map +1 -1
  256. package/build/lib/graphql-document/components/index.js +4 -5
  257. package/build/lib/graphql-document/components/index.js.map +1 -1
  258. package/build/lib/graphql-document/example.d.ts +1 -1
  259. package/build/lib/graphql-document/example.js +36 -36
  260. package/build/lib/graphql-document/example.js.map +1 -1
  261. package/build/lib/graphql-document/graphql-document.d.ts +9 -9
  262. package/build/lib/graphql-document/graphql-document.d.ts.map +1 -1
  263. package/build/lib/graphql-document/graphql-document.js +9 -9
  264. package/build/lib/graphql-document/graphql-document.js.map +1 -1
  265. package/build/lib/graphql-document/positioning-simple.d.ts +1 -1
  266. package/build/lib/graphql-document/positioning-simple.js +31 -31
  267. package/build/lib/graphql-document/schema-integration.d.ts +5 -5
  268. package/build/lib/graphql-document/schema-integration.d.ts.map +1 -1
  269. package/build/lib/graphql-document/schema-integration.js +22 -22
  270. package/build/lib/graphql-document/schema-integration.js.map +1 -1
  271. package/build/lib/graphql-document/types.d.ts +4 -4
  272. package/build/lib/graphql-schema-loader/index.d.ts +1 -1
  273. package/build/lib/graphql-schema-loader/index.js +1 -1
  274. package/build/lib/helpers.js +1 -1
  275. package/build/lib/hono-aid/index.d.ts +1 -1
  276. package/build/lib/hono-aid/index.js +1 -1
  277. package/build/lib/html-utils/html-transformer.d.ts +4 -0
  278. package/build/lib/html-utils/html-transformer.d.ts.map +1 -0
  279. package/build/lib/html-utils/html-transformer.js +3 -0
  280. package/build/lib/html-utils/html-transformer.js.map +1 -0
  281. package/build/lib/html-utils/inject-global-data.d.ts +41 -0
  282. package/build/lib/html-utils/inject-global-data.d.ts.map +1 -0
  283. package/build/lib/html-utils/inject-global-data.js +65 -0
  284. package/build/lib/html-utils/inject-global-data.js.map +1 -0
  285. package/build/lib/kit-temp.d.ts +66 -2
  286. package/build/lib/kit-temp.d.ts.map +1 -1
  287. package/build/lib/kit-temp.js +37 -7
  288. package/build/lib/kit-temp.js.map +1 -1
  289. package/build/lib/kit-temp.test-d.js +16 -16
  290. package/build/lib/kit-temp.test-d.js.map +1 -1
  291. package/build/lib/mask/$$.d.ts +2 -2
  292. package/build/lib/mask/$$.js +2 -2
  293. package/build/lib/mask/$.d.ts +1 -1
  294. package/build/lib/mask/$.js +1 -1
  295. package/build/lib/mask/apply.d.ts +9 -9
  296. package/build/lib/mask/apply.d.ts.map +1 -1
  297. package/build/lib/mask/apply.js +3 -3
  298. package/build/lib/mask/apply.js.map +1 -1
  299. package/build/lib/mask/mask.d.ts +7 -7
  300. package/build/lib/mask/mask.d.ts.map +1 -1
  301. package/build/lib/mask/mask.js +12 -12
  302. package/build/lib/mask/mask.test-d.js +14 -14
  303. package/build/lib/mask/mask.test-d.js.map +1 -1
  304. package/build/lib/mutation-type.js +3 -3
  305. package/build/lib/path-map/$$.d.ts +7 -0
  306. package/build/lib/path-map/$$.d.ts.map +1 -0
  307. package/build/lib/path-map/$$.js +7 -0
  308. package/build/lib/path-map/$$.js.map +1 -0
  309. package/build/lib/path-map/$.d.ts +7 -0
  310. package/build/lib/path-map/$.d.ts.map +1 -0
  311. package/build/lib/path-map/$.js +7 -0
  312. package/build/lib/path-map/$.js.map +1 -0
  313. package/build/lib/path-map/path-map.d.ts +110 -0
  314. package/build/lib/path-map/path-map.d.ts.map +1 -0
  315. package/build/lib/path-map/path-map.js +126 -0
  316. package/build/lib/path-map/path-map.js.map +1 -0
  317. package/build/lib/react-router-aid/index.d.ts +1 -1
  318. package/build/lib/react-router-aid/index.js +1 -1
  319. package/build/lib/react-router-aid/react-router-aid.d.ts +1 -1
  320. package/build/lib/react-router-aid/react-router-aid.js +1 -1
  321. package/build/lib/react-router-loader/react-router-loader.d.ts.map +1 -1
  322. package/build/lib/react-router-loader/react-router-loader.js +1 -4
  323. package/build/lib/react-router-loader/react-router-loader.js.map +1 -1
  324. package/build/lib/stack-processor/index.d.ts +1 -1
  325. package/build/lib/stack-processor/index.js +1 -1
  326. package/build/lib/stack-processor/stack-processor.d.ts.map +1 -1
  327. package/build/lib/stack-processor/stack-processor.js +0 -1
  328. package/build/lib/stack-processor/stack-processor.js.map +1 -1
  329. package/build/lib/superjson-codec/codecs/graphql-schema.d.ts +1 -1
  330. package/build/lib/superjson-codec/codecs/graphql-schema.js +1 -1
  331. package/build/lib/superjson-codec/exports.d.ts +2 -2
  332. package/build/lib/superjson-codec/exports.js +2 -2
  333. package/build/lib/superjson-codec/index.d.ts +1 -1
  334. package/build/lib/superjson-codec/index.js +1 -1
  335. package/build/lib/task/$$.d.ts +2 -2
  336. package/build/lib/task/$$.js +2 -2
  337. package/build/lib/task/$.d.ts +1 -1
  338. package/build/lib/task/$.js +1 -1
  339. package/build/lib/task/report.d.ts +1 -1
  340. package/build/lib/task/task.d.ts +1 -1
  341. package/build/lib/task/task.js +2 -2
  342. package/build/lib/theme/$.d.ts +2 -0
  343. package/build/lib/theme/$.d.ts.map +1 -0
  344. package/build/lib/theme/$.js +3 -0
  345. package/build/lib/theme/$.js.map +1 -0
  346. package/build/lib/theme/theme.d.ts +68 -0
  347. package/build/lib/theme/theme.d.ts.map +1 -0
  348. package/build/lib/theme/theme.js +123 -0
  349. package/build/lib/theme/theme.js.map +1 -0
  350. package/build/lib/vite-plugin-json/index.d.ts +1 -1
  351. package/build/lib/vite-plugin-json/index.js +1 -1
  352. package/build/lib/vite-plugin-json/vite-plugin-json.js +3 -4
  353. package/build/lib/vite-plugin-json/vite-plugin-json.js.map +1 -1
  354. package/build/lib/vite-plugin-mdx/index.d.ts +1 -1
  355. package/build/lib/vite-plugin-mdx/index.js +1 -1
  356. package/build/lib/vite-plugin-mdx/vite-plugin-mdx.d.ts +1 -1
  357. package/build/lib/vite-plugin-mdx/vite-plugin-mdx.d.ts.map +1 -1
  358. package/build/lib/vite-plugin-mdx/vite-plugin-mdx.js +2 -6
  359. package/build/lib/vite-plugin-mdx/vite-plugin-mdx.js.map +1 -1
  360. package/build/lib/vite-plugin-reactive-data/index.d.ts +1 -1
  361. package/build/lib/vite-plugin-reactive-data/index.js +1 -1
  362. package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.d.ts +1 -1
  363. package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.d.ts.map +1 -1
  364. package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.js +12 -14
  365. package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.js.map +1 -1
  366. package/build/lib/vite-plugins/index.d.ts +1 -1
  367. package/build/lib/vite-plugins/index.js +1 -1
  368. package/build/lib/vite-plugins/vite-plugins.d.ts +1 -1
  369. package/build/lib/vite-plugins/vite-plugins.js +1 -1
  370. package/build/lib/vite-virtual/identified-loader.d.ts +2 -2
  371. package/build/lib/vite-virtual/identified-loader.js +2 -2
  372. package/build/lib/vite-virtual/identifier.js +1 -1
  373. package/build/lib/vite-virtual/index.d.ts +1 -1
  374. package/build/lib/vite-virtual/index.js +1 -1
  375. package/build/lib/vite-virtual/vite-virtual.d.ts +3 -3
  376. package/build/lib/vite-virtual/vite-virtual.js +3 -3
  377. package/build/package-paths.d.ts +18 -6
  378. package/build/package-paths.d.ts.map +1 -1
  379. package/build/package-paths.js +19 -6
  380. package/build/package-paths.js.map +1 -1
  381. package/build/project-data.d.ts +3 -1
  382. package/build/project-data.d.ts.map +1 -1
  383. package/build/sandbox.js +9 -9
  384. package/build/template/components/ArgumentList.js +1 -1
  385. package/build/template/components/ArgumentList.js.map +1 -1
  386. package/build/template/components/ArgumentListAnnotation.js +2 -2
  387. package/build/template/components/ArgumentListAnnotation.js.map +1 -1
  388. package/build/template/components/Changelog.d.ts +1 -1
  389. package/build/template/components/Changelog.js +1 -1
  390. package/build/template/components/CodeBlock.d.ts +0 -8
  391. package/build/template/components/CodeBlock.d.ts.map +1 -1
  392. package/build/template/components/CodeBlock.js +3 -38
  393. package/build/template/components/CodeBlock.js.map +1 -1
  394. package/build/template/components/CodeBlockEnhancer.js +41 -41
  395. package/build/template/components/CodeBlockEnhancer.js.map +1 -1
  396. package/build/template/components/DeprecationReason.js +1 -1
  397. package/build/template/components/DeprecationReason.js.map +1 -1
  398. package/build/template/components/Description.js +1 -1
  399. package/build/template/components/Description.js.map +1 -1
  400. package/build/template/components/Field.js +4 -4
  401. package/build/template/components/Field.js.map +1 -1
  402. package/build/template/components/FieldList.js +1 -1
  403. package/build/template/components/FieldList.js.map +1 -1
  404. package/build/template/components/FieldListSection.js +1 -1
  405. package/build/template/components/FieldListSection.js.map +1 -1
  406. package/build/template/components/HamburgerMenu.js +11 -11
  407. package/build/template/components/HamburgerMenu.js.map +1 -1
  408. package/build/template/components/Link.d.ts +2 -2
  409. package/build/template/components/Link.d.ts.map +1 -1
  410. package/build/template/components/Link.js +17 -17
  411. package/build/template/components/Link.js.map +1 -1
  412. package/build/template/components/Logo.js +4 -4
  413. package/build/template/components/MDXComponents.d.ts +0 -1
  414. package/build/template/components/MDXComponents.d.ts.map +1 -1
  415. package/build/template/components/MDXComponents.js +1 -59
  416. package/build/template/components/MDXComponents.js.map +1 -1
  417. package/build/template/components/NamedType.js +2 -2
  418. package/build/template/components/NamedType.js.map +1 -1
  419. package/build/template/components/TestComponent.js +2 -2
  420. package/build/template/components/Texts/MinorHeading.js +4 -4
  421. package/build/template/components/Texts/index.d.ts +1 -1
  422. package/build/template/components/Texts/index.js +1 -1
  423. package/build/template/components/Texts/texts.d.ts +1 -1
  424. package/build/template/components/Texts/texts.d.ts.map +1 -1
  425. package/build/template/components/Texts/texts.js +1 -1
  426. package/build/template/components/Texts/texts.js.map +1 -1
  427. package/build/template/components/ThemeToggle.d.ts.map +1 -1
  428. package/build/template/components/ThemeToggle.js +25 -4
  429. package/build/template/components/ThemeToggle.js.map +1 -1
  430. package/build/template/components/TypeAnnotation.js +1 -1
  431. package/build/template/components/TypeAnnotation.js.map +1 -1
  432. package/build/template/components/TypeFieldsLinkList.js +1 -1
  433. package/build/template/components/TypeFieldsLinkList.js.map +1 -1
  434. package/build/template/components/TypeIndex.js +1 -1
  435. package/build/template/components/TypeIndex.js.map +1 -1
  436. package/build/template/components/content/$$.d.ts +1 -1
  437. package/build/template/components/content/$$.d.ts.map +1 -1
  438. package/build/template/components/content/$$.js +1 -1
  439. package/build/template/components/content/$$.js.map +1 -1
  440. package/build/template/components/content/GraphQLDocumentWithSchema.d.ts +2 -2
  441. package/build/template/components/content/GraphQLDocumentWithSchema.d.ts.map +1 -1
  442. package/build/template/components/content/GraphQLDocumentWithSchema.js +1 -1
  443. package/build/template/components/content/GraphQLDocumentWithSchema.js.map +1 -1
  444. package/build/template/components/content/GraphQLDocumentWrapper.d.ts +2 -2
  445. package/build/template/components/content/GraphQLDocumentWrapper.d.ts.map +1 -1
  446. package/build/template/components/content/GraphQLDocumentWrapper.js +8 -23
  447. package/build/template/components/content/GraphQLDocumentWrapper.js.map +1 -1
  448. package/build/template/components/graphql/graphql.d.ts +2 -2
  449. package/build/template/components/graphql/graphql.d.ts.map +1 -1
  450. package/build/template/components/graphql/graphql.js +2 -2
  451. package/build/template/components/graphql/graphql.js.map +1 -1
  452. package/build/template/components/graphql/index.d.ts +1 -1
  453. package/build/template/components/graphql/index.d.ts.map +1 -1
  454. package/build/template/components/graphql/index.js +1 -1
  455. package/build/template/components/graphql/index.js.map +1 -1
  456. package/build/template/components/graphql/type-kind-icon.d.ts.map +1 -1
  457. package/build/template/components/graphql/type-kind-icon.js +1 -2
  458. package/build/template/components/graphql/type-kind-icon.js.map +1 -1
  459. package/build/template/components/graphql/type-link.js +3 -3
  460. package/build/template/components/graphql/type-link.js.map +1 -1
  461. package/build/template/components/sidebar/Sidebar.js +1 -1
  462. package/build/template/components/sidebar/Sidebar.js.map +1 -1
  463. package/build/template/components/sidebar/SidebarItem.js +4 -4
  464. package/build/template/components/sidebar/SidebarItem.js.map +1 -1
  465. package/build/template/constants.d.ts +17 -0
  466. package/build/template/constants.d.ts.map +1 -0
  467. package/build/template/constants.js +11 -0
  468. package/build/template/constants.js.map +1 -0
  469. package/build/template/contexts/ThemeContext.d.ts +3 -1
  470. package/build/template/contexts/ThemeContext.d.ts.map +1 -1
  471. package/build/template/contexts/ThemeContext.js +50 -22
  472. package/build/template/contexts/ThemeContext.js.map +1 -1
  473. package/build/template/entry.client.js +6 -2
  474. package/build/template/entry.client.js.map +1 -1
  475. package/build/template/routes/changelog.d.ts +1 -1
  476. package/build/template/routes/changelog.js +1 -1
  477. package/build/template/routes/changelog.js.map +1 -1
  478. package/build/template/routes/reference.$type.$field.js +2 -2
  479. package/build/template/routes/reference.$type.$field.js.map +1 -1
  480. package/build/template/routes/reference.$type.js +2 -2
  481. package/build/template/routes/reference.$type.js.map +1 -1
  482. package/build/template/routes/reference.js +2 -2
  483. package/build/template/routes/reference.js.map +1 -1
  484. package/build/template/routes/root.d.ts.map +1 -1
  485. package/build/template/routes/root.js +29 -26
  486. package/build/template/routes/root.js.map +1 -1
  487. package/build/template/routes.js +1 -1
  488. package/build/template/routes.js.map +1 -1
  489. package/build/template/server/app.d.ts +1 -1
  490. package/build/template/server/app.d.ts.map +1 -1
  491. package/build/template/server/app.js +17 -8
  492. package/build/template/server/app.js.map +1 -1
  493. package/build/template/server/create-page-html-response.d.ts +2 -1
  494. package/build/template/server/create-page-html-response.d.ts.map +1 -1
  495. package/build/template/server/create-page-html-response.js +34 -5
  496. package/build/template/server/create-page-html-response.js.map +1 -1
  497. package/build/template/server/main.js +3 -3
  498. package/build/template/server/middleware/page.d.ts +1 -1
  499. package/build/template/server/middleware/page.d.ts.map +1 -1
  500. package/build/template/server/middleware/page.js +3 -3
  501. package/build/template/server/middleware/page.js.map +1 -1
  502. package/build/template/server/ssg/generate.d.ts.map +1 -1
  503. package/build/template/server/ssg/generate.js +17 -7
  504. package/build/template/server/ssg/generate.js.map +1 -1
  505. package/build/template/server/ssg/get-route-paths.js +1 -1
  506. package/build/template/server/ssg/get-route-paths.js.map +1 -1
  507. package/build/template/server/transformers/inject-polen-data.d.ts +6 -0
  508. package/build/template/server/transformers/inject-polen-data.d.ts.map +1 -0
  509. package/build/template/server/transformers/inject-polen-data.js +28 -0
  510. package/build/template/server/transformers/inject-polen-data.js.map +1 -0
  511. package/build/template/server/transformers/inject-theme-init.d.ts +6 -0
  512. package/build/template/server/transformers/inject-theme-init.d.ts.map +1 -0
  513. package/build/template/server/transformers/inject-theme-init.js +29 -0
  514. package/build/template/server/transformers/inject-theme-init.js.map +1 -0
  515. package/build/template/server/view.js +1 -1
  516. package/build/template/server/view.js.map +1 -1
  517. package/package.json +31 -77
  518. package/src/api/api.ts +4 -4
  519. package/src/api/builder/index.ts +1 -1
  520. package/src/api/config/config.ts +4 -4
  521. package/src/api/config/configurator.ts +94 -15
  522. package/src/api/config/define.ts +1 -1
  523. package/src/api/config/index.ts +1 -1
  524. package/src/api/config/load.ts +1 -4
  525. package/src/api/config/merge.ts +1 -2
  526. package/src/api/config-resolver/config-resolver.ts +2 -2
  527. package/src/api/config-resolver/index.ts +1 -1
  528. package/src/api/config-resolver/resolve.ts +4 -4
  529. package/src/api/config-resolver/vite.ts +1 -1
  530. package/src/api/content/$$.ts +6 -6
  531. package/src/api/content/$.test.ts +1 -1
  532. package/src/api/content/$.ts +1 -1
  533. package/src/api/content/navbar.test.ts +2 -2
  534. package/src/api/content/navbar.ts +3 -3
  535. package/src/api/content/page.ts +1 -1
  536. package/src/api/content/scan.ts +8 -8
  537. package/src/api/content/sidebar.test.ts +3 -3
  538. package/src/api/content/sidebar.ts +20 -20
  539. package/src/api/index.ts +1 -1
  540. package/src/api/schema/data-sources/data-sources.ts +3 -3
  541. package/src/api/schema/data-sources/index.ts +1 -1
  542. package/src/api/schema/data-sources/memory/memory.ts +36 -1
  543. package/src/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.ts +0 -1
  544. package/src/api/schema/data-sources/schema-directory/file-name-expression/index.ts +1 -1
  545. package/src/api/schema/data-sources/schema-directory/schema-directory.ts +31 -2
  546. package/src/api/schema/data-sources/schema-file/schema-file.ts +20 -1
  547. package/src/api/schema/index.ts +1 -1
  548. package/src/api/schema/read.ts +43 -2
  549. package/src/api/schema/schema.ts +2 -2
  550. package/src/api/schema-augmentation/augmentations/description.ts +2 -2
  551. package/src/api/schema-augmentation/index.ts +1 -1
  552. package/src/api/schema-augmentation/schema-augmentation.ts +1 -2
  553. package/src/api/server/report-error.ts +7 -5
  554. package/src/api/singletons/markdown/index.ts +1 -1
  555. package/src/api/singletons/markdown/markdown.test.ts +27 -30
  556. package/src/api/singletons/markdown/markdown.ts +4 -23
  557. package/src/api/static/index.ts +1 -1
  558. package/src/api/static/manifest.test.ts +1 -1
  559. package/src/api/static/manifest.ts +3 -3
  560. package/src/api/static/rebase.test.ts +2 -2
  561. package/src/api/static/rebase.ts +11 -11
  562. package/src/api/static/static.ts +2 -2
  563. package/src/api/utils/asset-url/asset-url.test.ts +1 -1
  564. package/src/api/utils/asset-url/index.ts +1 -1
  565. package/src/api/vite/logger.ts +5 -5
  566. package/src/api/vite/plugins/{branding/index.ts → branding.ts} +9 -9
  567. package/src/api/vite/plugins/build.ts +11 -13
  568. package/src/api/vite/plugins/core.ts +37 -40
  569. package/src/api/vite/plugins/main.ts +25 -22
  570. package/src/api/vite/plugins/pages.ts +17 -52
  571. package/src/api/vite/plugins/serve.ts +36 -26
  572. package/src/cli/commands/build.ts +0 -1
  573. package/src/cli/commands/config/$default.ts +7 -0
  574. package/src/cli/commands/config/create.ts +25 -0
  575. package/src/cli/commands/config.ts +6 -0
  576. package/src/cli/commands/create.ts +2 -3
  577. package/src/cli/commands/dev.ts +0 -1
  578. package/src/cli/commands/open.ts +0 -1
  579. package/src/cli/commands/static/rebase.ts +0 -1
  580. package/src/cli/commands/static.ts +1 -1
  581. package/src/dep/graphql-inspector/index.ts +1 -1
  582. package/src/dep/hono/hono.ts +1 -1
  583. package/src/dep/hono/index.ts +1 -1
  584. package/src/dep/superjson/index.ts +1 -1
  585. package/src/dep/tiny-globby/index.ts +1 -1
  586. package/src/dep/vite/index.ts +1 -1
  587. package/src/exports/components.ts +3 -3
  588. package/src/exports/index.ts +1 -1
  589. package/src/lib/apple-touch-icon/index.ts +1 -1
  590. package/src/lib/errors/ContextualAggregateError.ts +1 -1
  591. package/src/lib/errors/ContextualError.ts +1 -1
  592. package/src/lib/errors/ErrorInternal.ts +2 -2
  593. package/src/lib/errors/errors.ts +4 -4
  594. package/src/lib/errors/index.ts +1 -1
  595. package/src/lib/errors/types.ts +1 -1
  596. package/src/lib/extensible-data/index.ts +1 -1
  597. package/src/lib/favicon/index.ts +1 -1
  598. package/src/lib/file-router/diagnostic-reporter.ts +9 -9
  599. package/src/lib/file-router/file-router.ts +3 -3
  600. package/src/lib/file-router/index.test.ts +2 -2
  601. package/src/lib/file-router/index.ts +1 -1
  602. package/src/lib/file-router/linter.test.ts +2 -2
  603. package/src/lib/file-router/linter.ts +11 -11
  604. package/src/lib/file-router/scan.ts +4 -4
  605. package/src/lib/grafaid/_Nodes.ts +1 -1
  606. package/src/lib/grafaid/document/OperationTypeNode.ts +1 -1
  607. package/src/lib/grafaid/document/kind.ts +1 -1
  608. package/src/lib/grafaid/document.ts +6 -6
  609. package/src/lib/grafaid/grafaid.ts +4 -4
  610. package/src/lib/grafaid/graphql.ts +3 -3
  611. package/src/lib/grafaid/http/__.ts +1 -1
  612. package/src/lib/grafaid/http/http.ts +1 -1
  613. package/src/lib/grafaid/index.ts +1 -1
  614. package/src/lib/grafaid/schema/KindMap/_.ts +6 -6
  615. package/src/lib/grafaid/schema/KindMap/__.ts +2 -2
  616. package/src/lib/grafaid/schema/OperationType/__.ts +2 -2
  617. package/src/lib/grafaid/schema/RootDetails.ts +3 -3
  618. package/src/lib/grafaid/schema/RootTypeMap.ts +2 -2
  619. package/src/lib/grafaid/schema/nodes-like.ts +2 -2
  620. package/src/lib/grafaid/schema/schema.ts +15 -15
  621. package/src/lib/grafaid/schema/type-kind-name.ts +1 -1
  622. package/src/lib/grafaid/schema/type.ts +1 -1
  623. package/src/lib/grafaid/schema/typeGuards.ts +1 -1
  624. package/src/lib/grafaid-old/grafaid.ts +1 -1
  625. package/src/lib/grafaid-old/index.ts +1 -1
  626. package/src/lib/graphql-change/index.ts +1 -1
  627. package/src/lib/graphql-changeset/index.ts +1 -1
  628. package/src/lib/graphql-document/$$.ts +4 -4
  629. package/src/lib/graphql-document/$.test.ts +3 -3
  630. package/src/lib/graphql-document/$.ts +1 -1
  631. package/src/lib/graphql-document/analysis.ts +49 -49
  632. package/src/lib/graphql-document/components/GraphQLDocument.tsx +38 -39
  633. package/src/lib/graphql-document/components/GraphQLDocument.unit.test.ts +4 -4
  634. package/src/lib/graphql-document/components/GraphQLDocumentWithSchema.tsx +18 -37
  635. package/src/lib/graphql-document/components/GraphQLIdentifierPopover.tsx +31 -29
  636. package/src/lib/graphql-document/components/IdentifierLink.tsx +25 -25
  637. package/src/lib/graphql-document/components/graphql-document-styles.ts +0 -23
  638. package/src/lib/graphql-document/components/index.ts +4 -5
  639. package/src/lib/graphql-document/example.ts +35 -35
  640. package/src/lib/graphql-document/graphql-document.ts +9 -9
  641. package/src/lib/graphql-document/hooks/use-tooltip-state.test.ts +1 -1
  642. package/src/lib/graphql-document/positioning-simple.test.ts +4 -4
  643. package/src/lib/graphql-document/positioning-simple.ts +32 -32
  644. package/src/lib/graphql-document/schema-integration.test.ts +1 -1
  645. package/src/lib/graphql-document/schema-integration.ts +27 -36
  646. package/src/lib/graphql-document/types.ts +4 -4
  647. package/src/lib/graphql-schema-loader/index.ts +1 -1
  648. package/src/lib/helpers.ts +1 -1
  649. package/src/lib/hono-aid/index.ts +1 -1
  650. package/src/lib/html-utils/html-transformer.ts +6 -0
  651. package/src/lib/html-utils/inject-global-data.test.ts +89 -0
  652. package/src/lib/html-utils/inject-global-data.ts +80 -0
  653. package/src/lib/kit-temp.test-d.ts +27 -22
  654. package/src/lib/kit-temp.test.ts +4 -4
  655. package/src/lib/kit-temp.ts +83 -11
  656. package/src/lib/mask/$$.ts +2 -2
  657. package/src/lib/mask/$.test.ts +1 -1
  658. package/src/lib/mask/$.ts +1 -1
  659. package/src/lib/mask/apply.ts +15 -15
  660. package/src/lib/mask/mask.test-d.ts +30 -18
  661. package/src/lib/mask/mask.ts +18 -18
  662. package/src/lib/mutation-type.ts +3 -3
  663. package/src/lib/path-map/$$.ts +7 -0
  664. package/src/lib/path-map/$.test.ts +370 -0
  665. package/src/lib/path-map/$.ts +7 -0
  666. package/src/lib/path-map/path-map.ts +244 -0
  667. package/src/lib/react-router-aid/index.ts +1 -1
  668. package/src/lib/react-router-aid/react-router-aid.ts +1 -1
  669. package/src/lib/react-router-loader/react-router-loader.ts +1 -4
  670. package/src/lib/stack-processor/index.ts +1 -1
  671. package/src/lib/stack-processor/stack-processor.ts +0 -1
  672. package/src/lib/superjson-codec/codecs/graphql-schema.ts +1 -1
  673. package/src/lib/superjson-codec/exports.ts +2 -2
  674. package/src/lib/superjson-codec/index.ts +1 -1
  675. package/src/lib/task/$$.ts +2 -2
  676. package/src/lib/task/$.test.ts +2 -2
  677. package/src/lib/task/$.ts +1 -1
  678. package/src/lib/task/report.ts +1 -1
  679. package/src/lib/task/task.ts +3 -3
  680. package/src/lib/theme/$.ts +2 -0
  681. package/src/lib/theme/theme.test.ts +190 -0
  682. package/src/lib/theme/theme.ts +210 -0
  683. package/src/lib/vite-plugin-json/index.ts +1 -1
  684. package/src/lib/vite-plugin-json/vite-plugin-json.ts +4 -4
  685. package/src/lib/vite-plugin-mdx/index.ts +1 -1
  686. package/src/lib/vite-plugin-mdx/vite-plugin-mdx.ts +1 -5
  687. package/src/lib/vite-plugin-reactive-data/index.ts +1 -1
  688. package/src/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.ts +13 -14
  689. package/src/lib/vite-plugins/index.ts +1 -1
  690. package/src/lib/vite-plugins/vite-plugins.ts +1 -1
  691. package/src/lib/vite-virtual/identified-loader.ts +4 -4
  692. package/src/lib/vite-virtual/identifier.ts +1 -1
  693. package/src/lib/vite-virtual/index.ts +1 -1
  694. package/src/lib/vite-virtual/vite-virtual.ts +3 -3
  695. package/src/package-paths.ts +38 -12
  696. package/src/project-data.ts +3 -1
  697. package/src/sandbox.ts +9 -9
  698. package/src/template/components/ArgumentList.tsx +1 -1
  699. package/src/template/components/ArgumentListAnnotation.tsx +2 -2
  700. package/src/template/components/Changelog.tsx +2 -2
  701. package/src/template/components/CodeBlock.tsx +4 -58
  702. package/src/template/components/CodeBlockEnhancer.tsx +41 -41
  703. package/src/template/components/DeprecationReason.tsx +1 -1
  704. package/src/template/components/Description.tsx +1 -1
  705. package/src/template/components/Field.tsx +4 -4
  706. package/src/template/components/FieldList.tsx +1 -1
  707. package/src/template/components/FieldListSection.tsx +1 -1
  708. package/src/template/components/HamburgerMenu.tsx +11 -11
  709. package/src/template/components/Link.tsx +19 -19
  710. package/src/template/components/Logo.tsx +4 -4
  711. package/src/template/components/MDXComponents.tsx +1 -85
  712. package/src/template/components/NamedType.tsx +2 -2
  713. package/src/template/components/TestComponent.tsx +2 -2
  714. package/src/template/components/Texts/MinorHeading.tsx +4 -4
  715. package/src/template/components/Texts/index.ts +1 -1
  716. package/src/template/components/Texts/texts.ts +1 -1
  717. package/src/template/components/ThemeToggle.tsx +29 -7
  718. package/src/template/components/TypeAnnotation.tsx +1 -1
  719. package/src/template/components/TypeFieldsLinkList.tsx +1 -1
  720. package/src/template/components/TypeIndex.tsx +1 -1
  721. package/src/template/components/content/$$.ts +1 -1
  722. package/src/template/components/content/GraphQLDocumentWithSchema.tsx +3 -3
  723. package/src/template/components/content/GraphQLDocumentWrapper.tsx +9 -26
  724. package/src/template/components/graphql/graphql.tsx +2 -2
  725. package/src/template/components/graphql/index.ts +1 -1
  726. package/src/template/components/graphql/type-kind-icon.tsx +1 -2
  727. package/src/template/components/graphql/type-link.tsx +3 -3
  728. package/src/template/components/sidebar/Sidebar.tsx +1 -1
  729. package/src/template/components/sidebar/SidebarItem.tsx +4 -4
  730. package/src/template/constants.ts +17 -0
  731. package/src/template/contexts/ThemeContext.tsx +55 -24
  732. package/src/template/entry.client.tsx +7 -2
  733. package/src/template/global.d.ts +7 -0
  734. package/src/template/routes/changelog.tsx +1 -1
  735. package/src/template/routes/reference.$type.$field.tsx +3 -3
  736. package/src/template/routes/reference.$type.tsx +3 -3
  737. package/src/template/routes/reference.tsx +2 -2
  738. package/src/template/routes/root.tsx +46 -50
  739. package/src/template/routes.tsx +1 -1
  740. package/src/template/server/app.ts +17 -10
  741. package/src/template/server/create-page-html-response.ts +40 -5
  742. package/src/template/server/main.ts +3 -3
  743. package/src/template/server/middleware/page.ts +4 -4
  744. package/src/template/server/ssg/generate.ts +17 -7
  745. package/src/template/server/ssg/get-route-paths.ts +1 -1
  746. package/src/template/server/transformers/inject-polen-data.ts +32 -0
  747. package/src/template/server/transformers/inject-theme-init.ts +30 -0
  748. package/src/template/server/view.ts +1 -1
  749. package/build/api/vite/data/navbar.d.ts +0 -9
  750. package/build/api/vite/data/navbar.d.ts.map +0 -1
  751. package/build/api/vite/data/navbar.js +0 -6
  752. package/build/api/vite/data/navbar.js.map +0 -1
  753. package/build/api/vite/plugins/branding/index.d.ts.map +0 -1
  754. package/build/api/vite/plugins/branding/index.js.map +0 -1
  755. package/build/lib/demos/builder.d.ts +0 -83
  756. package/build/lib/demos/builder.d.ts.map +0 -1
  757. package/build/lib/demos/builder.js +0 -237
  758. package/build/lib/demos/builder.js.map +0 -1
  759. package/build/lib/demos/config-schema.d.ts +0 -243
  760. package/build/lib/demos/config-schema.d.ts.map +0 -1
  761. package/build/lib/demos/config-schema.js +0 -52
  762. package/build/lib/demos/config-schema.js.map +0 -1
  763. package/build/lib/demos/config.d.ts +0 -40
  764. package/build/lib/demos/config.d.ts.map +0 -1
  765. package/build/lib/demos/config.js +0 -180
  766. package/build/lib/demos/config.js.map +0 -1
  767. package/build/lib/demos/index.d.ts +0 -9
  768. package/build/lib/demos/index.d.ts.map +0 -1
  769. package/build/lib/demos/index.js +0 -8
  770. package/build/lib/demos/index.js.map +0 -1
  771. package/build/lib/demos/ui/components.d.ts +0 -33
  772. package/build/lib/demos/ui/components.d.ts.map +0 -1
  773. package/build/lib/demos/ui/components.js +0 -699
  774. package/build/lib/demos/ui/components.js.map +0 -1
  775. package/build/lib/demos/ui/data-collector.d.ts +0 -88
  776. package/build/lib/demos/ui/data-collector.d.ts.map +0 -1
  777. package/build/lib/demos/ui/data-collector.js +0 -174
  778. package/build/lib/demos/ui/data-collector.js.map +0 -1
  779. package/build/lib/demos/ui/landing-page-cli.d.ts +0 -3
  780. package/build/lib/demos/ui/landing-page-cli.d.ts.map +0 -1
  781. package/build/lib/demos/ui/landing-page-cli.js +0 -21
  782. package/build/lib/demos/ui/landing-page-cli.js.map +0 -1
  783. package/build/lib/demos/ui/landing-page.d.ts +0 -32
  784. package/build/lib/demos/ui/landing-page.d.ts.map +0 -1
  785. package/build/lib/demos/ui/landing-page.js +0 -83
  786. package/build/lib/demos/ui/landing-page.js.map +0 -1
  787. package/build/lib/demos/ui/page-renderer.d.ts +0 -26
  788. package/build/lib/demos/ui/page-renderer.d.ts.map +0 -1
  789. package/build/lib/demos/ui/page-renderer.js +0 -104
  790. package/build/lib/demos/ui/page-renderer.js.map +0 -1
  791. package/build/lib/demos/utils.d.ts +0 -14
  792. package/build/lib/demos/utils.d.ts.map +0 -1
  793. package/build/lib/demos/utils.js +0 -37
  794. package/build/lib/demos/utils.js.map +0 -1
  795. package/build/lib/deployment/$$.d.ts +0 -3
  796. package/build/lib/deployment/$$.d.ts.map +0 -1
  797. package/build/lib/deployment/$$.js +0 -3
  798. package/build/lib/deployment/$$.js.map +0 -1
  799. package/build/lib/deployment/$.d.ts +0 -2
  800. package/build/lib/deployment/$.d.ts.map +0 -1
  801. package/build/lib/deployment/$.js +0 -2
  802. package/build/lib/deployment/$.js.map +0 -1
  803. package/build/lib/deployment/metadata.d.ts +0 -32
  804. package/build/lib/deployment/metadata.d.ts.map +0 -1
  805. package/build/lib/deployment/metadata.js +0 -37
  806. package/build/lib/deployment/metadata.js.map +0 -1
  807. package/build/lib/deployment/path-manager.d.ts +0 -41
  808. package/build/lib/deployment/path-manager.d.ts.map +0 -1
  809. package/build/lib/deployment/path-manager.js +0 -157
  810. package/build/lib/deployment/path-manager.js.map +0 -1
  811. package/build/lib/github-actions/git-controller.d.ts +0 -50
  812. package/build/lib/github-actions/git-controller.d.ts.map +0 -1
  813. package/build/lib/github-actions/git-controller.js +0 -90
  814. package/build/lib/github-actions/git-controller.js.map +0 -1
  815. package/build/lib/github-actions/github-actions.d.ts +0 -7
  816. package/build/lib/github-actions/github-actions.d.ts.map +0 -1
  817. package/build/lib/github-actions/github-actions.js +0 -7
  818. package/build/lib/github-actions/github-actions.js.map +0 -1
  819. package/build/lib/github-actions/index.d.ts +0 -2
  820. package/build/lib/github-actions/index.d.ts.map +0 -1
  821. package/build/lib/github-actions/index.js +0 -2
  822. package/build/lib/github-actions/index.js.map +0 -1
  823. package/build/lib/github-actions/lib/get-pr-deployments.d.ts +0 -12
  824. package/build/lib/github-actions/lib/get-pr-deployments.d.ts.map +0 -1
  825. package/build/lib/github-actions/lib/get-pr-deployments.js +0 -51
  826. package/build/lib/github-actions/lib/get-pr-deployments.js.map +0 -1
  827. package/build/lib/github-actions/pr-controller.d.ts +0 -39
  828. package/build/lib/github-actions/pr-controller.d.ts.map +0 -1
  829. package/build/lib/github-actions/pr-controller.js +0 -122
  830. package/build/lib/github-actions/pr-controller.js.map +0 -1
  831. package/build/lib/github-actions/run-step-cli.d.ts +0 -9
  832. package/build/lib/github-actions/run-step-cli.d.ts.map +0 -1
  833. package/build/lib/github-actions/run-step-cli.js +0 -71
  834. package/build/lib/github-actions/run-step-cli.js.map +0 -1
  835. package/build/lib/github-actions/runner.d.ts +0 -17
  836. package/build/lib/github-actions/runner.d.ts.map +0 -1
  837. package/build/lib/github-actions/runner.js +0 -195
  838. package/build/lib/github-actions/runner.js.map +0 -1
  839. package/build/lib/github-actions/schemas/context.d.ts +0 -933
  840. package/build/lib/github-actions/schemas/context.d.ts.map +0 -1
  841. package/build/lib/github-actions/schemas/context.js +0 -407
  842. package/build/lib/github-actions/schemas/context.js.map +0 -1
  843. package/build/lib/github-actions/schemas/index.d.ts +0 -5
  844. package/build/lib/github-actions/schemas/index.d.ts.map +0 -1
  845. package/build/lib/github-actions/schemas/index.js +0 -5
  846. package/build/lib/github-actions/schemas/index.js.map +0 -1
  847. package/build/lib/github-actions/search-module.d.ts +0 -38
  848. package/build/lib/github-actions/search-module.d.ts.map +0 -1
  849. package/build/lib/github-actions/search-module.js +0 -40
  850. package/build/lib/github-actions/search-module.js.map +0 -1
  851. package/build/lib/github-actions/step.d.ts +0 -163
  852. package/build/lib/github-actions/step.d.ts.map +0 -1
  853. package/build/lib/github-actions/step.js +0 -121
  854. package/build/lib/github-actions/step.js.map +0 -1
  855. package/build/lib/graphql-document/components/CopyButton.d.ts +0 -19
  856. package/build/lib/graphql-document/components/CopyButton.d.ts.map +0 -1
  857. package/build/lib/graphql-document/components/CopyButton.js +0 -43
  858. package/build/lib/graphql-document/components/CopyButton.js.map +0 -1
  859. package/build/lib/graphql-document/schema-integration-example.d.ts +0 -27
  860. package/build/lib/graphql-document/schema-integration-example.d.ts.map +0 -1
  861. package/build/lib/graphql-document/schema-integration-example.js +0 -297
  862. package/build/lib/graphql-document/schema-integration-example.js.map +0 -1
  863. package/build/lib/shiki/index.d.ts +0 -2
  864. package/build/lib/shiki/index.d.ts.map +0 -1
  865. package/build/lib/shiki/index.js +0 -2
  866. package/build/lib/shiki/index.js.map +0 -1
  867. package/build/lib/shiki/shiki.d.ts +0 -26
  868. package/build/lib/shiki/shiki.d.ts.map +0 -1
  869. package/build/lib/shiki/shiki.js +0 -105
  870. package/build/lib/shiki/shiki.js.map +0 -1
  871. package/build/lib/version-history/index.d.ts +0 -3
  872. package/build/lib/version-history/index.d.ts.map +0 -1
  873. package/build/lib/version-history/index.js +0 -2
  874. package/build/lib/version-history/index.js.map +0 -1
  875. package/build/lib/version-history/types.d.ts +0 -64
  876. package/build/lib/version-history/types.d.ts.map +0 -1
  877. package/build/lib/version-history/types.js +0 -5
  878. package/build/lib/version-history/types.js.map +0 -1
  879. package/build/lib/version-history/version-history.d.ts +0 -85
  880. package/build/lib/version-history/version-history.d.ts.map +0 -1
  881. package/build/lib/version-history/version-history.js +0 -248
  882. package/build/lib/version-history/version-history.js.map +0 -1
  883. package/src/api/vite/data/navbar.ts +0 -15
  884. package/src/lib/demos/builder.ts +0 -298
  885. package/src/lib/demos/config-schema.ts +0 -56
  886. package/src/lib/demos/config.test.ts +0 -193
  887. package/src/lib/demos/config.ts +0 -205
  888. package/src/lib/demos/index.ts +0 -9
  889. package/src/lib/demos/ui/components.ts +0 -739
  890. package/src/lib/demos/ui/data-collector.ts +0 -246
  891. package/src/lib/demos/ui/landing-page-cli.ts +0 -23
  892. package/src/lib/demos/ui/landing-page.ts +0 -126
  893. package/src/lib/demos/ui/page-renderer.ts +0 -124
  894. package/src/lib/demos/utils.ts +0 -43
  895. package/src/lib/deployment/$$.ts +0 -2
  896. package/src/lib/deployment/$.test.ts +0 -53
  897. package/src/lib/deployment/$.ts +0 -1
  898. package/src/lib/deployment/metadata.ts +0 -40
  899. package/src/lib/deployment/path-manager.ts +0 -186
  900. package/src/lib/github-actions/git-controller.ts +0 -151
  901. package/src/lib/github-actions/github-actions.ts +0 -6
  902. package/src/lib/github-actions/index.ts +0 -1
  903. package/src/lib/github-actions/lib/get-pr-deployments.ts +0 -76
  904. package/src/lib/github-actions/pr-controller.test.ts +0 -172
  905. package/src/lib/github-actions/pr-controller.ts +0 -183
  906. package/src/lib/github-actions/run-step-cli.ts +0 -84
  907. package/src/lib/github-actions/runner.test.ts +0 -192
  908. package/src/lib/github-actions/runner.ts +0 -226
  909. package/src/lib/github-actions/schemas/context.ts +0 -424
  910. package/src/lib/github-actions/schemas/index.ts +0 -5
  911. package/src/lib/github-actions/search-module.test.ts +0 -110
  912. package/src/lib/github-actions/search-module.ts +0 -76
  913. package/src/lib/github-actions/step.test.ts +0 -149
  914. package/src/lib/github-actions/step.ts +0 -232
  915. package/src/lib/graphql-document/components/CopyButton.tsx +0 -76
  916. package/src/lib/graphql-document/schema-integration-example.ts +0 -341
  917. package/src/lib/shiki/index.ts +0 -1
  918. package/src/lib/shiki/shiki.test.ts +0 -107
  919. package/src/lib/shiki/shiki.ts +0 -161
  920. package/src/lib/version-history/index.test.ts +0 -196
  921. package/src/lib/version-history/index.ts +0 -4
  922. package/src/lib/version-history/types.ts +0 -68
  923. package/src/lib/version-history/version-history.ts +0 -293
@@ -0,0 +1,89 @@
1
+ import { describe, expect, it } from 'vitest'
2
+ import {
3
+ createGlobalDataScript,
4
+ createGlobalDataScriptWithInit,
5
+ injectGlobalDataIntoHTML,
6
+ } from './inject-global-data.js'
7
+
8
+ describe('createGlobalDataScript', () => {
9
+ it('creates a script tag with JSON data', () => {
10
+ const result = createGlobalDataScript('__TEST__', { foo: 'bar', num: 42 })
11
+ expect(result).toBe('<script>globalThis.__TEST__ = {"foo":"bar","num":42};</script>')
12
+ })
13
+
14
+ it('handles nested data structures', () => {
15
+ const data = {
16
+ user: { id: 1, name: 'John' },
17
+ settings: { theme: 'dark', notifications: true },
18
+ }
19
+ const result = createGlobalDataScript('__APP__', data)
20
+ expect(result).toContain('globalThis.__APP__ =')
21
+ expect(result).toContain(JSON.stringify(data))
22
+ })
23
+
24
+ it('escapes special characters in data', () => {
25
+ const data = { html: '</script><script>alert("xss")</script>' }
26
+ const result = createGlobalDataScript('__SAFE__', data)
27
+ // JSON.stringify escapes the forward slashes
28
+ expect(result).not.toContain('</script><script>')
29
+ expect(result).toContain('<\\/script>')
30
+ })
31
+
32
+ it('throws on invalid global names', () => {
33
+ expect(() => createGlobalDataScript('123invalid', {})).toThrow('Invalid global variable name')
34
+ expect(() => createGlobalDataScript('invalid-name', {})).toThrow('Invalid global variable name')
35
+ expect(() => createGlobalDataScript('invalid.name', {})).toThrow('Invalid global variable name')
36
+ })
37
+
38
+ it('accepts valid global names', () => {
39
+ expect(() => createGlobalDataScript('_valid', {})).not.toThrow()
40
+ expect(() => createGlobalDataScript('$valid', {})).not.toThrow()
41
+ expect(() => createGlobalDataScript('VALID_123', {})).not.toThrow()
42
+ })
43
+ })
44
+
45
+ describe('createGlobalDataScriptWithInit', () => {
46
+ it('creates script with data and init code', () => {
47
+ const result = createGlobalDataScriptWithInit(
48
+ '__THEME__',
49
+ { theme: 'dark' },
50
+ 'document.body.className = globalThis.__THEME__.theme;',
51
+ )
52
+ expect(result).toContain('globalThis.__THEME__ = {"theme":"dark"};')
53
+ expect(result).toContain('document.body.className = globalThis.__THEME__.theme;')
54
+ expect(result).toMatch(/<script>.*<\/script>/s)
55
+ })
56
+
57
+ it('returns just data script when no init code provided', () => {
58
+ const result = createGlobalDataScriptWithInit('__TEST__', { foo: 'bar' })
59
+ expect(result).toBe('<script>globalThis.__TEST__ = {"foo":"bar"};</script>')
60
+ })
61
+ })
62
+
63
+ describe('injectGlobalDataIntoHTML', () => {
64
+ const sampleHTML = `
65
+ <html>
66
+ <head>
67
+ <title>Test</title>
68
+ </head>
69
+ <body>
70
+ <div id="app"></div>
71
+ </body>
72
+ </html>`
73
+
74
+ it('injects script into head', () => {
75
+ const result = injectGlobalDataIntoHTML(sampleHTML, '__APP__', { version: '1.0' })
76
+ expect(result).toContain('<head>\n<script>globalThis.__APP__ = {"version":"1.0"};</script>')
77
+ })
78
+
79
+ it('injects script with init code', () => {
80
+ const result = injectGlobalDataIntoHTML(
81
+ sampleHTML,
82
+ '__CONFIG__',
83
+ { apiUrl: '/api' },
84
+ 'console.log("Config loaded:", globalThis.__CONFIG__);',
85
+ )
86
+ expect(result).toContain('globalThis.__CONFIG__ = {"apiUrl":"/api"};')
87
+ expect(result).toContain('console.log("Config loaded:", globalThis.__CONFIG__);')
88
+ })
89
+ })
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Creates an HTML script tag that injects data into a global variable
3
+ *
4
+ * @param globalName - The name of the global variable (e.g., '__POLEN__')
5
+ * @param data - The data to inject (will be JSON stringified)
6
+ * @returns HTML script tag string ready to inject into HTML
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * const script = createGlobalDataScript('__MY_APP__', { user: { id: 1, name: 'John' } })
11
+ * // Returns: <script>globalThis.__MY_APP__ = {"user":{"id":1,"name":"John"}};</script>
12
+ * ```
13
+ */
14
+ export const createGlobalDataScript = (globalName: string, data: unknown): string => {
15
+ // Validate global name to prevent injection attacks
16
+ if (!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(globalName)) {
17
+ throw new Error(`Invalid global variable name: ${globalName}`)
18
+ }
19
+
20
+ // JSON.stringify and then escape </script> tags to prevent XSS
21
+ const jsonData = JSON.stringify(data)
22
+ // Escape </script> to prevent breaking out of script tag
23
+ .replace(/<\/script>/gi, '<\\/script>')
24
+
25
+ return `<script>globalThis.${globalName} = ${jsonData};</script>`
26
+ }
27
+
28
+ /**
29
+ * Creates a script tag that initializes global data and runs initialization code
30
+ *
31
+ * @param globalName - The name of the global variable
32
+ * @param data - The data to inject
33
+ * @param initCode - Optional initialization code to run after setting the global
34
+ * @returns HTML script tag string
35
+ *
36
+ * @example
37
+ * ```ts
38
+ * const script = createGlobalDataScriptWithInit('__THEME__', { theme: 'dark' }, `
39
+ * document.documentElement.className = globalThis.__THEME__.theme;
40
+ * `)
41
+ * ```
42
+ */
43
+ export const createGlobalDataScriptWithInit = (
44
+ globalName: string,
45
+ data: unknown,
46
+ initCode?: string,
47
+ ): string => {
48
+ const dataScript = createGlobalDataScript(globalName, data)
49
+
50
+ if (!initCode) {
51
+ return dataScript
52
+ }
53
+
54
+ // Remove the closing </script> tag from data script and append init code
55
+ const scriptContent = dataScript.replace('</script>', `\n${initCode}\n</script>`)
56
+ return scriptContent
57
+ }
58
+
59
+ /**
60
+ * Injects a global data script into the head of an HTML document
61
+ *
62
+ * @param html - The HTML document string
63
+ * @param globalName - The name of the global variable
64
+ * @param data - The data to inject
65
+ * @param initCode - Optional initialization code
66
+ * @returns Modified HTML with script injected
67
+ */
68
+ export const injectGlobalDataIntoHTML = (
69
+ html: string,
70
+ globalName: string,
71
+ data: unknown,
72
+ initCode?: string,
73
+ ): string => {
74
+ const script = initCode
75
+ ? createGlobalDataScriptWithInit(globalName, data, initCode)
76
+ : createGlobalDataScript(globalName, data)
77
+
78
+ // Inject at the beginning of head to ensure it runs first
79
+ return html.replace('<head>', `<head>\n${script}`)
80
+ }
@@ -3,24 +3,29 @@ import { objFilter, ObjOmit, ObjPick, objPolicyFilter } from './kit-temp.js'
3
3
  import type { ObjPolicyFilter } from './kit-temp.js'
4
4
 
5
5
  // Test object for all tests
6
- type TestObj = { a: string; b: number; c: boolean; d: string[] }
6
+ interface TestObj {
7
+ a: string
8
+ b: number
9
+ c: boolean
10
+ d: string[]
11
+ }
7
12
  declare const testObj: TestObj
8
13
 
9
14
  // Test 1: objPolicyFilter with allow mode
10
15
  {
11
- const result = objPolicyFilter('allow', testObj, ['a', 'c'] as const)
16
+ const result = objPolicyFilter(`allow`, testObj, [`a`, `c`] as const)
12
17
  Ts.assertEqual<{ a: string; c: boolean }>()(result)
13
18
  }
14
19
 
15
20
  // Test 2: objPolicyFilter with deny mode
16
21
  {
17
- const result = objPolicyFilter('deny', testObj, ['a', 'c'] as const)
22
+ const result = objPolicyFilter(`deny`, testObj, [`a`, `c`] as const)
18
23
  Ts.assertEqual<{ b: number; d: string[] }>()(result)
19
24
  }
20
25
 
21
26
  // Test 3: objFilter returns Partial<T>
22
27
  {
23
- const result = objFilter(testObj, (key, value) => value !== 'hello')
28
+ const result = objFilter(testObj, (key, value) => value !== `hello`)
24
29
  Ts.assertEqual<Partial<TestObj>>()(result)
25
30
 
26
31
  // All properties are optional
@@ -32,28 +37,28 @@ declare const testObj: TestObj
32
37
 
33
38
  // Test 4: ObjPick type inference
34
39
  {
35
- const result = ObjPick(testObj, ['a', 'c'] as const)
40
+ const result = ObjPick(testObj, [`a`, `c`] as const)
36
41
  Ts.assertEqual<{ a: string; c: boolean }>()(result)
37
42
  }
38
43
 
39
44
  // Test 5: ObjOmit type inference
40
45
  {
41
- const result = ObjOmit(testObj, ['a', 'c'] as const)
46
+ const result = ObjOmit(testObj, [`a`, `c`] as const)
42
47
  Ts.assertEqual<{ b: number; d: string[] }>()(result)
43
48
  }
44
49
 
45
50
  // Test 6: ObjPolicyFilter type-level function
46
51
  {
47
- type Allow = ObjPolicyFilter<TestObj, 'a' | 'c', 'allow'>
52
+ type Allow = ObjPolicyFilter<TestObj, `a` | `c`, `allow`>
48
53
  type _TestAllow = Ts.AssertEqual<Allow, { a: string; c: boolean }>
49
54
 
50
- type Deny = ObjPolicyFilter<TestObj, 'a' | 'c', 'deny'>
55
+ type Deny = ObjPolicyFilter<TestObj, `a` | `c`, `deny`>
51
56
  type _TestDeny = Ts.AssertEqual<Deny, { b: number; d: string[] }>
52
57
 
53
- type AllowEmpty = ObjPolicyFilter<TestObj, never, 'allow'>
58
+ type AllowEmpty = ObjPolicyFilter<TestObj, never, `allow`>
54
59
  type _TestAllowEmpty = Ts.AssertEqual<AllowEmpty, {}>
55
60
 
56
- type DenyEmpty = ObjPolicyFilter<TestObj, never, 'deny'>
61
+ type DenyEmpty = ObjPolicyFilter<TestObj, never, `deny`>
57
62
  type _TestDenyEmpty = Ts.AssertEqual<DenyEmpty, TestObj>
58
63
  }
59
64
 
@@ -61,8 +66,8 @@ declare const testObj: TestObj
61
66
  {
62
67
  // Empty object
63
68
  const empty = {}
64
- const allowEmpty = objPolicyFilter('allow', empty, [])
65
- const denyEmpty = objPolicyFilter('deny', empty, [])
69
+ const allowEmpty = objPolicyFilter(`allow`, empty, [])
70
+ const denyEmpty = objPolicyFilter(`deny`, empty, [])
66
71
  const filterEmpty = objFilter(empty, () => true)
67
72
 
68
73
  Ts.assertEqual<{}>()(allowEmpty)
@@ -71,8 +76,8 @@ declare const testObj: TestObj
71
76
 
72
77
  // Single property object
73
78
  const single = { a: 1 }
74
- const allowSingle = objPolicyFilter('allow', single, ['a'] as const)
75
- const denySingle = objPolicyFilter('deny', single, ['a'] as const)
79
+ const allowSingle = objPolicyFilter(`allow`, single, [`a`] as const)
80
+ const denySingle = objPolicyFilter(`deny`, single, [`a`] as const)
76
81
  const filterSingle = objFilter(single, () => true)
77
82
 
78
83
  Ts.assertEqual<{ a: number }>()(allowSingle)
@@ -82,7 +87,7 @@ declare const testObj: TestObj
82
87
 
83
88
  // Test 8: Complex nested object
84
89
  {
85
- type ComplexObj = {
90
+ interface ComplexObj {
86
91
  nested: { a: string; b: number }
87
92
  array: string[]
88
93
  optional?: boolean
@@ -90,26 +95,26 @@ declare const testObj: TestObj
90
95
  }
91
96
  const complexObj = {} as ComplexObj
92
97
 
93
- const picked = objPolicyFilter('allow', complexObj, ['nested', 'optional'] as const)
98
+ const picked = objPolicyFilter(`allow`, complexObj, [`nested`, `optional`] as const)
94
99
  Ts.assertEqual<{ nested: { a: string; b: number }; optional?: boolean }>()(picked)
95
100
 
96
- const omitted = objPolicyFilter('deny', complexObj, ['nested', 'optional'] as const)
101
+ const omitted = objPolicyFilter(`deny`, complexObj, [`nested`, `optional`] as const)
97
102
  Ts.assertEqual<{ array: string[]; readonly ro: string }>()(omitted)
98
103
 
99
- const filtered = objFilter(complexObj, (key) => key !== 'array')
104
+ const filtered = objFilter(complexObj, (key) => key !== `array`)
100
105
  Ts.assertEqual<Partial<ComplexObj>>()(filtered)
101
106
  }
102
107
 
103
108
  // Test 9: Keys parameter type inference
104
109
  {
105
110
  // With const assertion
106
- const keys1 = ['a', 'c'] as const
107
- const result1 = objPolicyFilter('allow', testObj, keys1)
111
+ const keys1 = [`a`, `c`] as const
112
+ const result1 = objPolicyFilter(`allow`, testObj, keys1)
108
113
  Ts.assertEqual<{ a: string; c: boolean }>()(result1)
109
114
 
110
115
  // Without const assertion (wider type)
111
- const keys2: (keyof TestObj)[] = ['a', 'c']
112
- const result2 = objPolicyFilter('allow', testObj, keys2)
116
+ const keys2: (keyof TestObj)[] = [`a`, `c`]
117
+ const result2 = objPolicyFilter(`allow`, testObj, keys2)
113
118
  // Result is a union of all possible picks
114
119
  type Result2 = typeof result2 // Pick<TestObj, keyof TestObj>
115
120
  }
@@ -76,10 +76,10 @@ describe('property-based tests', () => {
76
76
 
77
77
  // Combined they reconstruct the original object (only own properties)
78
78
  const reconstructed = { ...allowed, ...denied }
79
- const ownPropsObj = Object.keys(obj).reduce((acc, key) => {
79
+ const ownPropsObj = Object.keys(obj).reduce<any>((acc, key) => {
80
80
  acc[key] = obj[key]
81
81
  return acc
82
- }, {} as any)
82
+ }, {})
83
83
  expect(reconstructed).toEqual(ownPropsObj)
84
84
  },
85
85
  ),
@@ -94,10 +94,10 @@ describe('property-based tests', () => {
94
94
  const filtered = objFilter(obj, () => true)
95
95
 
96
96
  // Object.keys doesn't include __proto__, so we need to handle it specially
97
- const objWithoutProto = Object.keys(obj).reduce((acc, key) => {
97
+ const objWithoutProto = Object.keys(obj).reduce<any>((acc, key) => {
98
98
  acc[key] = obj[key]
99
99
  return acc
100
- }, {} as any)
100
+ }, {})
101
101
 
102
102
  expect(filtered).toEqual(objWithoutProto)
103
103
 
@@ -64,8 +64,8 @@ export interface ImportEvent {
64
64
  export type ObjPolicyFilter<
65
65
  $Object extends object,
66
66
  $Key extends Keyof<$Object>,
67
- Mode extends 'allow' | 'deny',
68
- > = Mode extends 'allow'
67
+ Mode extends `allow` | `deny`,
68
+ > = Mode extends `allow`
69
69
  ? Pick<$Object, Extract<$Key, keyof $Object>>
70
70
  : Omit<$Object, Extract<$Key, keyof $Object>>
71
71
 
@@ -96,15 +96,15 @@ type Keyof<$Object extends object> = object extends $Object ? PropertyKey : (key
96
96
  export const objPolicyFilter = <
97
97
  obj extends object,
98
98
  keyUnion extends Keyof<obj>,
99
- mode extends 'allow' | 'deny',
99
+ mode extends `allow` | `deny`,
100
100
  >(
101
101
  mode: mode,
102
102
  obj: obj,
103
103
  keys: readonly keyUnion[],
104
104
  ): ObjPolicyFilter<obj, keyUnion, mode> => {
105
- const result: any = mode === 'deny' ? { ...obj } : {}
105
+ const result: any = mode === `deny` ? { ...obj } : {}
106
106
 
107
- if (mode === 'allow') {
107
+ if (mode === `allow`) {
108
108
  // For allow mode, only add specified keys
109
109
  for (const key of keys) {
110
110
  if (Object.prototype.hasOwnProperty.call(obj, key)) {
@@ -152,11 +152,11 @@ export const objFilter = <T extends object>(
152
152
  }
153
153
 
154
154
  export const ObjPick = <T extends object, K extends keyof T>(obj: T, keys: readonly K[]): Pick<T, K> => {
155
- return objPolicyFilter('allow', obj, keys) as any
155
+ return objPolicyFilter(`allow`, obj, keys) as any
156
156
  }
157
157
 
158
158
  export const ObjOmit = <T extends object, K extends keyof T>(obj: T, keys: readonly K[]): Omit<T, K> => {
159
- return objPolicyFilter('deny', obj, keys) as any
159
+ return objPolicyFilter(`deny`, obj, keys) as any
160
160
  }
161
161
 
162
162
  export const ObjPartition = <T extends object, K extends keyof T>(
@@ -233,7 +233,7 @@ export type ExtendsExact<$Input, $Constraint> =
233
233
  * ```
234
234
  */
235
235
  export const chunk = <T>(array: readonly T[], size: number): T[][] => {
236
- if (size <= 0) throw new Error('Chunk size must be greater than 0')
236
+ if (size <= 0) throw new Error(`Chunk size must be greater than 0`)
237
237
  if (array.length === 0) return []
238
238
 
239
239
  const chunks: T[][] = []
@@ -345,7 +345,7 @@ const processBatch = async <T, R>(
345
345
  operation: (item: T, index: number) => Promise<R>,
346
346
  concurrency: number,
347
347
  failFast: boolean,
348
- startIndex: number = 0,
348
+ startIndex = 0,
349
349
  ): Promise<AsyncParallelResult<T, R>> => {
350
350
  const results: R[] = []
351
351
  const errors: (Error & { item: T })[] = []
@@ -372,7 +372,7 @@ const processBatch = async <T, R>(
372
372
  const chunkResults = await Promise.allSettled(promises)
373
373
 
374
374
  for (const promiseResult of chunkResults) {
375
- if (promiseResult.status === 'fulfilled') {
375
+ if (promiseResult.status === `fulfilled`) {
376
376
  const { success, result, error, item } = promiseResult.value
377
377
  if (success) {
378
378
  results.push(result!)
@@ -385,7 +385,7 @@ const processBatch = async <T, R>(
385
385
  } else {
386
386
  // This shouldn't happen since we're catching errors above
387
387
  // But handle it just in case
388
- const error = new Error('Unexpected promise rejection') as Error & { item: any }
388
+ const error = new Error(`Unexpected promise rejection`) as Error & { item: any }
389
389
  errors.push(error)
390
390
  if (failFast) {
391
391
  return { results, errors, success: false }
@@ -520,3 +520,75 @@ export const asyncReduceWith = <T, C>(
520
520
  )
521
521
  }
522
522
  }
523
+
524
+ /**
525
+ * Create a branded type that provides nominal typing in TypeScript.
526
+ *
527
+ * Branded types allow you to create distinct types from primitives or other types,
528
+ * preventing accidental mixing of values that are structurally identical but
529
+ * semantically different.
530
+ *
531
+ * @template $BaseType - The underlying type to brand (e.g., string, number)
532
+ * @template $BrandName - A unique string literal to distinguish this brand
533
+ *
534
+ * @example
535
+ * ```ts
536
+ * // Create distinct ID types that can't be mixed
537
+ * type UserId = Brand<string, 'UserId'>
538
+ * type PostId = Brand<string, 'PostId'>
539
+ *
540
+ * function getUser(id: UserId) { ... }
541
+ *
542
+ * const userId = 'u123' as UserId
543
+ * const postId = 'p456' as PostId
544
+ *
545
+ * getUser(userId) // ✓ OK
546
+ * getUser(postId) // ✗ Type error - can't use PostId where UserId expected
547
+ * ```
548
+ *
549
+ * @example
550
+ * ```ts
551
+ * // Brand primitive types for domain modeling
552
+ * type Email = Brand<string, 'Email'>
553
+ * type Url = Brand<string, 'Url'>
554
+ * type PositiveNumber = Brand<number, 'PositiveNumber'>
555
+ * ```
556
+ */
557
+ export type Brand<$BaseType, $BrandName extends string> =
558
+ & $BaseType
559
+ & {
560
+ readonly __brand: $BrandName
561
+ }
562
+
563
+ /**
564
+ * Helper function to create a branded value.
565
+ *
566
+ * This is a simple type assertion helper. For runtime validation,
567
+ * combine with validation functions or schemas.
568
+ *
569
+ * @template $BaseType - The underlying type to brand
570
+ * @template $BrandName - The brand name to apply
571
+ * @param value - The value to brand
572
+ * @returns The value with the brand type applied
573
+ *
574
+ * @example
575
+ * ```ts
576
+ * type UserId = Brand<string, 'UserId'>
577
+ *
578
+ * // Simple branding (no runtime validation)
579
+ * const id = brand<string, 'UserId'>('u123')
580
+ *
581
+ * // With validation (recommended)
582
+ * function createUserId(value: string): UserId {
583
+ * if (!value.startsWith('u')) {
584
+ * throw new Error('User IDs must start with "u"')
585
+ * }
586
+ * return brand<string, 'UserId'>(value)
587
+ * }
588
+ * ```
589
+ */
590
+ export const brand = <$BaseType, $BrandName extends string>(
591
+ value: $BaseType,
592
+ ): Brand<$BaseType, $BrandName> => {
593
+ return value as Brand<$BaseType, $BrandName>
594
+ }
@@ -1,2 +1,2 @@
1
- export * from './apply.ts'
2
- export * from './mask.ts'
1
+ export * from './apply.js'
2
+ export * from './mask.js'
@@ -1,6 +1,6 @@
1
1
  import * as fc from 'fast-check'
2
2
  import { describe, expect, test } from 'vitest'
3
- import { Mask } from './$.ts'
3
+ import { Mask } from './$.js'
4
4
 
5
5
  describe('Mask.create', () => {
6
6
  test('boolean options create binary masks', () => {
package/src/lib/mask/$.ts CHANGED
@@ -1 +1 @@
1
- export * as Mask from './$$.ts'
1
+ export * as Mask from './$$.js'
@@ -1,7 +1,7 @@
1
1
  import { type ExtendsExact, objPolicyFilter } from '#lib/kit-temp'
2
2
  import { Obj } from '@wollybeard/kit'
3
3
  import { never } from '@wollybeard/kit/language'
4
- import type { GetDataType, Mask } from './mask.ts'
4
+ import type { GetDataType, Mask } from './mask.js'
5
5
 
6
6
  /**
7
7
  * Type-level function that applies a mask to data.
@@ -19,16 +19,16 @@ import type { GetDataType, Mask } from './mask.ts'
19
19
  * - Non-objects throw an error at runtime
20
20
  */
21
21
  // dprint-ignore
22
- export type Apply<Data, M extends Mask<any>> =
23
- M extends { type: 'binary', show: boolean }
24
- ? M['show'] extends true
22
+ export type Apply<Data, M extends Mask> =
23
+ M extends { type: `binary`, show: boolean }
24
+ ? M[`show`] extends true
25
25
  ? Data
26
26
  : undefined
27
- : M extends { type: 'properties', mode: string, properties: any[] }
27
+ : M extends { type: `properties`, mode: string, properties: any[] }
28
28
  ? Data extends object
29
- ? M['mode'] extends 'allow'
30
- ? Pick<Data, Extract<M['properties'][number], keyof Data>>
31
- : Omit<Data, Extract<M['properties'][number], keyof Data>>
29
+ ? M[`mode`] extends `allow`
30
+ ? Pick<Data, Extract<M[`properties`][number], keyof Data>>
31
+ : Omit<Data, Extract<M[`properties`][number], keyof Data>>
32
32
  : never // Non-objects not allowed with property masks
33
33
  : never
34
34
 
@@ -50,7 +50,7 @@ export type Apply<Data, M extends Mask<any>> =
50
50
  */
51
51
  export const apply = <
52
52
  data extends GetDataType<mask>,
53
- mask extends Mask<any>,
53
+ mask extends Mask,
54
54
  >(data: data, mask: mask): Apply<data, mask> => {
55
55
  return applyInternal(data, mask) as Apply<data, mask>
56
56
  }
@@ -74,7 +74,7 @@ export const apply = <
74
74
  */
75
75
  export const applyPartial = <
76
76
  data extends Partial<GetDataType<mask>>,
77
- mask extends Mask<any>,
77
+ mask extends Mask,
78
78
  >(data: data, mask: mask): Apply<data, mask> => {
79
79
  return applyInternal(data, mask) as Apply<data, mask>
80
80
  }
@@ -105,7 +105,7 @@ export const applyPartial = <
105
105
  */
106
106
  export const applyExact = <
107
107
  data,
108
- mask extends Mask<any>,
108
+ mask extends Mask,
109
109
  >(
110
110
  data: ExtendsExact<data, GetDataType<mask>>,
111
111
  mask: mask,
@@ -114,17 +114,17 @@ export const applyExact = <
114
114
  }
115
115
 
116
116
  // Internal implementation
117
- const applyInternal = (data: any, mask: Mask<any>): any => {
117
+ const applyInternal = (data: any, mask: Mask): any => {
118
118
  // ━ Handle binary mask
119
- if (mask.type === 'binary') {
119
+ if (mask.type === `binary`) {
120
120
  return mask.show ? data : undefined
121
121
  }
122
122
 
123
123
  // ━ Handle properties mask
124
- if (mask.type === 'properties') {
124
+ if (mask.type === `properties`) {
125
125
  // Properties mask requires object data
126
126
  if (!Obj.is(data)) {
127
- throw new Error('Cannot apply properties mask to non-object data')
127
+ throw new Error(`Cannot apply properties mask to non-object data`)
128
128
  }
129
129
 
130
130
  return objPolicyFilter(mask.mode, data, mask.properties)