polen 0.8.0-next.9 → 0.8.1-next.1

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 (561) hide show
  1. package/README.md +25 -0
  2. package/build/api/api.d.ts +3 -3
  3. package/build/api/api.js +3 -3
  4. package/build/api/builder/builder.d.ts +1 -1
  5. package/build/api/builder/builder.d.ts.map +1 -1
  6. package/build/api/builder/builder.js +12 -4
  7. package/build/api/builder/builder.js.map +1 -1
  8. package/build/api/builder/index.d.ts +1 -1
  9. package/build/api/builder/index.js +1 -1
  10. package/build/api/config/config.d.ts +4 -4
  11. package/build/api/config/config.js +4 -4
  12. package/build/api/config/configurator.d.ts +21 -4
  13. package/build/api/config/configurator.d.ts.map +1 -1
  14. package/build/api/config/configurator.js +6 -2
  15. package/build/api/config/configurator.js.map +1 -1
  16. package/build/api/config/define.d.ts +1 -1
  17. package/build/api/config/index.d.ts +1 -1
  18. package/build/api/config/index.js +1 -1
  19. package/build/api/config/load.d.ts +1 -1
  20. package/build/api/config/load.d.ts.map +1 -1
  21. package/build/api/config/load.js +71 -19
  22. package/build/api/config/load.js.map +1 -1
  23. package/build/api/config/merge.d.ts +1 -1
  24. package/build/api/config/merge.js +1 -1
  25. package/build/api/config/merge.js.map +1 -1
  26. package/build/api/config-resolver/config-resolver.d.ts +2 -2
  27. package/build/api/config-resolver/config-resolver.js +2 -2
  28. package/build/api/config-resolver/index.d.ts +1 -1
  29. package/build/api/config-resolver/index.js +1 -1
  30. package/build/api/config-resolver/resolve.d.ts +3 -3
  31. package/build/api/config-resolver/resolve.d.ts.map +1 -1
  32. package/build/api/config-resolver/resolve.js +8 -5
  33. package/build/api/config-resolver/resolve.js.map +1 -1
  34. package/build/api/config-resolver/vite.d.ts +2 -2
  35. package/build/api/config-resolver/vite.d.ts.map +1 -1
  36. package/build/api/config-resolver/vite.js +2 -2
  37. package/build/api/config-resolver/vite.js.map +1 -1
  38. package/build/api/index.d.ts +1 -1
  39. package/build/api/index.js +1 -1
  40. package/build/api/schema/data-sources/data-sources.d.ts +3 -3
  41. package/build/api/schema/data-sources/data-sources.js +3 -3
  42. package/build/api/schema/data-sources/index.d.ts +1 -1
  43. package/build/api/schema/data-sources/index.js +1 -1
  44. package/build/api/schema/data-sources/memory/memory.d.ts +1 -1
  45. package/build/api/schema/data-sources/memory/memory.js +2 -2
  46. package/build/api/schema/data-sources/memory/memory.js.map +1 -1
  47. package/build/api/schema/data-sources/schema-directory/file-name-expression/index.d.ts +1 -1
  48. package/build/api/schema/data-sources/schema-directory/file-name-expression/index.js +1 -1
  49. package/build/api/schema/data-sources/schema-directory/schema-directory.d.ts +1 -1
  50. package/build/api/schema/data-sources/schema-directory/schema-directory.js +5 -5
  51. package/build/api/schema/data-sources/schema-directory/schema-directory.js.map +1 -1
  52. package/build/api/schema/data-sources/schema-file/schema-file.d.ts +1 -1
  53. package/build/api/schema/data-sources/schema-file/schema-file.js +2 -2
  54. package/build/api/schema/data-sources/schema-file/schema-file.js.map +1 -1
  55. package/build/api/schema/index.d.ts +1 -1
  56. package/build/api/schema/index.js +1 -1
  57. package/build/api/schema/read.d.ts +2 -2
  58. package/build/api/schema/read.js +1 -1
  59. package/build/api/schema/schema.d.ts +3 -3
  60. package/build/api/schema/schema.d.ts.map +1 -1
  61. package/build/api/schema/schema.js +2 -2
  62. package/build/api/schema-augmentation/augmentations/description.d.ts +2 -2
  63. package/build/api/schema-augmentation/augmentations/description.d.ts.map +1 -1
  64. package/build/api/schema-augmentation/augmentations/description.js +1 -1
  65. package/build/api/schema-augmentation/index.d.ts +1 -1
  66. package/build/api/schema-augmentation/index.js +1 -1
  67. package/build/api/schema-augmentation/schema-augmentation.d.ts +2 -2
  68. package/build/api/schema-augmentation/schema-augmentation.d.ts.map +1 -1
  69. package/build/api/schema-augmentation/schema-augmentation.js +1 -1
  70. package/build/api/schema-augmentation/target.d.ts +1 -1
  71. package/build/api/schema-augmentation/target.d.ts.map +1 -1
  72. package/build/api/schema-augmentation/target.js +1 -1
  73. package/build/api/schema-augmentation/target.js.map +1 -1
  74. package/build/api/singletons/markdown/index.d.ts +1 -1
  75. package/build/api/singletons/markdown/index.js +1 -1
  76. package/build/api/vite/log-filters.d.ts +1 -1
  77. package/build/api/vite/log-filters.d.ts.map +1 -1
  78. package/build/api/vite/log-filters.js +1 -1
  79. package/build/api/vite/log-filters.js.map +1 -1
  80. package/build/api/vite/logger.d.ts +1 -1
  81. package/build/api/vite/logger.d.ts.map +1 -1
  82. package/build/api/vite/logger.js +21 -7
  83. package/build/api/vite/logger.js.map +1 -1
  84. package/build/api/vite/plugins/build.d.ts +2 -2
  85. package/build/api/vite/plugins/build.d.ts.map +1 -1
  86. package/build/api/vite/plugins/build.js +14 -6
  87. package/build/api/vite/plugins/build.js.map +1 -1
  88. package/build/api/vite/plugins/core.d.ts +3 -3
  89. package/build/api/vite/plugins/core.d.ts.map +1 -1
  90. package/build/api/vite/plugins/core.js +159 -208
  91. package/build/api/vite/plugins/core.js.map +1 -1
  92. package/build/api/vite/plugins/main.d.ts +2 -2
  93. package/build/api/vite/plugins/main.d.ts.map +1 -1
  94. package/build/api/vite/plugins/main.js +3 -3
  95. package/build/api/vite/plugins/pages-tree.d.ts +16 -0
  96. package/build/api/vite/plugins/pages-tree.d.ts.map +1 -0
  97. package/build/api/vite/plugins/pages-tree.js +152 -0
  98. package/build/api/vite/plugins/pages-tree.js.map +1 -0
  99. package/build/api/vite/plugins/serve.d.ts +2 -2
  100. package/build/api/vite/plugins/serve.d.ts.map +1 -1
  101. package/build/api/vite/plugins/serve.js +41 -26
  102. package/build/api/vite/plugins/serve.js.map +1 -1
  103. package/build/api/vite/vi.d.ts +2 -2
  104. package/build/api/vite/vi.d.ts.map +1 -1
  105. package/build/api/vite/vi.js +2 -2
  106. package/build/api/vite/vi.js.map +1 -1
  107. package/build/cli/_/self-contained-mode.d.ts +16 -0
  108. package/build/cli/_/self-contained-mode.d.ts.map +1 -0
  109. package/build/cli/_/self-contained-mode.js +58 -0
  110. package/build/cli/_/self-contained-mode.js.map +1 -0
  111. package/build/cli/commands/build.js +2 -2
  112. package/build/cli/commands/build.js.map +1 -1
  113. package/build/cli/commands/dev.js +3 -4
  114. package/build/cli/commands/dev.js.map +1 -1
  115. package/build/cli/commands/open.js +4 -4
  116. package/build/cli/commands/open.js.map +1 -1
  117. package/build/dep/graphql-inspector/index.d.ts +1 -1
  118. package/build/dep/graphql-inspector/index.js +1 -1
  119. package/build/dep/hono/hono.d.ts +1 -1
  120. package/build/dep/hono/hono.js +1 -1
  121. package/build/dep/hono/index.d.ts +1 -1
  122. package/build/dep/hono/index.js +1 -1
  123. package/build/dep/superjson/index.d.ts +1 -1
  124. package/build/dep/superjson/index.js +1 -1
  125. package/build/dep/tiny-globby/index.d.ts +1 -1
  126. package/build/dep/tiny-globby/index.js +1 -1
  127. package/build/dep/vite/index.d.ts +1 -1
  128. package/build/dep/vite/index.js +1 -1
  129. package/build/exports/index.d.ts +1 -1
  130. package/build/exports/index.js +1 -1
  131. package/build/exports/polen.d.ts +3 -3
  132. package/build/exports/polen.d.ts.map +1 -1
  133. package/build/exports/polen.js +3 -3
  134. package/build/exports/polen.js.map +1 -1
  135. package/build/lib/apple-touch-icon/index.d.ts +1 -1
  136. package/build/lib/apple-touch-icon/index.js +1 -1
  137. package/build/lib/debug/debug.d.ts +3 -3
  138. package/build/lib/debug/debug.d.ts.map +1 -1
  139. package/build/lib/debug/debug.js +39 -10
  140. package/build/lib/debug/debug.js.map +1 -1
  141. package/build/lib/debug/environment-variable.d.ts +2 -1
  142. package/build/lib/debug/environment-variable.d.ts.map +1 -1
  143. package/build/lib/debug/environment-variable.js +27 -7
  144. package/build/lib/debug/environment-variable.js.map +1 -1
  145. package/build/lib/debug/index.d.ts +1 -1
  146. package/build/lib/debug/index.js +1 -1
  147. package/build/lib/errors/ContextualAggregateError.d.ts +1 -1
  148. package/build/lib/errors/ContextualAggregateError.js +1 -1
  149. package/build/lib/errors/ContextualError.d.ts +1 -1
  150. package/build/lib/errors/ErrorInternal.d.ts +2 -2
  151. package/build/lib/errors/ErrorInternal.js +1 -1
  152. package/build/lib/errors/errors.d.ts +4 -4
  153. package/build/lib/errors/errors.js +4 -4
  154. package/build/lib/errors/index.d.ts +1 -1
  155. package/build/lib/errors/index.js +1 -1
  156. package/build/lib/errors/types.d.ts +1 -1
  157. package/build/lib/favicon/index.d.ts +1 -1
  158. package/build/lib/favicon/index.js +1 -1
  159. package/build/lib/file-router/diagnostic-reporter.d.ts +3 -0
  160. package/build/lib/file-router/diagnostic-reporter.d.ts.map +1 -0
  161. package/build/lib/file-router/diagnostic-reporter.js +18 -0
  162. package/build/lib/file-router/diagnostic-reporter.js.map +1 -0
  163. package/build/lib/file-router/file-router.d.ts +5 -3
  164. package/build/lib/file-router/file-router.d.ts.map +1 -1
  165. package/build/lib/file-router/file-router.js +5 -3
  166. package/build/lib/file-router/file-router.js.map +1 -1
  167. package/build/lib/file-router/index.d.ts +1 -1
  168. package/build/lib/file-router/index.js +1 -1
  169. package/build/lib/file-router/linter.d.ts +25 -2
  170. package/build/lib/file-router/linter.d.ts.map +1 -1
  171. package/build/lib/file-router/linter.js +44 -3
  172. package/build/lib/file-router/linter.js.map +1 -1
  173. package/build/lib/file-router/route.d.ts +1 -0
  174. package/build/lib/file-router/route.d.ts.map +1 -1
  175. package/build/lib/file-router/route.js +1 -1
  176. package/build/lib/file-router/route.js.map +1 -1
  177. package/build/lib/file-router/scan-tree.d.ts +20 -0
  178. package/build/lib/file-router/scan-tree.d.ts.map +1 -0
  179. package/build/lib/file-router/scan-tree.js +158 -0
  180. package/build/lib/file-router/scan-tree.js.map +1 -0
  181. package/build/lib/file-router/scan.d.ts +2 -2
  182. package/build/lib/file-router/scan.d.ts.map +1 -1
  183. package/build/lib/file-router/scan.js +26 -10
  184. package/build/lib/file-router/scan.js.map +1 -1
  185. package/build/lib/file-router/sidebar/index.d.ts +3 -0
  186. package/build/lib/file-router/sidebar/index.d.ts.map +1 -0
  187. package/build/lib/file-router/sidebar/index.js +4 -0
  188. package/build/lib/file-router/sidebar/index.js.map +1 -0
  189. package/build/lib/file-router/sidebar/sidebar-tree.d.ts +9 -0
  190. package/build/lib/file-router/sidebar/sidebar-tree.d.ts.map +1 -0
  191. package/build/lib/file-router/sidebar/sidebar-tree.js +85 -0
  192. package/build/lib/file-router/sidebar/sidebar-tree.js.map +1 -0
  193. package/build/lib/file-router/sidebar/types.d.ts +17 -0
  194. package/build/lib/file-router/sidebar/types.d.ts.map +1 -0
  195. package/build/lib/file-router/sidebar/types.js +2 -0
  196. package/build/lib/file-router/sidebar/types.js.map +1 -0
  197. package/build/lib/grafaid/_Nodes.d.ts +1 -1
  198. package/build/lib/grafaid/_Nodes.js +1 -1
  199. package/build/lib/grafaid/document/OperationTypeNode.d.ts +1 -1
  200. package/build/lib/grafaid/document/OperationTypeNode.js +1 -1
  201. package/build/lib/grafaid/document/kind.d.ts +1 -1
  202. package/build/lib/grafaid/document/kind.js +1 -1
  203. package/build/lib/grafaid/document.d.ts +4 -4
  204. package/build/lib/grafaid/document.js +6 -6
  205. package/build/lib/grafaid/grafaid.d.ts +4 -4
  206. package/build/lib/grafaid/grafaid.js +4 -4
  207. package/build/lib/grafaid/graphql.d.ts +2 -2
  208. package/build/lib/grafaid/graphql.js +2 -2
  209. package/build/lib/grafaid/http/__.d.ts +1 -1
  210. package/build/lib/grafaid/http/__.js +1 -1
  211. package/build/lib/grafaid/http/http.js +1 -1
  212. package/build/lib/grafaid/index.d.ts +1 -1
  213. package/build/lib/grafaid/index.js +1 -1
  214. package/build/lib/grafaid/schema/KindMap/_.d.ts +3 -3
  215. package/build/lib/grafaid/schema/KindMap/_.js +4 -4
  216. package/build/lib/grafaid/schema/KindMap/__.d.ts +2 -2
  217. package/build/lib/grafaid/schema/KindMap/__.js +1 -1
  218. package/build/lib/grafaid/schema/OperationType/__.d.ts +2 -2
  219. package/build/lib/grafaid/schema/OperationType/__.js +1 -1
  220. package/build/lib/grafaid/schema/RootDetails.d.ts +3 -3
  221. package/build/lib/grafaid/schema/RootDetails.js +2 -2
  222. package/build/lib/grafaid/schema/RootTypeMap.d.ts +2 -2
  223. package/build/lib/grafaid/schema/RootTypeMap.js +2 -2
  224. package/build/lib/grafaid/schema/nodes-like.d.ts +1 -1
  225. package/build/lib/grafaid/schema/nodes-like.js +1 -1
  226. package/build/lib/grafaid/schema/schema.d.ts +14 -14
  227. package/build/lib/grafaid/schema/schema.js +15 -15
  228. package/build/lib/grafaid/schema/type-kind-name.d.ts +1 -1
  229. package/build/lib/grafaid/schema/type-kind-name.js +1 -1
  230. package/build/lib/grafaid/schema/type.d.ts +1 -1
  231. package/build/lib/grafaid/schema/typeGuards.js +1 -1
  232. package/build/lib/grafaid-old/grafaid.d.ts +1 -1
  233. package/build/lib/grafaid-old/grafaid.js +1 -1
  234. package/build/lib/grafaid-old/index.d.ts +1 -1
  235. package/build/lib/grafaid-old/index.js +1 -1
  236. package/build/lib/graphql-change/graphql-change.d.ts +2 -2
  237. package/build/lib/graphql-change/graphql-change.d.ts.map +1 -1
  238. package/build/lib/graphql-change/graphql-change.js +1 -1
  239. package/build/lib/graphql-change/graphql-change.js.map +1 -1
  240. package/build/lib/graphql-change/index.d.ts +1 -1
  241. package/build/lib/graphql-change/index.js +1 -1
  242. package/build/lib/graphql-changeset/graphql-changeset.d.ts +2 -2
  243. package/build/lib/graphql-changeset/graphql-changeset.d.ts.map +1 -1
  244. package/build/lib/graphql-changeset/index.d.ts +1 -1
  245. package/build/lib/graphql-changeset/index.js +1 -1
  246. package/build/lib/graphql-schema-loader/graphql-schema-loader.d.ts +1 -1
  247. package/build/lib/graphql-schema-loader/graphql-schema-loader.d.ts.map +1 -1
  248. package/build/lib/graphql-schema-loader/graphql-schema-loader.js +1 -1
  249. package/build/lib/graphql-schema-loader/graphql-schema-loader.js.map +1 -1
  250. package/build/lib/graphql-schema-loader/index.d.ts +1 -1
  251. package/build/lib/graphql-schema-loader/index.js +1 -1
  252. package/build/lib/hono-aid/hono-aid.d.ts +1 -1
  253. package/build/lib/hono-aid/hono-aid.d.ts.map +1 -1
  254. package/build/lib/hono-aid/index.d.ts +1 -1
  255. package/build/lib/hono-aid/index.js +1 -1
  256. package/build/lib/kit-temp.d.ts +6 -0
  257. package/build/lib/kit-temp.d.ts.map +1 -1
  258. package/build/lib/kit-temp.js +3 -0
  259. package/build/lib/kit-temp.js.map +1 -1
  260. package/build/lib/react-router-aid/get-paths-patterns.d.ts +1 -1
  261. package/build/lib/react-router-aid/get-paths-patterns.d.ts.map +1 -1
  262. package/build/lib/react-router-aid/index.d.ts +1 -1
  263. package/build/lib/react-router-aid/index.js +1 -1
  264. package/build/lib/react-router-aid/react-router-aid.d.ts +2 -2
  265. package/build/lib/react-router-aid/react-router-aid.d.ts.map +1 -1
  266. package/build/lib/react-router-aid/react-router-aid.js +1 -1
  267. package/build/lib/react-router-loader/react-router-loader.js +1 -1
  268. package/build/lib/stack-processor/index.d.ts +1 -1
  269. package/build/lib/stack-processor/index.js +1 -1
  270. package/build/lib/superjson-codec/codec.d.ts +1 -1
  271. package/build/lib/superjson-codec/codec.d.ts.map +1 -1
  272. package/build/lib/superjson-codec/codecs/graphql-schema.d.ts +2 -2
  273. package/build/lib/superjson-codec/codecs/graphql-schema.d.ts.map +1 -1
  274. package/build/lib/superjson-codec/codecs/graphql-schema.js +2 -2
  275. package/build/lib/superjson-codec/codecs/graphql-schema.js.map +1 -1
  276. package/build/lib/superjson-codec/exports.d.ts +2 -2
  277. package/build/lib/superjson-codec/exports.js +2 -2
  278. package/build/lib/superjson-codec/index.d.ts +1 -1
  279. package/build/lib/superjson-codec/index.js +1 -1
  280. package/build/lib/tree/index.d.ts +3 -0
  281. package/build/lib/tree/index.d.ts.map +1 -0
  282. package/build/lib/tree/index.js +2 -0
  283. package/build/lib/tree/index.js.map +1 -0
  284. package/build/lib/tree/tree.d.ts +62 -0
  285. package/build/lib/tree/tree.d.ts.map +1 -0
  286. package/build/lib/tree/tree.js +134 -0
  287. package/build/lib/tree/tree.js.map +1 -0
  288. package/build/lib/vite-plugin-config/vite-plugin-config.d.ts +1 -1
  289. package/build/lib/vite-plugin-config/vite-plugin-config.d.ts.map +1 -1
  290. package/build/lib/vite-plugin-mdx/index.d.ts +1 -1
  291. package/build/lib/vite-plugin-mdx/index.d.ts.map +1 -1
  292. package/build/lib/vite-plugin-mdx/index.js +1 -3
  293. package/build/lib/vite-plugin-mdx/index.js.map +1 -1
  294. package/build/lib/vite-plugin-mdx/vite-plugin-mdx.d.ts +22 -0
  295. package/build/lib/vite-plugin-mdx/vite-plugin-mdx.d.ts.map +1 -1
  296. package/build/lib/vite-plugin-mdx/vite-plugin-mdx.js +55 -71
  297. package/build/lib/vite-plugin-mdx/vite-plugin-mdx.js.map +1 -1
  298. package/build/lib/vite-plugins/index.d.ts +1 -1
  299. package/build/lib/vite-plugins/index.js +1 -1
  300. package/build/lib/vite-plugins/vite-plugins.d.ts +1 -1
  301. package/build/lib/vite-plugins/vite-plugins.js +1 -1
  302. package/build/lib/vite-virtual/debug.d.ts +3 -0
  303. package/build/lib/vite-virtual/debug.d.ts.map +1 -0
  304. package/build/lib/vite-virtual/debug.js +3 -0
  305. package/build/lib/vite-virtual/debug.js.map +1 -0
  306. package/build/lib/vite-virtual/hooks.d.ts +1 -1
  307. package/build/lib/vite-virtual/hooks.d.ts.map +1 -1
  308. package/build/lib/vite-virtual/identified-loader.d.ts +3 -3
  309. package/build/lib/vite-virtual/identified-loader.d.ts.map +1 -1
  310. package/build/lib/vite-virtual/identified-loader.js +2 -2
  311. package/build/lib/vite-virtual/identified-loader.js.map +1 -1
  312. package/build/lib/vite-virtual/identifier.js +1 -1
  313. package/build/lib/vite-virtual/index.d.ts +1 -1
  314. package/build/lib/vite-virtual/index.js +1 -1
  315. package/build/lib/vite-virtual/vite-virtual.d.ts +3 -3
  316. package/build/lib/vite-virtual/vite-virtual.js +3 -3
  317. package/build/package-paths.d.ts +7 -0
  318. package/build/package-paths.d.ts.map +1 -1
  319. package/build/package-paths.js +12 -1
  320. package/build/package-paths.js.map +1 -1
  321. package/build/project-data.d.ts +4 -20
  322. package/build/project-data.d.ts.map +1 -1
  323. package/build/singletons/debug.d.ts +3 -0
  324. package/build/singletons/debug.d.ts.map +1 -0
  325. package/build/singletons/debug.js +3 -0
  326. package/build/singletons/debug.js.map +1 -0
  327. package/build/singletons/superjson.d.ts +1 -1
  328. package/build/singletons/superjson.d.ts.map +1 -1
  329. package/build/singletons/superjson.js +2 -2
  330. package/build/singletons/superjson.js.map +1 -1
  331. package/build/template/components/ArgumentListAnnotation.jsx +1 -1
  332. package/build/template/components/ArgumentListAnnotation.jsx.map +1 -1
  333. package/build/template/components/Changelog.d.ts +1 -1
  334. package/build/template/components/Changelog.jsx +2 -2
  335. package/build/template/components/Changelog.jsx.map +1 -1
  336. package/build/template/components/DeprecationReason.d.ts +1 -1
  337. package/build/template/components/DeprecationReason.d.ts.map +1 -1
  338. package/build/template/components/Description.d.ts +1 -1
  339. package/build/template/components/Description.d.ts.map +1 -1
  340. package/build/template/components/Field.d.ts +1 -1
  341. package/build/template/components/Field.d.ts.map +1 -1
  342. package/build/template/components/Field.jsx +1 -1
  343. package/build/template/components/Field.jsx.map +1 -1
  344. package/build/template/components/FieldList.d.ts +1 -1
  345. package/build/template/components/FieldList.d.ts.map +1 -1
  346. package/build/template/components/FieldList.jsx +1 -1
  347. package/build/template/components/FieldList.jsx.map +1 -1
  348. package/build/template/components/FieldListSection.jsx +1 -1
  349. package/build/template/components/FieldListSection.jsx.map +1 -1
  350. package/build/template/components/Markdown.jsx +1 -1
  351. package/build/template/components/Markdown.jsx.map +1 -1
  352. package/build/template/components/Sidebar.d.ts +2 -2
  353. package/build/template/components/Sidebar.d.ts.map +1 -1
  354. package/build/template/components/Sidebar.jsx +11 -7
  355. package/build/template/components/Sidebar.jsx.map +1 -1
  356. package/build/template/components/TypeIndex.jsx +1 -1
  357. package/build/template/components/TypeIndex.jsx.map +1 -1
  358. package/build/template/components/graphql/type-kind-icon.d.ts +2 -2
  359. package/build/template/components/graphql/type-kind-icon.d.ts.map +1 -1
  360. package/build/template/components/graphql/type-kind-icon.jsx +1 -1
  361. package/build/template/components/graphql/type-link.d.ts +1 -1
  362. package/build/template/components/graphql/type-link.d.ts.map +1 -1
  363. package/build/template/components/graphql/type-link.jsx +2 -2
  364. package/build/template/components/graphql/type-link.jsx.map +1 -1
  365. package/build/template/entry.client.jsx +1 -1
  366. package/build/template/entry.client.jsx.map +1 -1
  367. package/build/template/routes/changelog.d.ts +1 -1
  368. package/build/template/routes/changelog.jsx +2 -2
  369. package/build/template/routes/changelog.jsx.map +1 -1
  370. package/build/template/routes/index.d.ts +1 -1
  371. package/build/template/routes/index.d.ts.map +1 -1
  372. package/build/template/routes/index.jsx +1 -1
  373. package/build/template/routes/index.jsx.map +1 -1
  374. package/build/template/routes/reference.$type.$field.jsx +3 -3
  375. package/build/template/routes/reference.$type.$field.jsx.map +1 -1
  376. package/build/template/routes/reference.$type.jsx +2 -2
  377. package/build/template/routes/reference.$type.jsx.map +1 -1
  378. package/build/template/routes/reference.jsx +2 -2
  379. package/build/template/routes/reference.jsx.map +1 -1
  380. package/build/template/routes/root.d.ts +1 -1
  381. package/build/template/routes/root.d.ts.map +1 -1
  382. package/build/template/routes/root.jsx +3 -3
  383. package/build/template/routes/root.jsx.map +1 -1
  384. package/build/template/server/app.d.ts +1 -1
  385. package/build/template/server/app.d.ts.map +1 -1
  386. package/build/template/server/app.js +5 -4
  387. package/build/template/server/app.js.map +1 -1
  388. package/build/template/server/main.js +3 -3
  389. package/build/template/server/manifest.d.ts +1 -1
  390. package/build/template/server/manifest.d.ts.map +1 -1
  391. package/build/template/server/render-page.d.ts +1 -1
  392. package/build/template/server/render-page.d.ts.map +1 -1
  393. package/build/template/server/render-page.jsx +2 -2
  394. package/build/template/server/ssg/generate.d.ts +1 -1
  395. package/build/template/server/ssg/generate.d.ts.map +1 -1
  396. package/build/template/server/ssg/generate.js +3 -3
  397. package/build/template/server/ssg/generate.js.map +1 -1
  398. package/build/template/server/ssg/get-route-paths.js +2 -2
  399. package/build/template/server/ssg/get-route-paths.js.map +1 -1
  400. package/package.json +70 -54
  401. package/src/api/api.ts +3 -3
  402. package/src/api/builder/builder.ts +3 -3
  403. package/src/api/builder/index.ts +1 -1
  404. package/src/api/config/config.ts +4 -4
  405. package/src/api/config/configurator.ts +27 -5
  406. package/src/api/config/define.ts +1 -1
  407. package/src/api/config/index.ts +1 -1
  408. package/src/api/config/load.ts +74 -23
  409. package/src/api/config/merge.ts +2 -2
  410. package/src/api/config-resolver/config-resolver.ts +2 -2
  411. package/src/api/config-resolver/index.ts +1 -1
  412. package/src/api/config-resolver/resolve.ts +8 -5
  413. package/src/api/config-resolver/vite.ts +3 -3
  414. package/src/api/index.ts +1 -1
  415. package/src/api/schema/data-sources/data-sources.ts +3 -3
  416. package/src/api/schema/data-sources/index.ts +1 -1
  417. package/src/api/schema/data-sources/memory/memory.ts +4 -4
  418. package/src/api/schema/data-sources/schema-directory/file-name-expression/index.ts +1 -1
  419. package/src/api/schema/data-sources/schema-directory/schema-directory.ts +7 -7
  420. package/src/api/schema/data-sources/schema-file/schema-file.ts +4 -4
  421. package/src/api/schema/index.ts +1 -1
  422. package/src/api/schema/read.ts +2 -2
  423. package/src/api/schema/schema.ts +3 -3
  424. package/src/api/schema-augmentation/augmentations/description.ts +3 -3
  425. package/src/api/schema-augmentation/index.ts +1 -1
  426. package/src/api/schema-augmentation/schema-augmentation.ts +2 -2
  427. package/src/api/schema-augmentation/target.ts +1 -1
  428. package/src/api/singletons/markdown/index.ts +1 -1
  429. package/src/api/vite/log-filters.ts +1 -1
  430. package/src/api/vite/logger.ts +23 -7
  431. package/src/api/vite/plugins/build.ts +6 -6
  432. package/src/api/vite/plugins/core.ts +177 -245
  433. package/src/api/vite/plugins/main.ts +5 -5
  434. package/src/api/vite/plugins/pages-tree.ts +186 -0
  435. package/src/api/vite/plugins/serve.ts +52 -29
  436. package/src/api/vite/vi.ts +2 -2
  437. package/src/cli/_/self-contained-mode.ts +85 -0
  438. package/src/cli/commands/build.ts +2 -2
  439. package/src/cli/commands/dev.ts +3 -4
  440. package/src/cli/commands/open.ts +4 -4
  441. package/src/dep/graphql-inspector/index.ts +1 -1
  442. package/src/dep/hono/hono.ts +1 -1
  443. package/src/dep/hono/index.ts +1 -1
  444. package/src/dep/superjson/index.ts +1 -1
  445. package/src/dep/tiny-globby/index.ts +1 -1
  446. package/src/dep/vite/index.ts +1 -1
  447. package/src/exports/index.ts +1 -1
  448. package/src/exports/polen.ts +3 -3
  449. package/src/lib/apple-touch-icon/index.ts +1 -1
  450. package/src/lib/debug/debug.ts +45 -18
  451. package/src/lib/debug/environment-variable.ts +28 -7
  452. package/src/lib/debug/index.ts +1 -1
  453. package/src/lib/errors/ContextualAggregateError.ts +1 -1
  454. package/src/lib/errors/ContextualError.ts +1 -1
  455. package/src/lib/errors/ErrorInternal.ts +2 -2
  456. package/src/lib/errors/errors.ts +4 -4
  457. package/src/lib/errors/index.ts +1 -1
  458. package/src/lib/errors/types.ts +1 -1
  459. package/src/lib/favicon/index.ts +1 -1
  460. package/src/lib/file-router/diagnostic-reporter.ts +22 -0
  461. package/src/lib/file-router/file-router.ts +5 -3
  462. package/src/lib/file-router/index.test.ts +2 -2
  463. package/src/lib/file-router/index.ts +1 -1
  464. package/src/lib/file-router/linter.test.ts +115 -0
  465. package/src/lib/file-router/linter.ts +78 -4
  466. package/src/lib/file-router/route.ts +2 -1
  467. package/src/lib/file-router/scan-tree.test.ts +189 -0
  468. package/src/lib/file-router/scan-tree.ts +205 -0
  469. package/src/lib/file-router/scan.ts +27 -12
  470. package/src/lib/file-router/sidebar/index.ts +3 -0
  471. package/src/lib/file-router/sidebar/sidebar-tree.test.ts +123 -0
  472. package/src/lib/file-router/sidebar/sidebar-tree.ts +110 -0
  473. package/src/lib/file-router/sidebar/types.ts +19 -0
  474. package/src/lib/grafaid/_Nodes.ts +1 -1
  475. package/src/lib/grafaid/document/OperationTypeNode.ts +1 -1
  476. package/src/lib/grafaid/document/kind.ts +1 -1
  477. package/src/lib/grafaid/document.ts +6 -6
  478. package/src/lib/grafaid/grafaid.ts +4 -4
  479. package/src/lib/grafaid/graphql.ts +3 -3
  480. package/src/lib/grafaid/http/__.ts +1 -1
  481. package/src/lib/grafaid/http/http.ts +1 -1
  482. package/src/lib/grafaid/index.ts +1 -1
  483. package/src/lib/grafaid/schema/KindMap/_.ts +6 -6
  484. package/src/lib/grafaid/schema/KindMap/__.ts +2 -2
  485. package/src/lib/grafaid/schema/OperationType/__.ts +2 -2
  486. package/src/lib/grafaid/schema/RootDetails.ts +3 -3
  487. package/src/lib/grafaid/schema/RootTypeMap.ts +2 -2
  488. package/src/lib/grafaid/schema/nodes-like.ts +2 -2
  489. package/src/lib/grafaid/schema/schema.ts +15 -15
  490. package/src/lib/grafaid/schema/type-kind-name.ts +1 -1
  491. package/src/lib/grafaid/schema/type.ts +1 -1
  492. package/src/lib/grafaid/schema/typeGuards.ts +1 -1
  493. package/src/lib/grafaid-old/grafaid.ts +1 -1
  494. package/src/lib/grafaid-old/index.ts +1 -1
  495. package/src/lib/graphql-change/graphql-change.ts +2 -2
  496. package/src/lib/graphql-change/index.ts +1 -1
  497. package/src/lib/graphql-changeset/graphql-changeset.ts +2 -2
  498. package/src/lib/graphql-changeset/index.ts +1 -1
  499. package/src/lib/graphql-schema-loader/graphql-schema-loader.ts +1 -1
  500. package/src/lib/graphql-schema-loader/index.ts +1 -1
  501. package/src/lib/hono-aid/hono-aid.ts +1 -1
  502. package/src/lib/hono-aid/index.ts +1 -1
  503. package/src/lib/kit-temp.ts +10 -0
  504. package/src/lib/react-router-aid/get-paths-patterns.ts +1 -1
  505. package/src/lib/react-router-aid/index.ts +1 -1
  506. package/src/lib/react-router-aid/react-router-aid.ts +2 -2
  507. package/src/lib/react-router-loader/react-router-loader.ts +1 -1
  508. package/src/lib/stack-processor/index.ts +1 -1
  509. package/src/lib/superjson-codec/codec.ts +1 -1
  510. package/src/lib/superjson-codec/codecs/graphql-schema.ts +2 -2
  511. package/src/lib/superjson-codec/exports.ts +2 -2
  512. package/src/lib/superjson-codec/index.ts +1 -1
  513. package/src/lib/tree/index.ts +2 -0
  514. package/src/lib/tree/tree.test.ts +117 -0
  515. package/src/lib/tree/tree.ts +183 -0
  516. package/src/lib/vite-plugin-config/vite-plugin-config.ts +1 -1
  517. package/src/lib/vite-plugin-mdx/index.ts +1 -2
  518. package/src/lib/vite-plugin-mdx/vite-plugin-mdx.ts +80 -70
  519. package/src/lib/vite-plugins/index.ts +1 -1
  520. package/src/lib/vite-plugins/vite-plugins.ts +1 -1
  521. package/src/lib/vite-virtual/debug.ts +3 -0
  522. package/src/lib/vite-virtual/hooks.ts +1 -1
  523. package/src/lib/vite-virtual/identified-loader.ts +5 -5
  524. package/src/lib/vite-virtual/identifier.ts +1 -1
  525. package/src/lib/vite-virtual/index.ts +1 -1
  526. package/src/lib/vite-virtual/vite-virtual.ts +3 -3
  527. package/src/package-paths.ts +22 -1
  528. package/src/project-data.ts +4 -24
  529. package/src/singletons/debug.ts +3 -0
  530. package/src/singletons/superjson.ts +2 -2
  531. package/src/template/components/ArgumentListAnnotation.tsx +1 -1
  532. package/src/template/components/Changelog.tsx +6 -6
  533. package/src/template/components/DeprecationReason.tsx +1 -1
  534. package/src/template/components/Description.tsx +1 -1
  535. package/src/template/components/Field.tsx +1 -1
  536. package/src/template/components/FieldList.tsx +1 -1
  537. package/src/template/components/FieldListSection.tsx +1 -1
  538. package/src/template/components/Markdown.tsx +1 -1
  539. package/src/template/components/Sidebar.tsx +16 -11
  540. package/src/template/components/TypeIndex.tsx +1 -1
  541. package/src/template/components/graphql/type-kind-icon.tsx +3 -3
  542. package/src/template/components/graphql/type-kind-tokens.ts +1 -1
  543. package/src/template/components/graphql/type-link.tsx +2 -2
  544. package/src/template/entry.client.tsx +1 -1
  545. package/src/template/routes/changelog.tsx +2 -2
  546. package/src/template/routes/index.tsx +1 -1
  547. package/src/template/routes/reference.$type.$field.tsx +3 -3
  548. package/src/template/routes/reference.$type.tsx +2 -2
  549. package/src/template/routes/reference.tsx +2 -2
  550. package/src/template/routes/root.tsx +4 -5
  551. package/src/template/server/app.ts +6 -4
  552. package/src/template/server/main.ts +3 -3
  553. package/src/template/server/manifest.ts +1 -1
  554. package/src/template/server/render-page.tsx +4 -4
  555. package/src/template/server/ssg/generate.ts +4 -4
  556. package/src/template/server/ssg/get-route-paths.ts +2 -2
  557. package/build/lib/file-router/sidebar.d.ts +0 -2
  558. package/build/lib/file-router/sidebar.d.ts.map +0 -1
  559. package/build/lib/file-router/sidebar.js +0 -2
  560. package/build/lib/file-router/sidebar.js.map +0 -1
  561. package/src/lib/file-router/sidebar.ts +0 -0
@@ -0,0 +1,186 @@
1
+ import type { Config } from '#api/config/index'
2
+ import { polenVirtual } from '#api/vite/vi'
3
+ import type { Vite } from '#dep/vite/index'
4
+ import { reportDiagnostics } from '#lib/file-router/diagnostic-reporter'
5
+ import { FileRouter } from '#lib/file-router/index'
6
+ import { ViteVirtual } from '#lib/vite-virtual/index'
7
+ import { debug } from '#singletons/debug'
8
+ import mdx from '@mdx-js/rollup'
9
+ import { Path, Str } from '@wollybeard/kit'
10
+ import remarkGfm from 'remark-gfm'
11
+
12
+ const _debug = debug.sub(`vite-plugin-pages-tree`)
13
+
14
+ export const viProjectPages = polenVirtual([`project`, `pages.jsx`], { allowPluginProcessing: true })
15
+
16
+ export interface PagesTreePluginOptions {
17
+ config: Config.Config
18
+ onPagesChange?: (pages: FileRouter.ScanResult) => void
19
+ onTreeChange?: (tree: FileRouter.RouteTreeNode) => void
20
+ }
21
+
22
+ /**
23
+ * Pages plugin with tree support
24
+ */
25
+ export const createPagesTreePlugin = (
26
+ { config, onPagesChange, onTreeChange }: PagesTreePluginOptions,
27
+ ): Vite.Plugin[] => {
28
+ // State management
29
+ let pagesCache: FileRouter.ScanResult | null = null
30
+ let treeCache: FileRouter.RouteTreeNode | null = null
31
+
32
+ // Helper functions
33
+ const scanPages = async () => {
34
+ if (!pagesCache) {
35
+ _debug(`Scanning pages - cache is null, loading fresh data`)
36
+ pagesCache = await FileRouter.scan({
37
+ dir: config.paths.project.absolute.pages,
38
+ glob: `**/*.{md,mdx}`,
39
+ })
40
+ _debug(`Found ${String(pagesCache.routes.length)} pages`)
41
+ } else {
42
+ _debug(`Using cached pages`)
43
+ }
44
+ return pagesCache
45
+ }
46
+
47
+ const scanTree = async () => {
48
+ if (!treeCache) {
49
+ _debug(`Scanning tree - cache is null, loading fresh data`)
50
+ const result = await FileRouter.scanTree({
51
+ dir: config.paths.project.absolute.pages,
52
+ glob: `**/*.{md,mdx}`,
53
+ })
54
+ treeCache = result.routeTree
55
+ _debug(`Built route tree`)
56
+ } else {
57
+ _debug(`Using cached tree`)
58
+ }
59
+ return treeCache
60
+ }
61
+
62
+ const clearCache = () => {
63
+ _debug(`Clearing pages and tree cache`)
64
+ pagesCache = null
65
+ treeCache = null
66
+ }
67
+
68
+ const isPageFile = (file: string) => {
69
+ return (file.endsWith(`.md`) || file.endsWith(`.mdx`))
70
+ && file.includes(config.paths.project.absolute.pages)
71
+ }
72
+
73
+ const generatePagesModule = (pagesScanResult: FileRouter.ScanResult): string => {
74
+ const $ = {
75
+ pages: `pages`,
76
+ }
77
+
78
+ const s = Str.Builder()
79
+ s`export const ${$.pages} = []`
80
+
81
+ // Generate imports and route objects
82
+ for (const route of pagesScanResult.routes) {
83
+ const filePathExp = Path.format(route.file.path.absolute)
84
+ const pathExp = FileRouter.routeToPathExpression(route)
85
+ const ident = Str.Case.camel(`page ` + Str.titlizeSlug(pathExp))
86
+
87
+ s`
88
+ import ${ident} from '${filePathExp}'
89
+
90
+ ${$.pages}.push({
91
+ path: '${pathExp}',
92
+ Component: ${ident}
93
+ })
94
+ `
95
+ }
96
+
97
+ return s.render()
98
+ }
99
+
100
+ return [
101
+ // Plugin 1: MDX Processing
102
+ {
103
+ enforce: `pre` as const,
104
+ ...mdx({
105
+ jsxImportSource: `polen/react`,
106
+ remarkPlugins: [remarkGfm],
107
+ }),
108
+ },
109
+
110
+ // Plugin 2: Pages Management
111
+ {
112
+ name: `polen:pages-tree`,
113
+
114
+ // Dev server configuration
115
+ configureServer(server) {
116
+ // Add pages directory to watcher
117
+ _debug(`Adding pages directory to watcher:`, config.paths.project.absolute.pages)
118
+ server.watcher.add(config.paths.project.absolute.pages)
119
+ },
120
+
121
+ // Hot update handling
122
+ async handleHotUpdate({ file, server }) {
123
+ if (!isPageFile(file)) return
124
+
125
+ _debug(`Page file changed:`, file)
126
+
127
+ // Clear cache
128
+ clearCache()
129
+
130
+ // Invalidate virtual module
131
+ const mod = server.moduleGraph.getModuleById(viProjectPages.resolved)
132
+ if (mod) {
133
+ server.moduleGraph.invalidateModule(mod)
134
+ _debug(`Invalidated pages virtual module`)
135
+ }
136
+
137
+ // Notify about pages change (for other plugins that depend on pages)
138
+ if (onPagesChange) {
139
+ const pages = await scanPages()
140
+ // Report any diagnostics
141
+ reportDiagnostics(pages.diagnostics)
142
+ onPagesChange(pages)
143
+ }
144
+
145
+ // Notify about tree change
146
+ if (onTreeChange) {
147
+ const tree = await scanTree()
148
+ onTreeChange(tree)
149
+ }
150
+
151
+ // Trigger full reload
152
+ server.ws.send({ type: `full-reload` })
153
+
154
+ return []
155
+ },
156
+
157
+ // Virtual module handling
158
+ ...ViteVirtual.IdentifiedLoader.toHooks({
159
+ identifier: viProjectPages,
160
+ async loader() {
161
+ _debug(`Loading viProjectPages virtual module`)
162
+ const pagesScanResult = await scanPages()
163
+ const tree = await scanTree()
164
+
165
+ // Report any diagnostics
166
+ reportDiagnostics(pagesScanResult.diagnostics)
167
+
168
+ // Notify about pages (useful for initial load)
169
+ onPagesChange?.(pagesScanResult)
170
+ onTreeChange?.(tree)
171
+
172
+ return generatePagesModule(pagesScanResult)
173
+ },
174
+ }),
175
+ },
176
+ ]
177
+ }
178
+
179
+ // Helper to get tree
180
+ export const getRouteTree = async (config: Config.Config): Promise<FileRouter.RouteTreeNode> => {
181
+ const result = await FileRouter.scanTree({
182
+ dir: config.paths.project.absolute.pages,
183
+ glob: `**/*.{md,mdx}`,
184
+ })
185
+ return result.routeTree
186
+ }
@@ -1,28 +1,60 @@
1
- import type { Config } from '#api/config/index.js'
2
- import type { Hono } from '#dep/hono/index.js'
3
- import type { Vite } from '#dep/vite/index.js'
1
+ import type { Config } from '#api/config/index'
2
+ import type { Hono } from '#dep/hono/index'
3
+ import type { Vite } from '#dep/vite/index'
4
+ import { debug } from '#singletons/debug'
4
5
  import * as HonoNodeServer from '@hono/node-server'
6
+ import { Err } from '@wollybeard/kit'
7
+
8
+ type App = Hono.Hono
9
+
10
+ interface AppServerModule {
11
+ app: App
12
+ }
5
13
 
6
14
  export const Serve = (
7
15
  config: Config.Config,
8
16
  ): Vite.PluginOption => {
9
- return {
10
- name: `polen:serve`,
11
- apply: `serve`,
12
- async configureServer(server) {
13
- let honoApp: Hono.Hono
17
+ let appPromise: Promise<App>
14
18
 
15
- try {
16
- const module = await server.ssrLoadModule(config.paths.framework.template.server.app) as { app: Hono.Hono }
17
- honoApp = module.app
18
- } catch (cause) {
19
- if (cause instanceof Error) {
19
+ const reloadApp = async ({ server }: { server: Vite.ViteDevServer }): Promise<App> => {
20
+ debug('reloadApp')
21
+ return await server.ssrLoadModule(config.paths.framework.template.server.app)
22
+ .then(module => module as AppServerModule)
23
+ .then(module => module.app)
24
+ .catch(cause => {
25
+ if (Err.is(cause)) {
20
26
  server.ssrFixStacktrace(cause)
21
27
  }
22
28
  throw cause
23
- }
29
+ })
30
+ }
24
31
 
25
- // Add middleware that runs our entry server
32
+ return {
33
+ name: `polen:serve`,
34
+ apply: `serve`,
35
+ config() {
36
+ return {
37
+ server: {
38
+ port: 3000,
39
+ watch: {
40
+ disableGlobbing: false,
41
+ },
42
+ fs: {
43
+ strict: false, // bring back true, with the allow below might already work now
44
+ allow: [
45
+ config.paths.project.rootDir,
46
+ ],
47
+ },
48
+ },
49
+ }
50
+ },
51
+ handleHotUpdate({ server }) {
52
+ // Reload app server immediately in the background
53
+ appPromise = reloadApp({ server })
54
+ },
55
+ async configureServer(server) {
56
+ // Initial load
57
+ appPromise = reloadApp({ server })
26
58
 
27
59
  return () => {
28
60
  // Remove index.html serving middleware.
@@ -31,26 +63,17 @@ export const Serve = (
31
63
  server.middlewares.stack.findIndex(m => m.handle.name === `viteHtmlFallbackMiddleware`),
32
64
  1,
33
65
  )
66
+
67
+ // Add middleware that runs our entry server
34
68
  server.middlewares.use((req, res, ___next) => {
35
69
  void HonoNodeServer.getRequestListener(async request => {
36
- // request.viteDevServer = server
37
- const response = await honoApp.fetch(request, { viteDevServer: server })
70
+ // Always await the current app promise
71
+ const app = await appPromise
72
+ const response = await app.fetch(request, { viteDevServer: server })
38
73
  return response
39
74
  })(req, res)
40
75
  })
41
76
  }
42
77
  },
43
- config() {
44
- return {
45
- server: {
46
- fs: {
47
- strict: false,
48
- allow: [
49
- // todo allow from polen
50
- ],
51
- },
52
- },
53
- }
54
- },
55
78
  }
56
79
  }
@@ -1,5 +1,5 @@
1
- import { ViteVirtual } from '#lib/vite-virtual/index.js'
1
+ import { ViteVirtual } from '#lib/vite-virtual/index'
2
2
 
3
- export const vi = ViteVirtual.Identifier.createFactory({
3
+ export const polenVirtual = ViteVirtual.Identifier.createFactory({
4
4
  namespace: `polen`,
5
5
  })
@@ -0,0 +1,85 @@
1
+ import type { Vite } from '#dep/vite/index'
2
+ import { type ImportEvent, isSpecifierFromPackage } from '#lib/kit-temp'
3
+ import { packagePaths } from '#package-paths'
4
+ import { debug } from '#singletons/debug'
5
+ import type * as Module from 'node:module'
6
+ import { fileURLToPath } from 'node:url'
7
+
8
+ export interface SelfContainedModeHooksData {
9
+ projectDirPathExp: string
10
+ }
11
+
12
+ let data_: SelfContainedModeHooksData | undefined = undefined
13
+
14
+ export function initialize(data: SelfContainedModeHooksData) {
15
+ data_ = data
16
+ }
17
+
18
+ export const resolve: Module.ResolveHook = async (specifier, context, nextResolve) => {
19
+ if (!data_) throw new Error(`Self-contained mode not initialized`)
20
+
21
+ const _debug = debug.sub(`node-module-hooks`)
22
+
23
+ const from: ImportEvent = {
24
+ specifier,
25
+ context,
26
+ }
27
+
28
+ if (
29
+ from.context.parentURL && checkIsSelfImportFromProject({
30
+ projectDirPathExp: data_.projectDirPathExp,
31
+ specifier,
32
+ importerPathExpOrFileUrlExp: from.context.parentURL,
33
+ })
34
+ ) {
35
+ _debug(`resolve check`, { specifier, context })
36
+
37
+ const to: ImportEvent = {
38
+ specifier: from.specifier,
39
+ context: {
40
+ conditions: [...from.context.conditions, `source`],
41
+ parentURL: import.meta.url,
42
+ importAttributes: from.context.importAttributes,
43
+ },
44
+ }
45
+
46
+ _debug(`resolve`, { from, to })
47
+
48
+ await nextResolve(to.specifier, to.context)
49
+ }
50
+
51
+ return nextResolve(specifier, context)
52
+ }
53
+
54
+ export const checkIsSelfImportFromProject = (input: {
55
+ specifier: string
56
+ importerPathExpOrFileUrlExp: string
57
+ projectDirPathExp: string
58
+ }): boolean => {
59
+ // Not clear it would ever not be the case but we're being careful here.
60
+ // ...would be intersted to know if this is ever false.
61
+ const isImporterTheProject = input.importerPathExpOrFileUrlExp.includes(input.projectDirPathExp)
62
+
63
+ const isImportMe = isSpecifierFromPackage(input.specifier, packagePaths.name)
64
+
65
+ return isImporterTheProject && isImportMe
66
+ }
67
+
68
+ export const VitePluginSelfContainedMode = ({ projectDirPathExp }: { projectDirPathExp: string }): Vite.Plugin => {
69
+ const d = debug.sub(`vite-plugin:self-contained-import`)
70
+
71
+ return {
72
+ name: `polen:self-contained-import`,
73
+ resolveId(id, importer) {
74
+ const isSelfContainedImport = importer
75
+ && checkIsSelfImportFromProject({ projectDirPathExp, specifier: id, importerPathExpOrFileUrlExp: importer })
76
+ if (!isSelfContainedImport) return
77
+
78
+ const to = fileURLToPath(import.meta.resolve(id))
79
+
80
+ d(`did resolve`, { from: id, to })
81
+
82
+ return to
83
+ },
84
+ }
85
+ }
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable */
2
2
  // @ts-nocheck
3
- import { Api } from '#api/index.js'
4
- import { Vite } from '#dep/vite/index.js'
3
+ import { Api } from '#api/index'
4
+ import { Vite } from '#dep/vite/index'
5
5
  import { Command } from '@molt/command'
6
6
  import { z } from 'zod'
7
7
 
@@ -1,12 +1,11 @@
1
1
  /* eslint-disable */
2
2
  // @ts-nocheck
3
- import { Api } from '#api/index.js'
4
- import { Vite } from '#dep/vite/index.js'
5
- import { ensureOptionalAbsolute, ensureOptionalAbsoluteWithCwd } from '#lib/kit-temp.js'
3
+ import { Api } from '#api/index'
4
+ import { Vite } from '#dep/vite/index'
5
+ import { ensureOptionalAbsolute, ensureOptionalAbsoluteWithCwd } from '#lib/kit-temp'
6
6
  import { Command } from '@molt/command'
7
7
  import { Err, Path } from '@wollybeard/kit'
8
8
  import { z } from 'zod'
9
- // import { loadConfig } from '../../api/load-config.js'
10
9
 
11
10
  const args = Command.create()
12
11
  .parameter(
@@ -8,10 +8,10 @@
8
8
  * polen open --sdl https://docs.github.com/public/fpt/schema.docs.graphql
9
9
  */
10
10
 
11
- import { Api } from '#api/index.js'
12
- import { Vite } from '#dep/vite/index.js'
13
- import { Grafaid } from '#lib/grafaid/index.js'
14
- import { GraphqlSchemaLoader } from '#lib/graphql-schema-loader/index.js'
11
+ import { Api } from '#api/index'
12
+ import { Vite } from '#dep/vite/index'
13
+ import { Grafaid } from '#lib/grafaid/index'
14
+ import { GraphqlSchemaLoader } from '#lib/graphql-schema-loader/index'
15
15
  import { Command } from '@molt/command'
16
16
  import type { Fn } from '@wollybeard/kit'
17
17
  import { Err, Fs, Json, Path, Rec } from '@wollybeard/kit'
@@ -1 +1 @@
1
- export * as GraphqlInspector from './graphql-inspector.js'
1
+ export * as GraphqlInspector from './graphql-inspector.ts'
@@ -1,2 +1,2 @@
1
1
  export * from 'hono'
2
- export * from './ssg.js'
2
+ export * from './ssg.ts'
@@ -1 +1 @@
1
- export * as Hono from './hono.js'
1
+ export * as Hono from './hono.ts'
@@ -1 +1 @@
1
- export * as Superjson from './superjson.js'
1
+ export * as Superjson from './superjson.ts'
@@ -1 +1 @@
1
- export * as TinyGlobby from './tiny-globby.js'
1
+ export * as TinyGlobby from './tiny-globby.ts'
@@ -1 +1 @@
1
- export * as Vite from './vite.js'
1
+ export * as Vite from './vite.ts'
@@ -1 +1 @@
1
- export * as Polen from './polen.js'
1
+ export * as Polen from './polen.ts'
@@ -1,3 +1,3 @@
1
- export { defineConfig } from '#api/config/config.js'
2
- export { type ConfigInput } from '#api/config/configurator.js'
3
- export { Main as VitePlugin } from '#api/vite/plugins/main.js'
1
+ export { defineConfig } from '#api/config/config'
2
+ export { type ConfigInput } from '#api/config/configurator'
3
+ export { Main as VitePlugin } from '#api/vite/plugins/main'
@@ -1 +1 @@
1
- export * as AppleTouchIcon from './apple-touch-icon.js'
1
+ export * as AppleTouchIcon from './apple-touch-icon.ts'
@@ -1,21 +1,52 @@
1
+ import { Arr, Str } from '@wollybeard/kit'
1
2
  import { colorize } from 'consola/utils'
2
- import { snakeCase } from 'es-toolkit'
3
3
  import { inspect } from 'node:util'
4
- import { calcIsEnabledFromEnv } from './environment-variable.js'
4
+ import { calcIsEnabledFromEnv } from './environment-variable.ts'
5
5
 
6
6
  type DebugParameters = [event: string, payload?: unknown]
7
7
 
8
8
  export interface Debug {
9
9
  (...args: DebugParameters): void
10
10
  toggle: (isEnabled: boolean) => void
11
- sub: (subNamespace: string) => Debug
11
+ sub: (subNamespace: string | string[]) => Debug
12
12
  }
13
13
 
14
14
  interface State {
15
15
  isEnabled: boolean
16
16
  }
17
17
 
18
- export const create = (namespace?: string, initialState?: State): Debug => {
18
+ // todo:
19
+ // const Option = {
20
+ // else:
21
+ // <alternative>(alternative: alternative) => <value>(value: value): value extends undefined ? alternative : value => {
22
+ // if (value === undefined || value === null) {
23
+ // return alternative as any
24
+ // }
25
+ // return value as any
26
+ // },
27
+ // }
28
+
29
+ // const namespaceToString = (namespace: string[] = []): string => {
30
+ // return formatNamespaceSegment(namespace.join(`_`))
31
+ // // todo:
32
+ // // const x = Option.else([] as string[])
33
+ // // const y = x(namespace)
34
+ // // const z = Fn.pipe(
35
+ // // namespace,
36
+ // // x,
37
+ // // // Option.else([]),
38
+ // // // (_) => Array.is(_) ? _ : [],
39
+ // // // Str.joinWith(`_`),
40
+ // // // Str.Case.upper,
41
+ // // )
42
+ // }
43
+
44
+ const formatNamespaceSegment = (segment: string): string => {
45
+ return Str.Case.snake(segment).toUpperCase()
46
+ }
47
+
48
+ export const create = (namespaceInput?: string | string[], initialState?: State): Debug => {
49
+ const namespace = Arr.sure(namespaceInput ?? [])
19
50
  const isDebugEnabledFromEnv = calcIsEnabledFromEnv(process.env, namespace)
20
51
 
21
52
  const state: State = initialState ?? {
@@ -43,20 +74,16 @@ export const create = (namespace?: string, initialState?: State): Debug => {
43
74
  })
44
75
  : ``
45
76
 
46
- const namespaceRendered = namespace
47
- ? colorize(
48
- `bold`,
49
- colorize(
50
- `bgYellowBright`,
51
- ` ` + snakeCase(namespace).toUpperCase() + ` `,
52
- ),
53
- )
54
- : ``
77
+ const formatNamespaceSegmentAnsi = (segment: string): string => {
78
+ return colorize(`bold`, colorize(`bgYellowBright`, ` ` + formatNamespaceSegment(segment) + ` `))
79
+ }
80
+
81
+ const namespaceRendered = namespace.map(formatNamespaceSegmentAnsi).join(` `)
55
82
  const eventRendered = colorize(
56
83
  `bold`,
57
84
  colorize(
58
85
  `bgMagentaBright`,
59
- ` ` + snakeCase(event).toUpperCase() + ` `,
86
+ ` ` + formatNamespaceSegment(event) + ` `,
60
87
  ),
61
88
  )
62
89
  const prefixRendered = `${namespaceRendered} ${eventRendered}`
@@ -69,10 +96,10 @@ export const create = (namespace?: string, initialState?: State): Debug => {
69
96
  state.isEnabled = isEnabled
70
97
  }
71
98
 
72
- debug.sub = (subNamespace: string) => {
99
+ debug.sub = (subNamespace: string | string[]) => {
100
+ const s = Arr.sure(subNamespace)
73
101
  const stateCopy = structuredClone(state)
74
- const fullNamespace = namespace ? `${namespace}:${subNamespace}` : subNamespace
75
- return create(fullNamespace, stateCopy)
102
+ return create([...namespace, ...s], stateCopy)
76
103
  }
77
104
 
78
105
  return debug
@@ -90,4 +117,4 @@ const parseNumberOr = (str: string | undefined, defaultValue: number): number =>
90
117
 
91
118
  // initialize root debug
92
119
 
93
- export const debug = create()
120
+ export const debugGlobal = create()
@@ -1,18 +1,39 @@
1
+ import { Arr, Language } from '@wollybeard/kit'
2
+
1
3
  export const enVarName = `DEBUG`
2
4
 
3
- export const enVarEnabledValuesStatic = [`true`, `*`, `1`]
5
+ export const wildcard = `*`
6
+ export const enVarEnabledValuesStatic = [`true`, wildcard, `1`]
4
7
 
5
8
  export const calcIsEnabledFromEnv = (
6
9
  enVars: Record<string, unknown>,
7
- namespace?: string,
10
+ namespace?: string[],
8
11
  ): boolean => {
9
- const enVar = typeof enVars[enVarName] === `string` ? enVars[enVarName].trim() : undefined
12
+ const namespace_ = namespace?.map(_ => _.toLowerCase())
13
+ const pattern = typeof enVars[enVarName] === `string`
14
+ ? enVars[enVarName]
15
+ .trim()
16
+ .toLowerCase()
17
+ .split(`:`)
18
+ .map(_ => _.trim())
19
+ : undefined
20
+
21
+ if (!pattern) return false
22
+
23
+ if (pattern.length === 1 && enVarEnabledValuesStatic.includes(pattern[0]!)) return true
10
24
 
11
- if (!enVar) return false
25
+ if (!namespace_) return false
12
26
 
13
- if (enVarEnabledValuesStatic.includes(enVar)) return true
27
+ if (Arr.getLast(pattern) !== wildcard) {
28
+ return pattern.join() === namespace_.join()
29
+ }
14
30
 
15
- if (namespace) return enVar.startsWith(namespace)
31
+ let i = 0
32
+ for (const segment of pattern) {
33
+ if (segment === wildcard) return true
34
+ if (segment !== namespace_[i]) return false
35
+ i++
36
+ }
16
37
 
17
- return false
38
+ Language.never()
18
39
  }
@@ -1 +1 @@
1
- export * as Debug from './debug.js'
1
+ export * as Debug from './debug.ts'
@@ -1,5 +1,5 @@
1
1
  import { Arr } from '@wollybeard/kit'
2
- import { ContextualError } from './ContextualError.js'
2
+ import { ContextualError } from './ContextualError.ts'
3
3
 
4
4
  /**
5
5
  * Aggregation Error enhanced with a context object and types members.
@@ -1,4 +1,4 @@
1
- import type { Cause, Context } from './types.js'
1
+ import type { Cause, Context } from './types.ts'
2
2
 
3
3
  /**
4
4
  * Error enhanced with a context object.
@@ -1,5 +1,5 @@
1
- import { ContextualError } from './ContextualError.js'
2
- import type { Cause, Context } from './types.js'
1
+ import { ContextualError } from './ContextualError.ts'
2
+ import type { Cause, Context } from './types.ts'
3
3
 
4
4
  export class ErrorInternal<
5
5
  $Name extends string = `ErrorInternal`,
@@ -1,4 +1,4 @@
1
- export * from './ContextualAggregateError.js'
2
- export * from './ContextualError.js'
3
- export * from './ErrorInternal.js'
4
- export * from './types.js'
1
+ export * from './ContextualAggregateError.ts'
2
+ export * from './ContextualError.ts'
3
+ export * from './ErrorInternal.ts'
4
+ export * from './types.ts'
@@ -1 +1 @@
1
- export * as Errors from './errors.js'
1
+ export * as Errors from './errors.ts'
@@ -1,4 +1,4 @@
1
- import type { ContextualError } from './ContextualError.js'
1
+ import type { ContextualError } from './ContextualError.ts'
2
2
 
3
3
  export type Cause = Error | ContextualError
4
4
  export type Context = object