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
@@ -1,8 +1,36 @@
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';
5
- export const create = (namespace, initialState) => {
4
+ import { calcIsEnabledFromEnv } from "./environment-variable.js";
5
+ // todo:
6
+ // const Option = {
7
+ // else:
8
+ // <alternative>(alternative: alternative) => <value>(value: value): value extends undefined ? alternative : value => {
9
+ // if (value === undefined || value === null) {
10
+ // return alternative as any
11
+ // }
12
+ // return value as any
13
+ // },
14
+ // }
15
+ // const namespaceToString = (namespace: string[] = []): string => {
16
+ // return formatNamespaceSegment(namespace.join(`_`))
17
+ // // todo:
18
+ // // const x = Option.else([] as string[])
19
+ // // const y = x(namespace)
20
+ // // const z = Fn.pipe(
21
+ // // namespace,
22
+ // // x,
23
+ // // // Option.else([]),
24
+ // // // (_) => Array.is(_) ? _ : [],
25
+ // // // Str.joinWith(`_`),
26
+ // // // Str.Case.upper,
27
+ // // )
28
+ // }
29
+ const formatNamespaceSegment = (segment) => {
30
+ return Str.Case.snake(segment).toUpperCase();
31
+ };
32
+ export const create = (namespaceInput, initialState) => {
33
+ const namespace = Arr.sure(namespaceInput ?? []);
6
34
  const isDebugEnabledFromEnv = calcIsEnabledFromEnv(process.env, namespace);
7
35
  const state = initialState ?? {
8
36
  isEnabled: isDebugEnabledFromEnv,
@@ -25,10 +53,11 @@ export const create = (namespace, initialState) => {
25
53
  maxStringLength: 1000,
26
54
  })
27
55
  : ``;
28
- const namespaceRendered = namespace
29
- ? colorize(`bold`, colorize(`bgYellowBright`, ` ` + snakeCase(namespace).toUpperCase() + ` `))
30
- : ``;
31
- const eventRendered = colorize(`bold`, colorize(`bgMagentaBright`, ` ` + snakeCase(event).toUpperCase() + ` `));
56
+ const formatNamespaceSegmentAnsi = (segment) => {
57
+ return colorize(`bold`, colorize(`bgYellowBright`, ` ` + formatNamespaceSegment(segment) + ` `));
58
+ };
59
+ const namespaceRendered = namespace.map(formatNamespaceSegmentAnsi).join(` `);
60
+ const eventRendered = colorize(`bold`, colorize(`bgMagentaBright`, ` ` + formatNamespaceSegment(event) + ` `));
32
61
  const prefixRendered = `${namespaceRendered} ${eventRendered}`;
33
62
  console.debug(prefixRendered, payloadRendered);
34
63
  }
@@ -37,9 +66,9 @@ export const create = (namespace, initialState) => {
37
66
  state.isEnabled = isEnabled;
38
67
  };
39
68
  debug.sub = (subNamespace) => {
69
+ const s = Arr.sure(subNamespace);
40
70
  const stateCopy = structuredClone(state);
41
- const fullNamespace = namespace ? `${namespace}:${subNamespace}` : subNamespace;
42
- return create(fullNamespace, stateCopy);
71
+ return create([...namespace, ...s], stateCopy);
43
72
  };
44
73
  return debug;
45
74
  };
@@ -53,5 +82,5 @@ const parseNumberOr = (str, defaultValue) => {
53
82
  return parsed;
54
83
  };
55
84
  // initialize root debug
56
- export const debug = create();
85
+ export const debugGlobal = create();
57
86
  //# sourceMappingURL=debug.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../src/lib/debug/debug.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../src/lib/debug/debug.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export declare const enVarName = "DEBUG";
2
+ export declare const wildcard = "*";
2
3
  export declare const enVarEnabledValuesStatic: string[];
3
- export declare const calcIsEnabledFromEnv: (enVars: Record<string, unknown>, namespace?: string) => boolean;
4
+ export declare const calcIsEnabledFromEnv: (enVars: Record<string, unknown>, namespace?: string[]) => boolean;
4
5
  //# sourceMappingURL=environment-variable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"environment-variable.d.ts","sourceRoot":"","sources":["../../../src/lib/debug/environment-variable.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,UAAU,CAAA;AAEhC,eAAO,MAAM,wBAAwB,UAAqB,CAAA;AAE1D,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,YAAY,MAAM,KACjB,OAUF,CAAA"}
1
+ {"version":3,"file":"environment-variable.d.ts","sourceRoot":"","sources":["../../../src/lib/debug/environment-variable.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,UAAU,CAAA;AAEhC,eAAO,MAAM,QAAQ,MAAM,CAAA;AAC3B,eAAO,MAAM,wBAAwB,UAA0B,CAAA;AAE/D,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,YAAY,MAAM,EAAE,KACnB,OA4BF,CAAA"}
@@ -1,13 +1,33 @@
1
+ import { Arr, Language } from '@wollybeard/kit';
1
2
  export const enVarName = `DEBUG`;
2
- export const enVarEnabledValuesStatic = [`true`, `*`, `1`];
3
+ export const wildcard = `*`;
4
+ export const enVarEnabledValuesStatic = [`true`, wildcard, `1`];
3
5
  export const calcIsEnabledFromEnv = (enVars, namespace) => {
4
- const enVar = typeof enVars[enVarName] === `string` ? enVars[enVarName].trim() : undefined;
5
- if (!enVar)
6
+ const namespace_ = namespace?.map(_ => _.toLowerCase());
7
+ const pattern = typeof enVars[enVarName] === `string`
8
+ ? enVars[enVarName]
9
+ .trim()
10
+ .toLowerCase()
11
+ .split(`:`)
12
+ .map(_ => _.trim())
13
+ : undefined;
14
+ if (!pattern)
6
15
  return false;
7
- if (enVarEnabledValuesStatic.includes(enVar))
16
+ if (pattern.length === 1 && enVarEnabledValuesStatic.includes(pattern[0]))
8
17
  return true;
9
- if (namespace)
10
- return enVar.startsWith(namespace);
11
- return false;
18
+ if (!namespace_)
19
+ return false;
20
+ if (Arr.getLast(pattern) !== wildcard) {
21
+ return pattern.join() === namespace_.join();
22
+ }
23
+ let i = 0;
24
+ for (const segment of pattern) {
25
+ if (segment === wildcard)
26
+ return true;
27
+ if (segment !== namespace_[i])
28
+ return false;
29
+ i++;
30
+ }
31
+ Language.never();
12
32
  };
13
33
  //# sourceMappingURL=environment-variable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"environment-variable.js","sourceRoot":"","sources":["../../../src/lib/debug/environment-variable.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAAA;AAEhC,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAE1D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,MAA+B,EAC/B,SAAkB,EACT,EAAE;IACX,MAAM,KAAK,GAAG,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IAE1F,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAA;IAExB,IAAI,wBAAwB,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAEzD,IAAI,SAAS;QAAE,OAAO,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;IAEjD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
1
+ {"version":3,"file":"environment-variable.js","sourceRoot":"","sources":["../../../src/lib/debug/environment-variable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE/C,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAAA;AAEhC,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAA;AAC3B,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAA;AAE/D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,MAA+B,EAC/B,SAAoB,EACX,EAAE;IACX,MAAM,UAAU,GAAG,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;IACvD,MAAM,OAAO,GAAG,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,QAAQ;QACnD,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;aAChB,IAAI,EAAE;aACN,WAAW,EAAE;aACb,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC,CAAC,SAAS,CAAA;IAEb,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAA;IAE1B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,wBAAwB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC;QAAE,OAAO,IAAI,CAAA;IAEvF,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAA;IAE7B,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,OAAO,CAAC,IAAI,EAAE,KAAK,UAAU,CAAC,IAAI,EAAE,CAAA;IAC7C,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;QAC9B,IAAI,OAAO,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAA;QACrC,IAAI,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAA;QAC3C,CAAC,EAAE,CAAA;IACL,CAAC;IAED,QAAQ,CAAC,KAAK,EAAE,CAAA;AAClB,CAAC,CAAA"}
@@ -1,2 +1,2 @@
1
- export * as Debug from './debug.js';
1
+ export * as Debug from './debug.ts';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1,2 +1,2 @@
1
- export * as Debug from './debug.js';
1
+ export * as Debug from "./debug.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import { ContextualError } from './ContextualError.js';
1
+ import { ContextualError } from './ContextualError.ts';
2
2
  /**
3
3
  * Aggregation Error enhanced with a context object and types members.
4
4
  *
@@ -1,5 +1,5 @@
1
1
  import { Arr } from '@wollybeard/kit';
2
- import { ContextualError } from './ContextualError.js';
2
+ import { ContextualError } from "./ContextualError.js";
3
3
  /**
4
4
  * Aggregation Error enhanced with a context object and types members.
5
5
  *
@@ -1,4 +1,4 @@
1
- import type { Cause, Context } from './types.js';
1
+ import type { Cause, Context } from './types.ts';
2
2
  /**
3
3
  * Error enhanced with a context object.
4
4
  *
@@ -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
  export declare class ErrorInternal<$Name extends string = `ErrorInternal`, $Context extends Context = Context, $Cause extends Cause | undefined = undefined> extends ContextualError<$Name, $Context, $Cause> {
4
4
  name: $Name;
5
5
  constructor(message?: string, context?: $Context, cause?: $Cause);
@@ -1,4 +1,4 @@
1
- import { ContextualError } from './ContextualError.js';
1
+ import { ContextualError } from "./ContextualError.js";
2
2
  export class ErrorInternal extends ContextualError {
3
3
  name = `ErrorInternal`;
4
4
  constructor(message = `Something went wrong.`, context = {}, cause = undefined) {
@@ -1,5 +1,5 @@
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';
5
5
  //# sourceMappingURL=errors.d.ts.map
@@ -1,5 +1,5 @@
1
- export * from './ContextualAggregateError.js';
2
- export * from './ContextualError.js';
3
- export * from './ErrorInternal.js';
4
- export * from './types.js';
1
+ export * from "./ContextualAggregateError.js";
2
+ export * from "./ContextualError.js";
3
+ export * from "./ErrorInternal.js";
4
+ export * from "./types.js";
5
5
  //# sourceMappingURL=errors.js.map
@@ -1,2 +1,2 @@
1
- export * as Errors from './errors.js';
1
+ export * as Errors from './errors.ts';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1,2 +1,2 @@
1
- export * as Errors from './errors.js';
1
+ export * as Errors from "./errors.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import type { ContextualError } from './ContextualError.js';
1
+ import type { ContextualError } from './ContextualError.ts';
2
2
  export type Cause = Error | ContextualError;
3
3
  export type Context = object;
4
4
  //# sourceMappingURL=types.d.ts.map
@@ -1,2 +1,2 @@
1
- export * as Favicon from './favicon.js';
1
+ export * as Favicon from './favicon.ts';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1,2 +1,2 @@
1
- export * as Favicon from './favicon.js';
1
+ export * as Favicon from "./favicon.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,3 @@
1
+ import type { Diagnostic } from './linter.ts';
2
+ export declare const reportDiagnostics: (diagnostics: Diagnostic[]) => void;
3
+ //# sourceMappingURL=diagnostic-reporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostic-reporter.d.ts","sourceRoot":"","sources":["../../../src/lib/file-router/diagnostic-reporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C,eAAO,MAAM,iBAAiB,GAAI,aAAa,UAAU,EAAE,SAmB1D,CAAA"}
@@ -0,0 +1,18 @@
1
+ export const reportDiagnostics = (diagnostics) => {
2
+ if (diagnostics.length === 0)
3
+ return;
4
+ const errors = diagnostics.filter(d => d.severity === 'error');
5
+ const warnings = diagnostics.filter(d => d.severity === 'warning');
6
+ const infos = diagnostics.filter(d => d.severity === 'info');
7
+ const summary = [
8
+ errors.length > 0 && `${errors.length} error${errors.length === 1 ? '' : 's'}`,
9
+ warnings.length > 0 && `${warnings.length} warning${warnings.length === 1 ? '' : 's'}`,
10
+ infos.length > 0 && `${infos.length} info${infos.length === 1 ? '' : 's'}`,
11
+ ].filter(Boolean).join(', ');
12
+ console.warn(`\n🔍 Polen found ${summary}:\n`);
13
+ diagnostics.forEach((diagnostic, index) => {
14
+ const icon = diagnostic.severity === 'error' ? '❌' : diagnostic.severity === 'warning' ? '⚠️ ' : 'ℹ️ ';
15
+ console.warn(`${icon} ${index + 1}. ${diagnostic.message}\n`);
16
+ });
17
+ };
18
+ //# sourceMappingURL=diagnostic-reporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostic-reporter.js","sourceRoot":"","sources":["../../../src/lib/file-router/diagnostic-reporter.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,WAAyB,EAAE,EAAE;IAC7D,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAM;IAEpC,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAA;IAC9D,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAA;IAClE,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAA;IAE5D,MAAM,OAAO,GAAG;QACd,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;QAC9E,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,WAAW,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;QACtF,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,QAAQ,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;KAC3E,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAE5B,OAAO,CAAC,IAAI,CAAC,oBAAoB,OAAO,KAAK,CAAC,CAAA;IAE9C,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE;QACxC,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;QACtG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,KAAK,UAAU,CAAC,OAAO,IAAI,CAAC,CAAA;IAC/D,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -1,4 +1,6 @@
1
- export * from './linter.js';
2
- export * from './route.js';
3
- export * from './scan.js';
1
+ export * from './linter.ts';
2
+ export * from './route.ts';
3
+ export * from './scan-tree.ts';
4
+ export * from './scan.ts';
5
+ export * from './sidebar/index.ts';
4
6
  //# sourceMappingURL=file-router.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-router.d.ts","sourceRoot":"","sources":["../../../src/lib/file-router/file-router.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"file-router.d.ts","sourceRoot":"","sources":["../../../src/lib/file-router/file-router.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA;AACzB,cAAc,oBAAoB,CAAA"}
@@ -1,4 +1,6 @@
1
- export * from './linter.js';
2
- export * from './route.js';
3
- export * from './scan.js';
1
+ export * from "./linter.js";
2
+ export * from "./route.js";
3
+ export * from "./scan-tree.js";
4
+ export * from "./scan.js";
5
+ export * from "./sidebar/index.js";
4
6
  //# sourceMappingURL=file-router.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-router.js","sourceRoot":"","sources":["../../../src/lib/file-router/file-router.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"file-router.js","sourceRoot":"","sources":["../../../src/lib/file-router/file-router.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA;AACzB,cAAc,oBAAoB,CAAA"}
@@ -1,2 +1,2 @@
1
- export * as FileRouter from './file-router.js';
1
+ export * as FileRouter from './file-router.ts';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1,2 +1,2 @@
1
- export * as FileRouter from './file-router.js';
1
+ export * as FileRouter from "./file-router.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,9 @@
1
- import { type Route, type RouteFile } from './route.js';
2
- export type Diagnostic = DiagnosticIndexConflict;
1
+ import { type Route, type RouteFile } from './route.ts';
2
+ export type DiagnosticSeverity = 'error' | 'warning' | 'info';
3
+ export type Diagnostic = DiagnosticIndexConflict | DiagnosticNumberedPrefixConflict | DiagnosticNumberedPrefixOnIndex;
3
4
  export interface DiagnosticIndexConflict {
5
+ type: 'index-conflict';
6
+ severity: DiagnosticSeverity;
4
7
  message: string;
5
8
  literal: {
6
9
  file: RouteFile;
@@ -9,6 +12,26 @@ export interface DiagnosticIndexConflict {
9
12
  file: RouteFile;
10
13
  };
11
14
  }
15
+ export interface DiagnosticNumberedPrefixConflict {
16
+ type: 'numbered-prefix-conflict';
17
+ severity: DiagnosticSeverity;
18
+ message: string;
19
+ kept: {
20
+ file: RouteFile;
21
+ order: number;
22
+ };
23
+ dropped: {
24
+ file: RouteFile;
25
+ order: number;
26
+ };
27
+ }
28
+ export interface DiagnosticNumberedPrefixOnIndex {
29
+ type: 'numbered-prefix-on-index';
30
+ severity: DiagnosticSeverity;
31
+ message: string;
32
+ file: RouteFile;
33
+ order: number;
34
+ }
12
35
  export interface LintResult {
13
36
  diagnostics: Diagnostic[];
14
37
  routes: Route[];
@@ -1 +1 @@
1
- {"version":3,"file":"linter.d.ts","sourceRoot":"","sources":["../../../src/lib/file-router/linter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,SAAS,EAA+C,MAAM,YAAY,CAAA;AAEpG,MAAM,MAAM,UAAU,GAAG,uBAAuB,CAAA;AAEhD,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE;QACP,IAAI,EAAE,SAAS,CAAA;KAChB,CAAA;IACD,KAAK,EAAE;QACL,IAAI,EAAE,SAAS,CAAA;KAChB,CAAA;CACF;AAED,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,UAAU,EAAE,CAAA;IACzB,MAAM,EAAE,KAAK,EAAE,CAAA;CAChB;AAED,eAAO,MAAM,IAAI,GAAI,QAAQ,KAAK,EAAE,KAAG,UA0CtC,CAAA"}
1
+ {"version":3,"file":"linter.d.ts","sourceRoot":"","sources":["../../../src/lib/file-router/linter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,SAAS,EAA+C,MAAM,YAAY,CAAA;AAEpG,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAA;AAE7D,MAAM,MAAM,UAAU,GAAG,uBAAuB,GAAG,gCAAgC,GAAG,+BAA+B,CAAA;AAErH,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,gBAAgB,CAAA;IACtB,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE;QACP,IAAI,EAAE,SAAS,CAAA;KAChB,CAAA;IACD,KAAK,EAAE;QACL,IAAI,EAAE,SAAS,CAAA;KAChB,CAAA;CACF;AAED,MAAM,WAAW,gCAAgC;IAC/C,IAAI,EAAE,0BAA0B,CAAA;IAChC,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS,CAAA;QACf,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,OAAO,EAAE;QACP,IAAI,EAAE,SAAS,CAAA;QACf,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;CACF;AAED,MAAM,WAAW,+BAA+B;IAC9C,IAAI,EAAE,0BAA0B,CAAA;IAChC,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,SAAS,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,UAAU,EAAE,CAAA;IACzB,MAAM,EAAE,KAAK,EAAE,CAAA;CAChB;AAED,eAAO,MAAM,IAAI,GAAI,QAAQ,KAAK,EAAE,KAAG,UA0FtC,CAAA"}
@@ -1,14 +1,53 @@
1
1
  import { Idx, Path } from '@wollybeard/kit';
2
- import { routeIsFromIndexFile, routeToPathExpression } from './route.js';
2
+ import { routeIsFromIndexFile, routeToPathExpression } from "./route.js";
3
3
  export const lint = (routes) => {
4
4
  const diagnostics = [];
5
5
  const seen = Idx.create({ key: routeToPathExpression });
6
- // ━ Check for conflict between index and literal.
7
- // Note: There is no other way for paths to conflict so we safely assuming the cause is index+literal.
6
+ // ━ Check for numbered prefix on index files
7
+ for (const route of routes) {
8
+ if (routeIsFromIndexFile(route) && route.logical.order !== undefined) {
9
+ const diagnostic = {
10
+ type: 'numbered-prefix-on-index',
11
+ severity: 'warning',
12
+ message: `Numbered prefix on index file has no effect. The file:\n ${Path.format(route.file.path.relative)}\n\nhas a numbered prefix (${route.logical.order}_) which doesn't affect ordering since index files represent their parent directory.`,
13
+ file: route.file,
14
+ order: route.logical.order,
15
+ };
16
+ diagnostics.push(diagnostic);
17
+ }
18
+ }
19
+ // ━ Check for conflicts
8
20
  for (const route of routes) {
9
21
  // Detect
10
22
  const seenRoute = seen.get(route);
11
23
  if (seenRoute) {
24
+ // Check if it's a numbered prefix conflict
25
+ if (seenRoute.logical.order !== undefined && route.logical.order !== undefined) {
26
+ // Handle numbered prefix conflict - keep the one with higher order
27
+ const [kept, dropped] = seenRoute.logical.order > route.logical.order ? [seenRoute, route] : [route, seenRoute];
28
+ if (dropped === seenRoute) {
29
+ seen.set(kept);
30
+ }
31
+ const orderMessage = kept.logical.order === dropped.logical.order
32
+ ? `Both files have the same order number (${kept.logical.order}). The file processed later is being kept based on processing order.`
33
+ : `The file with lower order number (${dropped.logical.order}) is being dropped in favor of the one with higher order (${kept.logical.order}).`;
34
+ const diagnostic = {
35
+ type: 'numbered-prefix-conflict',
36
+ severity: 'error',
37
+ // dprint-ignore
38
+ message: `Your files represent conflicting routes due to numbered prefixes. This file:\n ${Path.format(kept.file.path.relative)}\n\nconflicts with this file:\n\n ${Path.format(dropped.file.path.relative)}.\n\n${orderMessage}`,
39
+ kept: {
40
+ file: kept.file,
41
+ order: kept.logical.order,
42
+ },
43
+ dropped: {
44
+ file: dropped.file,
45
+ order: dropped.logical.order,
46
+ },
47
+ };
48
+ diagnostics.push(diagnostic);
49
+ continue;
50
+ }
12
51
  // Fix - ignore the index
13
52
  const [index, literal] = routeIsFromIndexFile(route) ? [route, seenRoute] : [seenRoute, route];
14
53
  if (seenRoute === index) {
@@ -16,6 +55,8 @@ export const lint = (routes) => {
16
55
  }
17
56
  // Report
18
57
  const diagnostic = {
58
+ type: 'index-conflict',
59
+ severity: 'error',
19
60
  // dprint-ignore
20
61
  message: `Your files represent conflicting routes. This index file route:\n ${Path.format(index.file.path.relative)}\n\nconflicts with this literal file route:\n\n ${Path.format(literal.file.path.relative)}.\n\nYour index route is being ignored.`,
21
62
  literal: {
@@ -1 +1 @@
1
- {"version":3,"file":"linter.js","sourceRoot":"","sources":["../../../src/lib/file-router/linter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAA8B,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAmBpG,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,MAAe,EAAc,EAAE;IAClD,MAAM,WAAW,GAAiB,EAAE,CAAA;IAEpC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,qBAAqB,EAAE,CAAC,CAAA;IAEvD,kDAAkD;IAClD,wGAAwG;IACxG,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,SAAS;QACT,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAEjC,IAAI,SAAS,EAAE,CAAC;YACd,yBAAyB;YACzB,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;YAC9F,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;gBACxB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YACjB,CAAC;YAED,SAAS;YACT,MAAM,UAAU,GAA4B;gBAC1C,gBAAgB;gBAChB,OAAO,EAAE,sEAAsE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,oDAAoD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,yCAAyC;gBACxP,OAAO,EAAE;oBACP,IAAI,EAAE,OAAO,CAAC,IAAI;iBACnB;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,KAAK,CAAC,IAAI;iBACjB;aACF,CAAA;YACD,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAE5B,SAAQ;QACV,CAAC;QAED,WAAW;QACX,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACjB,CAAC;IAED,OAAO;QACL,WAAW;QACX,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE;KACvB,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"linter.js","sourceRoot":"","sources":["../../../src/lib/file-router/linter.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ export interface Route {
12
12
  }
13
13
  export interface RouteLogical {
14
14
  path: Path;
15
+ order?: number;
15
16
  }
16
17
  export interface RouteFile {
17
18
  path: {
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../src/lib/file-router/route.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAU3C,MAAM,MAAM,IAAI,GAAG,WAAW,EAAE,CAAA;AAEhC,MAAM,MAAM,QAAQ,GAAG,EAAE,CAAA;AAEzB,MAAM,MAAM,OAAO,GAAG,CAAC,WAAW,CAAC,CAAA;AAEnC,MAAM,MAAM,OAAO,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAAC,CAAA;AAElE,MAAM,MAAM,WAAW,GAAG,MAAM,CAAA;AAEhC,eAAO,MAAM,GAAG,MAAM,CAAA;AAEtB,eAAO,MAAM,gBAAgB,GAAI,MAAM,IAAI,WAE1C,CAAA;AAUD,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,YAAY,CAAA;IACrB,IAAI,EAAE,SAAS,CAAA;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,IAAI,CAAA;CACX;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE;QACJ,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAA;QACrB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAA;KACtB,CAAA;CACF;AAUD,MAAM,WAAW,aAAc,SAAQ,KAAK;IAC1C,OAAO,EAAE,oBAAoB,CAAA;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,OAAO,CAAA;CACd;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,KAAK,KAAG,KAAK,IAAI,aAEvD,CAAA;AAcD,MAAM,WAAW,aAAc,SAAQ,KAAK;IAC1C,OAAO,EAAE,iBAAiB,CAAA;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,CAAA;CACd;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,KAAK,KAAG,KAAK,IAAI,aAEvD,CAAA;AAcD;;;;EAIE;AACF,eAAO,MAAM,gBAAgB,GAAI,OAAO,KAAK,KAAG,KAAK,IAAI,aAIxD,CAAA;AASD,eAAO,MAAM,oBAAoB,GAAI,OAAO,KAAK,KAAG,OAEnD,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,OAAO,KAAK,EAAE,uBAAuB,WAAW,EAAE,KAAG,OAQjF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,OAAO,KAAK,EAAE,qBAAqB,WAAW,EAAE,KAAG,KAUrF,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,OAAO,KAAK,WAEjD,CAAA"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../src/lib/file-router/route.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAU3C,MAAM,MAAM,IAAI,GAAG,WAAW,EAAE,CAAA;AAEhC,MAAM,MAAM,QAAQ,GAAG,EAAE,CAAA;AAEzB,MAAM,MAAM,OAAO,GAAG,CAAC,WAAW,CAAC,CAAA;AAEnC,MAAM,MAAM,OAAO,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAAC,CAAA;AAElE,MAAM,MAAM,WAAW,GAAG,MAAM,CAAA;AAEhC,eAAO,MAAM,GAAG,MAAM,CAAA;AAEtB,eAAO,MAAM,gBAAgB,GAAI,MAAM,IAAI,WAE1C,CAAA;AAUD,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,YAAY,CAAA;IACrB,IAAI,EAAE,SAAS,CAAA;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,IAAI,CAAA;IACV,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE;QACJ,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAA;QACrB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAA;KACtB,CAAA;CACF;AAUD,MAAM,WAAW,aAAc,SAAQ,KAAK;IAC1C,OAAO,EAAE,oBAAoB,CAAA;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,OAAO,CAAA;CACd;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,KAAK,KAAG,KAAK,IAAI,aAEvD,CAAA;AAcD,MAAM,WAAW,aAAc,SAAQ,KAAK;IAC1C,OAAO,EAAE,iBAAiB,CAAA;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,CAAA;CACd;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,KAAK,KAAG,KAAK,IAAI,aAEvD,CAAA;AAcD;;;;EAIE;AACF,eAAO,MAAM,gBAAgB,GAAI,OAAO,KAAK,KAAG,KAAK,IAAI,aAIxD,CAAA;AASD,eAAO,MAAM,oBAAoB,GAAI,OAAO,KAAK,KAAG,OAEnD,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,OAAO,KAAK,EAAE,uBAAuB,WAAW,EAAE,KAAG,OAQjF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,OAAO,KAAK,EAAE,qBAAqB,WAAW,EAAE,KAAG,KAUrF,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,OAAO,KAAK,WAEjD,CAAA"}
@@ -1,4 +1,4 @@
1
- import { arrayEquals } from '#lib/kit-temp.js';
1
+ import { arrayEquals } from '#lib/kit-temp';
2
2
  import {} from '@wollybeard/kit';
3
3
  export const sep = `/`;
4
4
  export const pathToExpression = (path) => {
@@ -1 +1 @@
1
- {"version":3,"file":"route.js","sourceRoot":"","sources":["../../../src/lib/file-router/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAa,MAAM,iBAAiB,CAAA;AAoB3C,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,CAAA;AAEtB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAU,EAAE,EAAE;IAC7C,OAAO,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC7B,CAAC,CAAA;AA0CD;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAY,EAA0B,EAAE;IACtE,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAA;AACxC,CAAC,CAAA;AAsBD;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAY,EAA0B,EAAE;IACtE,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;AACtC,CAAC,CAAA;AAED,EAAE;AACF,gBAAgB;AAChB,EAAE;AAEF,EAAE;AACF,EAAE;AACF,EAAE;AACF,EAAE;AACF,gEAAgE;AAChE,EAAE;AACF,EAAE;AAEF;;;;EAIE;AACF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAY,EAA0B,EAAE;IACvE,oCAAoC;IACpC,8CAA8C;IAC9C,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAA;AACxC,CAAC,CAAA;AAED,EAAE;AACF,EAAE;AACF,EAAE;AACF,mCAAmC;AACnC,EAAE;AACF,EAAE;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAY,EAAW,EAAE;IAC5D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,WAAW,CAAC,KAAK,CAAC,IAAI,CAAA;AACjE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAY,EAAE,qBAAoC,EAAW,EAAE;IAC1F,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,qBAAqB,CAAC,MAAM,EAAE,CAAC;QAC9D,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,WAAW,CAChB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,EACzD,qBAAqB,CACtB,CAAA;AACH,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAY,EAAE,mBAAkC,EAAS,EAAE;IAC5F,2FAA2F;IAC3F,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAA;IACpE,OAAO;QACL,GAAG,KAAK;QACR,OAAO,EAAE;YACP,GAAG,KAAK,CAAC,OAAO;YAChB,IAAI,EAAE,OAAO;SACd;KACF,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAAY,EAAE,EAAE;IACpD,OAAO,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAC7C,CAAC,CAAA;AAED,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;KACd;CACF,CAAA"}
1
+ {"version":3,"file":"route.js","sourceRoot":"","sources":["../../../src/lib/file-router/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAa,MAAM,iBAAiB,CAAA;AAoB3C,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,CAAA;AAEtB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAU,EAAE,EAAE;IAC7C,OAAO,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC7B,CAAC,CAAA;AA2CD;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAY,EAA0B,EAAE;IACtE,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAA;AACxC,CAAC,CAAA;AAsBD;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAY,EAA0B,EAAE;IACtE,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;AACtC,CAAC,CAAA;AAED,EAAE;AACF,gBAAgB;AAChB,EAAE;AAEF,EAAE;AACF,EAAE;AACF,EAAE;AACF,EAAE;AACF,gEAAgE;AAChE,EAAE;AACF,EAAE;AAEF;;;;EAIE;AACF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAY,EAA0B,EAAE;IACvE,oCAAoC;IACpC,8CAA8C;IAC9C,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAA;AACxC,CAAC,CAAA;AAED,EAAE;AACF,EAAE;AACF,EAAE;AACF,mCAAmC;AACnC,EAAE;AACF,EAAE;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAY,EAAW,EAAE;IAC5D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,WAAW,CAAC,KAAK,CAAC,IAAI,CAAA;AACjE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAY,EAAE,qBAAoC,EAAW,EAAE;IAC1F,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,qBAAqB,CAAC,MAAM,EAAE,CAAC;QAC9D,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,WAAW,CAChB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,EACzD,qBAAqB,CACtB,CAAA;AACH,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAY,EAAE,mBAAkC,EAAS,EAAE;IAC5F,2FAA2F;IAC3F,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAA;IACpE,OAAO;QACL,GAAG,KAAK;QACR,OAAO,EAAE;YACP,GAAG,KAAK,CAAC,OAAO;YAChB,IAAI,EAAE,OAAO;SACd;KACF,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAAY,EAAE,EAAE;IACpD,OAAO,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAC7C,CAAC,CAAA;AAED,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;KACd;CACF,CAAA"}
@@ -0,0 +1,20 @@
1
+ import { type TreeNode } from '#lib/tree/index';
2
+ import type { Diagnostic } from './linter.ts';
3
+ import type { Route } from './route.ts';
4
+ export type RouteTreeNodeType = 'directory' | 'file';
5
+ export interface RouteTreeNodeValue {
6
+ name: string;
7
+ order?: number;
8
+ type: RouteTreeNodeType;
9
+ route?: Route;
10
+ }
11
+ export type RouteTreeNode = TreeNode<RouteTreeNodeValue>;
12
+ export interface ScanTreeResult {
13
+ routeTree: RouteTreeNode;
14
+ diagnostics: Diagnostic[];
15
+ }
16
+ export declare const scanTree: (parameters: {
17
+ dir: string;
18
+ glob?: string;
19
+ }) => Promise<ScanTreeResult>;
20
+ //# sourceMappingURL=scan-tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scan-tree.d.ts","sourceRoot":"","sources":["../../../src/lib/file-router/scan-tree.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAErD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAa,MAAM,YAAY,CAAA;AAMlD,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,MAAM,CAAA;AAEpD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,iBAAiB,CAAA;IACvB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd;AAED,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAA;AAExD,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,aAAa,CAAA;IACxB,WAAW,EAAE,UAAU,EAAE,CAAA;CAC1B;AAkID,eAAO,MAAM,QAAQ,GAAU,YAAY;IACzC,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,KAAG,OAAO,CAAC,cAAc,CAoBzB,CAAA"}