@gtkx/codegen 0.21.0 → 1.0.0-rc.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 (732) hide show
  1. package/README.md +173 -0
  2. package/dist/analysis/descriptor-render.d.ts +18 -0
  3. package/dist/analysis/descriptor-render.d.ts.map +1 -0
  4. package/dist/analysis/descriptor-render.js +297 -0
  5. package/dist/analysis/descriptor-render.js.map +1 -0
  6. package/dist/analysis/descriptor.d.ts +59 -0
  7. package/dist/analysis/descriptor.d.ts.map +1 -0
  8. package/dist/analysis/descriptor.js +123 -0
  9. package/dist/analysis/descriptor.js.map +1 -0
  10. package/dist/analysis/inheritance.d.ts +38 -0
  11. package/dist/analysis/inheritance.d.ts.map +1 -0
  12. package/dist/analysis/inheritance.js +193 -0
  13. package/dist/analysis/inheritance.js.map +1 -0
  14. package/dist/analysis/param-structure.d.ts +26 -0
  15. package/dist/analysis/param-structure.d.ts.map +1 -0
  16. package/dist/analysis/param-structure.js +107 -0
  17. package/dist/analysis/param-structure.js.map +1 -0
  18. package/dist/analysis/ts-type.d.ts +19 -0
  19. package/dist/analysis/ts-type.d.ts.map +1 -0
  20. package/dist/analysis/ts-type.js +65 -0
  21. package/dist/analysis/ts-type.js.map +1 -0
  22. package/dist/compile.d.ts +18 -0
  23. package/dist/compile.d.ts.map +1 -0
  24. package/dist/compile.js +123 -0
  25. package/dist/compile.js.map +1 -0
  26. package/dist/docs/api-reference.d.ts +66 -0
  27. package/dist/docs/api-reference.d.ts.map +1 -0
  28. package/dist/docs/api-reference.js +299 -0
  29. package/dist/docs/api-reference.js.map +1 -0
  30. package/dist/docs/element-page.d.ts +15 -0
  31. package/dist/docs/element-page.d.ts.map +1 -0
  32. package/dist/docs/element-page.js +221 -0
  33. package/dist/docs/element-page.js.map +1 -0
  34. package/dist/docs/pipeline.d.ts +25 -0
  35. package/dist/docs/pipeline.d.ts.map +1 -0
  36. package/dist/docs/pipeline.js +130 -0
  37. package/dist/docs/pipeline.js.map +1 -0
  38. package/dist/docs/render.d.ts +32 -0
  39. package/dist/docs/render.d.ts.map +1 -0
  40. package/dist/docs/render.js +134 -0
  41. package/dist/docs/render.js.map +1 -0
  42. package/dist/docs/symbol-page.d.ts +41 -0
  43. package/dist/docs/symbol-page.d.ts.map +1 -0
  44. package/dist/docs/symbol-page.js +338 -0
  45. package/dist/docs/symbol-page.js.map +1 -0
  46. package/dist/fingerprint.d.ts +6 -26
  47. package/dist/fingerprint.d.ts.map +1 -1
  48. package/dist/fingerprint.js +30 -18
  49. package/dist/fingerprint.js.map +1 -1
  50. package/dist/gir/ancestry.d.ts +9 -0
  51. package/dist/gir/ancestry.d.ts.map +1 -0
  52. package/dist/gir/ancestry.js +29 -0
  53. package/dist/gir/ancestry.js.map +1 -0
  54. package/dist/gir/callback.d.ts +9 -10
  55. package/dist/gir/callback.d.ts.map +1 -1
  56. package/dist/gir/callback.js +17 -16
  57. package/dist/gir/callback.js.map +1 -1
  58. package/dist/gir/class.d.ts +22 -43
  59. package/dist/gir/class.d.ts.map +1 -1
  60. package/dist/gir/class.js +11 -23
  61. package/dist/gir/class.js.map +1 -1
  62. package/dist/gir/enum.d.ts +13 -31
  63. package/dist/gir/enum.d.ts.map +1 -1
  64. package/dist/gir/enum.js +7 -14
  65. package/dist/gir/enum.js.map +1 -1
  66. package/dist/gir/field.d.ts +10 -23
  67. package/dist/gir/field.d.ts.map +1 -1
  68. package/dist/gir/field.js +12 -18
  69. package/dist/gir/field.js.map +1 -1
  70. package/dist/gir/function.d.ts +11 -42
  71. package/dist/gir/function.d.ts.map +1 -1
  72. package/dist/gir/function.js +7 -20
  73. package/dist/gir/function.js.map +1 -1
  74. package/dist/gir/gir-path.d.ts +2 -0
  75. package/dist/gir/gir-path.d.ts.map +1 -0
  76. package/dist/gir/gir-path.js +41 -0
  77. package/dist/gir/gir-path.js.map +1 -0
  78. package/dist/gir/libraries.d.ts +4 -0
  79. package/dist/gir/libraries.d.ts.map +1 -0
  80. package/dist/gir/libraries.js +62 -0
  81. package/dist/gir/libraries.js.map +1 -0
  82. package/dist/gir/library.d.ts +37 -0
  83. package/dist/gir/library.d.ts.map +1 -0
  84. package/dist/gir/library.js +218 -0
  85. package/dist/gir/library.js.map +1 -0
  86. package/dist/gir/namespace.d.ts +36 -50
  87. package/dist/gir/namespace.d.ts.map +1 -1
  88. package/dist/gir/namespace.js +46 -36
  89. package/dist/gir/namespace.js.map +1 -1
  90. package/dist/gir/parameter.d.ts +25 -69
  91. package/dist/gir/parameter.d.ts.map +1 -1
  92. package/dist/gir/parameter.js +36 -57
  93. package/dist/gir/parameter.js.map +1 -1
  94. package/dist/gir/parse.d.ts +6 -70
  95. package/dist/gir/parse.d.ts.map +1 -1
  96. package/dist/gir/parse.js +32 -80
  97. package/dist/gir/parse.js.map +1 -1
  98. package/dist/gir/primitives.d.ts +3 -34
  99. package/dist/gir/primitives.d.ts.map +1 -1
  100. package/dist/gir/primitives.js +19 -35
  101. package/dist/gir/primitives.js.map +1 -1
  102. package/dist/gir/property.d.ts +16 -25
  103. package/dist/gir/property.d.ts.map +1 -1
  104. package/dist/gir/property.js +12 -9
  105. package/dist/gir/property.js.map +1 -1
  106. package/dist/gir/record.d.ts +27 -0
  107. package/dist/gir/record.d.ts.map +1 -0
  108. package/dist/gir/record.js +25 -0
  109. package/dist/gir/record.js.map +1 -0
  110. package/dist/gir/size.d.ts +10 -57
  111. package/dist/gir/size.d.ts.map +1 -1
  112. package/dist/gir/size.js +0 -25
  113. package/dist/gir/size.js.map +1 -1
  114. package/dist/gir/type-id.d.ts +49 -0
  115. package/dist/gir/type-id.d.ts.map +1 -0
  116. package/dist/gir/type-id.js +8 -0
  117. package/dist/gir/type-id.js.map +1 -0
  118. package/dist/gir/type-ref.d.ts +3 -77
  119. package/dist/gir/type-ref.d.ts.map +1 -1
  120. package/dist/gir/type-ref.js +35 -65
  121. package/dist/gir/type-ref.js.map +1 -1
  122. package/dist/gir/type.d.ts +33 -0
  123. package/dist/gir/type.d.ts.map +1 -0
  124. package/dist/gir/type.js +2 -0
  125. package/dist/gir/type.js.map +1 -0
  126. package/dist/index.d.ts +5 -11
  127. package/dist/index.d.ts.map +1 -1
  128. package/dist/index.js +5 -11
  129. package/dist/index.js.map +1 -1
  130. package/dist/khronos/args.d.ts +30 -0
  131. package/dist/khronos/args.d.ts.map +1 -0
  132. package/dist/khronos/args.js +150 -0
  133. package/dist/khronos/args.js.map +1 -0
  134. package/dist/khronos/jsdoc.d.ts +21 -0
  135. package/dist/khronos/jsdoc.d.ts.map +1 -0
  136. package/dist/khronos/jsdoc.js +59 -0
  137. package/dist/khronos/jsdoc.js.map +1 -0
  138. package/dist/khronos/model.d.ts +37 -0
  139. package/dist/khronos/model.d.ts.map +1 -0
  140. package/dist/khronos/model.js +132 -0
  141. package/dist/khronos/model.js.map +1 -0
  142. package/dist/khronos/modules.d.ts +11 -0
  143. package/dist/khronos/modules.d.ts.map +1 -0
  144. package/dist/khronos/modules.js +58 -0
  145. package/dist/khronos/modules.js.map +1 -0
  146. package/dist/khronos/parse.d.ts +9 -0
  147. package/dist/khronos/parse.d.ts.map +1 -0
  148. package/dist/khronos/parse.js +61 -0
  149. package/dist/khronos/parse.js.map +1 -0
  150. package/dist/khronos/pipeline.d.ts +24 -0
  151. package/dist/khronos/pipeline.d.ts.map +1 -0
  152. package/dist/khronos/pipeline.js +182 -0
  153. package/dist/khronos/pipeline.js.map +1 -0
  154. package/dist/khronos/plan.d.ts +80 -0
  155. package/dist/khronos/plan.d.ts.map +1 -0
  156. package/dist/khronos/plan.js +136 -0
  157. package/dist/khronos/plan.js.map +1 -0
  158. package/dist/khronos/render.d.ts +16 -0
  159. package/dist/khronos/render.d.ts.map +1 -0
  160. package/dist/khronos/render.js +158 -0
  161. package/dist/khronos/render.js.map +1 -0
  162. package/dist/khronos/select.d.ts +15 -0
  163. package/dist/khronos/select.d.ts.map +1 -0
  164. package/dist/khronos/select.js +45 -0
  165. package/dist/khronos/select.js.map +1 -0
  166. package/dist/runner.d.ts +29 -47
  167. package/dist/runner.d.ts.map +1 -1
  168. package/dist/runner.js +78 -53
  169. package/dist/runner.js.map +1 -1
  170. package/dist/store/compile-store.d.ts +9 -0
  171. package/dist/store/compile-store.d.ts.map +1 -0
  172. package/dist/store/compile-store.js +38 -0
  173. package/dist/store/compile-store.js.map +1 -0
  174. package/dist/store/gi/async.d.ts +4 -0
  175. package/dist/store/gi/async.d.ts.map +1 -0
  176. package/dist/store/gi/async.js +41 -0
  177. package/dist/store/gi/async.js.map +1 -0
  178. package/dist/store/gi/callables.d.ts +36 -0
  179. package/dist/store/gi/callables.d.ts.map +1 -0
  180. package/dist/store/gi/callables.js +202 -0
  181. package/dist/store/gi/callables.js.map +1 -0
  182. package/dist/store/gi/callback.d.ts +4 -0
  183. package/dist/store/gi/callback.d.ts.map +1 -0
  184. package/dist/store/gi/callback.js +14 -0
  185. package/dist/store/gi/callback.js.map +1 -0
  186. package/dist/store/gi/class-struct-record.d.ts +9 -0
  187. package/dist/store/gi/class-struct-record.d.ts.map +1 -0
  188. package/dist/store/gi/class-struct-record.js +34 -0
  189. package/dist/store/gi/class-struct-record.js.map +1 -0
  190. package/dist/store/gi/class.d.ts +4 -0
  191. package/dist/store/gi/class.d.ts.map +1 -0
  192. package/dist/store/gi/class.js +169 -0
  193. package/dist/store/gi/class.js.map +1 -0
  194. package/dist/store/gi/companion.d.ts +4 -0
  195. package/dist/store/gi/companion.d.ts.map +1 -0
  196. package/dist/store/gi/companion.js +13 -0
  197. package/dist/store/gi/companion.js.map +1 -0
  198. package/dist/store/gi/constant.d.ts +5 -0
  199. package/dist/store/gi/constant.d.ts.map +1 -0
  200. package/dist/store/gi/constant.js +18 -0
  201. package/dist/store/gi/constant.js.map +1 -0
  202. package/dist/store/gi/constructor-props.d.ts +5 -0
  203. package/dist/store/gi/constructor-props.d.ts.map +1 -0
  204. package/dist/store/gi/constructor-props.js +64 -0
  205. package/dist/store/gi/constructor-props.js.map +1 -0
  206. package/dist/store/gi/enum.d.ts +5 -0
  207. package/dist/store/gi/enum.d.ts.map +1 -0
  208. package/dist/store/gi/enum.js +38 -0
  209. package/dist/store/gi/enum.js.map +1 -0
  210. package/dist/store/gi/function.d.ts +8 -0
  211. package/dist/store/gi/function.d.ts.map +1 -0
  212. package/dist/store/gi/function.js +87 -0
  213. package/dist/store/gi/function.js.map +1 -0
  214. package/dist/store/gi/gtype-binding.d.ts +10 -0
  215. package/dist/store/gi/gtype-binding.d.ts.map +1 -0
  216. package/dist/store/gi/gtype-binding.js +20 -0
  217. package/dist/store/gi/gtype-binding.js.map +1 -0
  218. package/dist/store/gi/interface.d.ts +4 -0
  219. package/dist/store/gi/interface.d.ts.map +1 -0
  220. package/dist/store/gi/interface.js +99 -0
  221. package/dist/store/gi/interface.js.map +1 -0
  222. package/dist/store/gi/item-comparators.d.ts +6 -0
  223. package/dist/store/gi/item-comparators.d.ts.map +1 -0
  224. package/dist/store/gi/item-comparators.js +76 -0
  225. package/dist/store/gi/item-comparators.js.map +1 -0
  226. package/dist/store/gi/method.d.ts +24 -0
  227. package/dist/store/gi/method.d.ts.map +1 -0
  228. package/dist/store/gi/method.js +279 -0
  229. package/dist/store/gi/method.js.map +1 -0
  230. package/dist/store/gi/param-marshal.d.ts +9 -0
  231. package/dist/store/gi/param-marshal.d.ts.map +1 -0
  232. package/dist/store/gi/param-marshal.js +37 -0
  233. package/dist/store/gi/param-marshal.js.map +1 -0
  234. package/dist/store/gi/pipeline.d.ts +4 -0
  235. package/dist/store/gi/pipeline.d.ts.map +1 -0
  236. package/dist/store/gi/pipeline.js +80 -0
  237. package/dist/store/gi/pipeline.js.map +1 -0
  238. package/dist/store/gi/properties.d.ts +5 -0
  239. package/dist/store/gi/properties.d.ts.map +1 -0
  240. package/dist/store/gi/properties.js +30 -0
  241. package/dist/store/gi/properties.js.map +1 -0
  242. package/dist/store/gi/property-accessor.d.ts +26 -0
  243. package/dist/store/gi/property-accessor.d.ts.map +1 -0
  244. package/dist/store/gi/property-accessor.js +132 -0
  245. package/dist/store/gi/property-accessor.js.map +1 -0
  246. package/dist/store/gi/record-constructor.d.ts +5 -0
  247. package/dist/store/gi/record-constructor.d.ts.map +1 -0
  248. package/dist/store/gi/record-constructor.js +65 -0
  249. package/dist/store/gi/record-constructor.js.map +1 -0
  250. package/dist/store/gi/record-field-accessor.d.ts +25 -0
  251. package/dist/store/gi/record-field-accessor.d.ts.map +1 -0
  252. package/dist/store/gi/record-field-accessor.js +288 -0
  253. package/dist/store/gi/record-field-accessor.js.map +1 -0
  254. package/dist/store/gi/record-layout.d.ts +14 -0
  255. package/dist/store/gi/record-layout.d.ts.map +1 -0
  256. package/dist/store/gi/record-layout.js +96 -0
  257. package/dist/store/gi/record-layout.js.map +1 -0
  258. package/dist/store/gi/record.d.ts +4 -0
  259. package/dist/store/gi/record.d.ts.map +1 -0
  260. package/dist/store/gi/record.js +59 -0
  261. package/dist/store/gi/record.js.map +1 -0
  262. package/dist/store/gi/registration.d.ts +16 -0
  263. package/dist/store/gi/registration.d.ts.map +1 -0
  264. package/dist/store/gi/registration.js +20 -0
  265. package/dist/store/gi/registration.js.map +1 -0
  266. package/dist/store/gi/return-wrap.d.ts +10 -0
  267. package/dist/store/gi/return-wrap.d.ts.map +1 -0
  268. package/dist/store/gi/return-wrap.js +46 -0
  269. package/dist/store/gi/return-wrap.js.map +1 -0
  270. package/dist/store/gi/runtime-override.d.ts +3 -0
  271. package/dist/store/gi/runtime-override.d.ts.map +1 -0
  272. package/dist/{writers → store/gi}/runtime-override.js +0 -15
  273. package/dist/store/gi/runtime-override.js.map +1 -0
  274. package/dist/store/gi/signal.d.ts +5 -0
  275. package/dist/store/gi/signal.d.ts.map +1 -0
  276. package/dist/store/gi/signal.js +233 -0
  277. package/dist/store/gi/signal.js.map +1 -0
  278. package/dist/store/gi/vtable.d.ts +4 -0
  279. package/dist/store/gi/vtable.d.ts.map +1 -0
  280. package/dist/store/gi/vtable.js +78 -0
  281. package/dist/store/gi/vtable.js.map +1 -0
  282. package/dist/store/gi-store.d.ts +9 -0
  283. package/dist/store/gi-store.d.ts.map +1 -0
  284. package/dist/store/gi-store.js +57 -0
  285. package/dist/store/gi-store.js.map +1 -0
  286. package/dist/store/jsx-store.d.ts +5 -0
  287. package/dist/store/jsx-store.d.ts.map +1 -0
  288. package/dist/store/jsx-store.js +23 -0
  289. package/dist/store/jsx-store.js.map +1 -0
  290. package/dist/store/react/built-ins.d.ts +9 -0
  291. package/dist/store/react/built-ins.d.ts.map +1 -0
  292. package/dist/store/react/built-ins.js +226 -0
  293. package/dist/store/react/built-ins.js.map +1 -0
  294. package/dist/store/react/element-components.d.ts +15 -0
  295. package/dist/store/react/element-components.d.ts.map +1 -0
  296. package/dist/store/react/element-components.js +92 -0
  297. package/dist/store/react/element-components.js.map +1 -0
  298. package/dist/store/react/element-prop-types.d.ts +19 -0
  299. package/dist/store/react/element-prop-types.d.ts.map +1 -0
  300. package/dist/store/react/element-prop-types.js +244 -0
  301. package/dist/store/react/element-prop-types.js.map +1 -0
  302. package/dist/store/react/element-props.d.ts +4 -0
  303. package/dist/store/react/element-props.d.ts.map +1 -0
  304. package/dist/store/react/element-props.js +178 -0
  305. package/dist/store/react/element-props.js.map +1 -0
  306. package/dist/store/react/gir-index.d.ts +25 -0
  307. package/dist/store/react/gir-index.d.ts.map +1 -0
  308. package/dist/store/react/gir-index.js +55 -0
  309. package/dist/store/react/gir-index.js.map +1 -0
  310. package/dist/store/react/intrinsic-elements.d.ts +26 -0
  311. package/dist/store/react/intrinsic-elements.d.ts.map +1 -0
  312. package/dist/store/react/intrinsic-elements.js +107 -0
  313. package/dist/store/react/intrinsic-elements.js.map +1 -0
  314. package/dist/store/react/jsx.d.ts +18 -0
  315. package/dist/store/react/jsx.d.ts.map +1 -0
  316. package/dist/store/react/jsx.js +203 -0
  317. package/dist/store/react/jsx.js.map +1 -0
  318. package/dist/store/react/metadata.d.ts +4 -0
  319. package/dist/store/react/metadata.d.ts.map +1 -0
  320. package/dist/store/react/metadata.js +174 -0
  321. package/dist/store/react/metadata.js.map +1 -0
  322. package/dist/store/react/pipeline.d.ts +14 -0
  323. package/dist/store/react/pipeline.d.ts.map +1 -0
  324. package/dist/store/react/pipeline.js +60 -0
  325. package/dist/store/react/pipeline.js.map +1 -0
  326. package/dist/store/react/props.d.ts +36 -0
  327. package/dist/store/react/props.d.ts.map +1 -0
  328. package/dist/store/react/props.js +133 -0
  329. package/dist/store/react/props.js.map +1 -0
  330. package/dist/store/store-fs.d.ts +41 -0
  331. package/dist/store/store-fs.d.ts.map +1 -0
  332. package/dist/store/store-fs.js +71 -0
  333. package/dist/store/store-fs.js.map +1 -0
  334. package/dist/writer/context.d.ts +16 -0
  335. package/dist/writer/context.d.ts.map +1 -0
  336. package/dist/writer/context.js +44 -0
  337. package/dist/writer/context.js.map +1 -0
  338. package/dist/writer/doc.d.ts +2 -0
  339. package/dist/writer/doc.d.ts.map +1 -0
  340. package/dist/writer/doc.js +12 -0
  341. package/dist/writer/doc.js.map +1 -0
  342. package/dist/writer/emit.d.ts +8 -0
  343. package/dist/writer/emit.d.ts.map +1 -0
  344. package/dist/writer/emit.js +21 -0
  345. package/dist/writer/emit.js.map +1 -0
  346. package/dist/writer/gtk-doc.d.ts +2 -0
  347. package/dist/writer/gtk-doc.d.ts.map +1 -0
  348. package/dist/writer/gtk-doc.js +67 -0
  349. package/dist/writer/gtk-doc.js.map +1 -0
  350. package/dist/writer/imports.d.ts +10 -0
  351. package/dist/writer/imports.d.ts.map +1 -0
  352. package/dist/writer/imports.js +50 -0
  353. package/dist/writer/imports.js.map +1 -0
  354. package/dist/writer/module.d.ts +15 -0
  355. package/dist/writer/module.d.ts.map +1 -0
  356. package/dist/writer/module.js +46 -0
  357. package/dist/writer/module.js.map +1 -0
  358. package/overrides/cairo/context.ts.ejs +1269 -0
  359. package/overrides/cairo/font-face.ts.ejs +151 -0
  360. package/overrides/cairo/font-options.ts.ejs +199 -0
  361. package/overrides/cairo/image-surface.ts.ejs +132 -0
  362. package/overrides/cairo/index.ts.ejs +22 -0
  363. package/overrides/cairo/matrix.ts.ejs +171 -0
  364. package/overrides/cairo/pattern.ts.ejs +476 -0
  365. package/overrides/cairo/recording-surface.ts.ejs +102 -0
  366. package/overrides/cairo/region.ts.ejs +237 -0
  367. package/overrides/cairo/scaled-font.ts.ejs +330 -0
  368. package/overrides/cairo/surface.ts.ejs +296 -0
  369. package/overrides/gdk/index.ts.ejs +2 -0
  370. package/overrides/gdk/rgba.ts.ejs +11 -0
  371. package/overrides/gobject/index.ts.ejs +29 -0
  372. package/overrides/gobject/object.ts.ejs +51 -0
  373. package/overrides/gobject/value.ts.ejs +17 -0
  374. package/overrides/graphene/index.ts.ejs +2 -0
  375. package/overrides/graphene/structs.ts.ejs +37 -0
  376. package/overrides/gtk/constants.ts.ejs +3 -0
  377. package/overrides/gtk/index.ts.ejs +2 -0
  378. package/package.json +15 -15
  379. package/src/analysis/descriptor-render.ts +407 -0
  380. package/src/analysis/descriptor.ts +263 -0
  381. package/src/analysis/inheritance.ts +242 -0
  382. package/src/analysis/param-structure.ts +127 -0
  383. package/src/analysis/ts-type.ts +88 -0
  384. package/src/compile.ts +152 -0
  385. package/src/docs/api-reference.ts +361 -0
  386. package/src/docs/element-page.ts +290 -0
  387. package/src/docs/pipeline.ts +182 -0
  388. package/src/docs/render.ts +191 -0
  389. package/src/docs/symbol-page.ts +444 -0
  390. package/src/fingerprint.ts +40 -29
  391. package/src/gir/ancestry.ts +41 -0
  392. package/src/gir/callback.ts +25 -22
  393. package/src/gir/class.ts +31 -57
  394. package/src/gir/enum.ts +20 -38
  395. package/src/gir/field.ts +21 -36
  396. package/src/gir/function.ts +17 -56
  397. package/src/gir/gir-path.ts +49 -0
  398. package/src/gir/libraries.ts +77 -0
  399. package/src/gir/library.ts +248 -0
  400. package/src/gir/namespace.ts +85 -80
  401. package/src/gir/parameter.ts +64 -93
  402. package/src/gir/parse.ts +43 -95
  403. package/src/gir/primitives.ts +23 -45
  404. package/src/gir/property.ts +27 -29
  405. package/src/gir/record.ts +53 -0
  406. package/src/gir/size.ts +9 -56
  407. package/src/gir/type-id.ts +49 -0
  408. package/src/gir/type-ref.ts +35 -140
  409. package/src/gir/type.ts +16 -0
  410. package/src/index.ts +20 -15
  411. package/src/khronos/args.ts +202 -0
  412. package/src/khronos/jsdoc.ts +76 -0
  413. package/src/khronos/model.ts +166 -0
  414. package/src/khronos/modules.ts +75 -0
  415. package/src/khronos/parse.ts +66 -0
  416. package/src/khronos/pipeline.ts +234 -0
  417. package/src/khronos/plan.ts +191 -0
  418. package/src/khronos/registry/LICENSE +202 -0
  419. package/src/khronos/registry/gl.xml +47748 -0
  420. package/src/khronos/render.ts +193 -0
  421. package/src/khronos/select.ts +67 -0
  422. package/src/runner.ts +112 -75
  423. package/src/store/compile-store.ts +49 -0
  424. package/src/store/gi/async.ts +42 -0
  425. package/src/store/gi/callables.ts +309 -0
  426. package/src/store/gi/callback.ts +15 -0
  427. package/src/store/gi/class-struct-record.ts +40 -0
  428. package/src/store/gi/class.ts +212 -0
  429. package/src/store/gi/companion.ts +13 -0
  430. package/src/store/gi/constant.ts +24 -0
  431. package/src/store/gi/constructor-props.ts +82 -0
  432. package/src/store/gi/enum.ts +49 -0
  433. package/src/store/gi/function.ts +107 -0
  434. package/src/store/gi/gtype-binding.ts +33 -0
  435. package/src/store/gi/interface.ts +157 -0
  436. package/src/store/gi/item-comparators.ts +90 -0
  437. package/src/store/gi/method.ts +417 -0
  438. package/src/store/gi/param-marshal.ts +48 -0
  439. package/src/store/gi/pipeline.ts +85 -0
  440. package/src/store/gi/properties.ts +39 -0
  441. package/src/store/gi/property-accessor.ts +194 -0
  442. package/src/store/gi/record-constructor.ts +87 -0
  443. package/src/store/gi/record-field-accessor.ts +394 -0
  444. package/src/store/gi/record-layout.ts +134 -0
  445. package/src/store/gi/record.ts +66 -0
  446. package/src/store/gi/registration.ts +38 -0
  447. package/src/store/gi/return-wrap.ts +52 -0
  448. package/src/store/gi/runtime-override.ts +36 -0
  449. package/src/store/gi/signal.ts +310 -0
  450. package/src/store/gi/vtable.ts +99 -0
  451. package/src/store/gi-store.ts +79 -0
  452. package/src/store/jsx-store.ts +27 -0
  453. package/src/store/react/built-ins.ts +260 -0
  454. package/src/store/react/element-components.ts +138 -0
  455. package/src/store/react/element-prop-types.ts +280 -0
  456. package/src/store/react/element-props.ts +204 -0
  457. package/src/store/react/gir-index.ts +85 -0
  458. package/src/store/react/intrinsic-elements.ts +161 -0
  459. package/src/store/react/jsx.ts +294 -0
  460. package/src/store/react/metadata.ts +197 -0
  461. package/src/store/react/pipeline.ts +90 -0
  462. package/src/store/react/props.ts +197 -0
  463. package/src/store/store-fs.ts +112 -0
  464. package/src/writer/context.ts +48 -0
  465. package/src/writer/doc.ts +11 -0
  466. package/src/writer/emit.ts +26 -0
  467. package/src/writer/gtk-doc.ts +74 -0
  468. package/src/writer/imports.ts +59 -0
  469. package/src/writer/module.ts +45 -0
  470. package/LICENSE +0 -373
  471. package/dist/dsl/context.d.ts +0 -104
  472. package/dist/dsl/context.d.ts.map +0 -1
  473. package/dist/dsl/context.js +0 -140
  474. package/dist/dsl/context.js.map +0 -1
  475. package/dist/dsl/emit.d.ts +0 -28
  476. package/dist/dsl/emit.d.ts.map +0 -1
  477. package/dist/dsl/emit.js +0 -41
  478. package/dist/dsl/emit.js.map +0 -1
  479. package/dist/dsl/identifier.d.ts +0 -28
  480. package/dist/dsl/identifier.d.ts.map +0 -1
  481. package/dist/dsl/identifier.js +0 -45
  482. package/dist/dsl/identifier.js.map +0 -1
  483. package/dist/dsl/imports.d.ts +0 -58
  484. package/dist/dsl/imports.d.ts.map +0 -1
  485. package/dist/dsl/imports.js +0 -107
  486. package/dist/dsl/imports.js.map +0 -1
  487. package/dist/dsl/module.d.ts +0 -53
  488. package/dist/dsl/module.d.ts.map +0 -1
  489. package/dist/dsl/module.js +0 -76
  490. package/dist/dsl/module.js.map +0 -1
  491. package/dist/ffi/pipeline.d.ts +0 -19
  492. package/dist/ffi/pipeline.d.ts.map +0 -1
  493. package/dist/ffi/pipeline.js +0 -107
  494. package/dist/ffi/pipeline.js.map +0 -1
  495. package/dist/gi-store.d.ts +0 -34
  496. package/dist/gi-store.d.ts.map +0 -1
  497. package/dist/gi-store.js +0 -154
  498. package/dist/gi-store.js.map +0 -1
  499. package/dist/gir/boxed.d.ts +0 -66
  500. package/dist/gir/boxed.d.ts.map +0 -1
  501. package/dist/gir/boxed.js +0 -49
  502. package/dist/gir/boxed.js.map +0 -1
  503. package/dist/gir/qualified-name.d.ts +0 -37
  504. package/dist/gir/qualified-name.d.ts.map +0 -1
  505. package/dist/gir/qualified-name.js +0 -39
  506. package/dist/gir/qualified-name.js.map +0 -1
  507. package/dist/gir/qualify.d.ts +0 -32
  508. package/dist/gir/qualify.d.ts.map +0 -1
  509. package/dist/gir/qualify.js +0 -60
  510. package/dist/gir/qualify.js.map +0 -1
  511. package/dist/gir/repository.d.ts +0 -82
  512. package/dist/gir/repository.d.ts.map +0 -1
  513. package/dist/gir/repository.js +0 -122
  514. package/dist/gir/repository.js.map +0 -1
  515. package/dist/gir/signal.d.ts +0 -22
  516. package/dist/gir/signal.d.ts.map +0 -1
  517. package/dist/gir/signal.js +0 -20
  518. package/dist/gir/signal.js.map +0 -1
  519. package/dist/jsx-store.d.ts +0 -22
  520. package/dist/jsx-store.d.ts.map +0 -1
  521. package/dist/jsx-store.js +0 -40
  522. package/dist/jsx-store.js.map +0 -1
  523. package/dist/react/compounds-meta.d.ts +0 -18
  524. package/dist/react/compounds-meta.d.ts.map +0 -1
  525. package/dist/react/compounds-meta.js +0 -93
  526. package/dist/react/compounds-meta.js.map +0 -1
  527. package/dist/react/compounds.d.ts +0 -27
  528. package/dist/react/compounds.d.ts.map +0 -1
  529. package/dist/react/compounds.js +0 -164
  530. package/dist/react/compounds.js.map +0 -1
  531. package/dist/react/internal.d.ts +0 -14
  532. package/dist/react/internal.d.ts.map +0 -1
  533. package/dist/react/internal.js +0 -79
  534. package/dist/react/internal.js.map +0 -1
  535. package/dist/react/jsx.d.ts +0 -22
  536. package/dist/react/jsx.d.ts.map +0 -1
  537. package/dist/react/jsx.js +0 -134
  538. package/dist/react/jsx.js.map +0 -1
  539. package/dist/react/pipeline.d.ts +0 -13
  540. package/dist/react/pipeline.d.ts.map +0 -1
  541. package/dist/react/pipeline.js +0 -25
  542. package/dist/react/pipeline.js.map +0 -1
  543. package/dist/react/props.d.ts +0 -38
  544. package/dist/react/props.d.ts.map +0 -1
  545. package/dist/react/props.js +0 -231
  546. package/dist/react/props.js.map +0 -1
  547. package/dist/react/slot-props.d.ts +0 -10
  548. package/dist/react/slot-props.d.ts.map +0 -1
  549. package/dist/react/slot-props.js +0 -56
  550. package/dist/react/slot-props.js.map +0 -1
  551. package/dist/react/widgets.d.ts +0 -83
  552. package/dist/react/widgets.d.ts.map +0 -1
  553. package/dist/react/widgets.js +0 -152
  554. package/dist/react/widgets.js.map +0 -1
  555. package/dist/store-fs.d.ts +0 -109
  556. package/dist/store-fs.d.ts.map +0 -1
  557. package/dist/store-fs.js +0 -98
  558. package/dist/store-fs.js.map +0 -1
  559. package/dist/transpile.d.ts +0 -32
  560. package/dist/transpile.d.ts.map +0 -1
  561. package/dist/transpile.js +0 -63
  562. package/dist/transpile.js.map +0 -1
  563. package/dist/typecheck-store.d.ts +0 -41
  564. package/dist/typecheck-store.d.ts.map +0 -1
  565. package/dist/typecheck-store.js +0 -102
  566. package/dist/typecheck-store.js.map +0 -1
  567. package/dist/writers/alias.d.ts +0 -13
  568. package/dist/writers/alias.d.ts.map +0 -1
  569. package/dist/writers/alias.js +0 -17
  570. package/dist/writers/alias.js.map +0 -1
  571. package/dist/writers/async.d.ts +0 -22
  572. package/dist/writers/async.d.ts.map +0 -1
  573. package/dist/writers/async.js +0 -48
  574. package/dist/writers/async.js.map +0 -1
  575. package/dist/writers/boxed-constructor.d.ts +0 -26
  576. package/dist/writers/boxed-constructor.d.ts.map +0 -1
  577. package/dist/writers/boxed-constructor.js +0 -85
  578. package/dist/writers/boxed-constructor.js.map +0 -1
  579. package/dist/writers/boxed-field-accessor.d.ts +0 -18
  580. package/dist/writers/boxed-field-accessor.d.ts.map +0 -1
  581. package/dist/writers/boxed-field-accessor.js +0 -260
  582. package/dist/writers/boxed-field-accessor.js.map +0 -1
  583. package/dist/writers/boxed-layout.d.ts +0 -27
  584. package/dist/writers/boxed-layout.d.ts.map +0 -1
  585. package/dist/writers/boxed-layout.js +0 -128
  586. package/dist/writers/boxed-layout.js.map +0 -1
  587. package/dist/writers/boxed.d.ts +0 -20
  588. package/dist/writers/boxed.d.ts.map +0 -1
  589. package/dist/writers/boxed.js +0 -71
  590. package/dist/writers/boxed.js.map +0 -1
  591. package/dist/writers/callables.d.ts +0 -124
  592. package/dist/writers/callables.d.ts.map +0 -1
  593. package/dist/writers/callables.js +0 -283
  594. package/dist/writers/callables.js.map +0 -1
  595. package/dist/writers/callback.d.ts +0 -16
  596. package/dist/writers/callback.d.ts.map +0 -1
  597. package/dist/writers/callback.js +0 -38
  598. package/dist/writers/callback.js.map +0 -1
  599. package/dist/writers/class-struct-record.d.ts +0 -31
  600. package/dist/writers/class-struct-record.d.ts.map +0 -1
  601. package/dist/writers/class-struct-record.js +0 -67
  602. package/dist/writers/class-struct-record.js.map +0 -1
  603. package/dist/writers/class-struct.d.ts +0 -22
  604. package/dist/writers/class-struct.d.ts.map +0 -1
  605. package/dist/writers/class-struct.js +0 -85
  606. package/dist/writers/class-struct.js.map +0 -1
  607. package/dist/writers/class.d.ts +0 -16
  608. package/dist/writers/class.d.ts.map +0 -1
  609. package/dist/writers/class.js +0 -307
  610. package/dist/writers/class.js.map +0 -1
  611. package/dist/writers/constant.d.ts +0 -15
  612. package/dist/writers/constant.d.ts.map +0 -1
  613. package/dist/writers/constant.js +0 -23
  614. package/dist/writers/constant.js.map +0 -1
  615. package/dist/writers/constants.d.ts +0 -15
  616. package/dist/writers/constants.d.ts.map +0 -1
  617. package/dist/writers/constants.js +0 -23
  618. package/dist/writers/constants.js.map +0 -1
  619. package/dist/writers/constructor-props.d.ts +0 -32
  620. package/dist/writers/constructor-props.d.ts.map +0 -1
  621. package/dist/writers/constructor-props.js +0 -110
  622. package/dist/writers/constructor-props.js.map +0 -1
  623. package/dist/writers/enum.d.ts +0 -21
  624. package/dist/writers/enum.d.ts.map +0 -1
  625. package/dist/writers/enum.js +0 -48
  626. package/dist/writers/enum.js.map +0 -1
  627. package/dist/writers/function.d.ts +0 -40
  628. package/dist/writers/function.d.ts.map +0 -1
  629. package/dist/writers/function.js +0 -127
  630. package/dist/writers/function.js.map +0 -1
  631. package/dist/writers/gtype-binding.d.ts +0 -19
  632. package/dist/writers/gtype-binding.d.ts.map +0 -1
  633. package/dist/writers/gtype-binding.js +0 -40
  634. package/dist/writers/gtype-binding.js.map +0 -1
  635. package/dist/writers/inheritance.d.ts +0 -48
  636. package/dist/writers/inheritance.d.ts.map +0 -1
  637. package/dist/writers/inheritance.js +0 -90
  638. package/dist/writers/inheritance.js.map +0 -1
  639. package/dist/writers/interface.d.ts +0 -16
  640. package/dist/writers/interface.d.ts.map +0 -1
  641. package/dist/writers/interface.js +0 -155
  642. package/dist/writers/interface.js.map +0 -1
  643. package/dist/writers/method.d.ts +0 -150
  644. package/dist/writers/method.d.ts.map +0 -1
  645. package/dist/writers/method.js +0 -510
  646. package/dist/writers/method.js.map +0 -1
  647. package/dist/writers/param-classify.d.ts +0 -93
  648. package/dist/writers/param-classify.d.ts.map +0 -1
  649. package/dist/writers/param-classify.js +0 -163
  650. package/dist/writers/param-classify.js.map +0 -1
  651. package/dist/writers/property-accessor.d.ts +0 -19
  652. package/dist/writers/property-accessor.d.ts.map +0 -1
  653. package/dist/writers/property-accessor.js +0 -117
  654. package/dist/writers/property-accessor.js.map +0 -1
  655. package/dist/writers/registration.d.ts +0 -27
  656. package/dist/writers/registration.d.ts.map +0 -1
  657. package/dist/writers/registration.js +0 -30
  658. package/dist/writers/registration.js.map +0 -1
  659. package/dist/writers/return-wrap.d.ts +0 -39
  660. package/dist/writers/return-wrap.d.ts.map +0 -1
  661. package/dist/writers/return-wrap.js +0 -152
  662. package/dist/writers/return-wrap.js.map +0 -1
  663. package/dist/writers/runtime-override.d.ts +0 -18
  664. package/dist/writers/runtime-override.d.ts.map +0 -1
  665. package/dist/writers/runtime-override.js.map +0 -1
  666. package/dist/writers/signal.d.ts +0 -21
  667. package/dist/writers/signal.d.ts.map +0 -1
  668. package/dist/writers/signal.js +0 -260
  669. package/dist/writers/signal.js.map +0 -1
  670. package/dist/writers/ts-type.d.ts +0 -50
  671. package/dist/writers/ts-type.d.ts.map +0 -1
  672. package/dist/writers/ts-type.js +0 -75
  673. package/dist/writers/ts-type.js.map +0 -1
  674. package/dist/writers/types-ts.d.ts +0 -27
  675. package/dist/writers/types-ts.d.ts.map +0 -1
  676. package/dist/writers/types-ts.js +0 -97
  677. package/dist/writers/types-ts.js.map +0 -1
  678. package/dist/writers/value.d.ts +0 -89
  679. package/dist/writers/value.d.ts.map +0 -1
  680. package/dist/writers/value.js +0 -402
  681. package/dist/writers/value.js.map +0 -1
  682. package/src/dsl/context.ts +0 -146
  683. package/src/dsl/emit.ts +0 -42
  684. package/src/dsl/identifier.ts +0 -52
  685. package/src/dsl/imports.ts +0 -109
  686. package/src/dsl/module.ts +0 -75
  687. package/src/ffi/pipeline.ts +0 -113
  688. package/src/gi-store.ts +0 -199
  689. package/src/gir/boxed.ts +0 -94
  690. package/src/gir/qualified-name.ts +0 -55
  691. package/src/gir/qualify.ts +0 -64
  692. package/src/gir/repository.ts +0 -149
  693. package/src/gir/signal.ts +0 -36
  694. package/src/jsx-store.ts +0 -53
  695. package/src/react/compounds-meta.ts +0 -99
  696. package/src/react/compounds.ts +0 -204
  697. package/src/react/internal.ts +0 -91
  698. package/src/react/jsx.ts +0 -155
  699. package/src/react/pipeline.ts +0 -29
  700. package/src/react/props.ts +0 -307
  701. package/src/react/slot-props.ts +0 -57
  702. package/src/react/widgets.ts +0 -185
  703. package/src/store-fs.ts +0 -157
  704. package/src/transpile.ts +0 -80
  705. package/src/typecheck-store.ts +0 -136
  706. package/src/writers/alias.ts +0 -19
  707. package/src/writers/async.ts +0 -44
  708. package/src/writers/boxed-constructor.ts +0 -105
  709. package/src/writers/boxed-field-accessor.ts +0 -306
  710. package/src/writers/boxed-layout.ts +0 -166
  711. package/src/writers/boxed.ts +0 -77
  712. package/src/writers/callables.ts +0 -339
  713. package/src/writers/callback.ts +0 -40
  714. package/src/writers/class-struct-record.ts +0 -75
  715. package/src/writers/class-struct.ts +0 -96
  716. package/src/writers/class.ts +0 -384
  717. package/src/writers/constant.ts +0 -29
  718. package/src/writers/constructor-props.ts +0 -130
  719. package/src/writers/enum.ts +0 -53
  720. package/src/writers/function.ts +0 -136
  721. package/src/writers/gtype-binding.ts +0 -48
  722. package/src/writers/inheritance.ts +0 -104
  723. package/src/writers/interface.ts +0 -168
  724. package/src/writers/method.ts +0 -678
  725. package/src/writers/param-classify.ts +0 -178
  726. package/src/writers/property-accessor.ts +0 -139
  727. package/src/writers/registration.ts +0 -42
  728. package/src/writers/return-wrap.ts +0 -180
  729. package/src/writers/runtime-override.ts +0 -59
  730. package/src/writers/signal.ts +0 -318
  731. package/src/writers/ts-type.ts +0 -115
  732. package/src/writers/value.ts +0 -485
@@ -1,56 +0,0 @@
1
- /**
2
- * Built-in widget-typed properties that should be exposed as JSX child
3
- * slots (typed as `ReactNode`) rather than as raw widget refs.
4
- *
5
- * The keys are JSX element names (i.e. GLib type names such as
6
- * `"AdwWindow"`, `"GtkHeaderBar"`); the values are the camelCase property
7
- * names that should be promoted. User-supplied `slotProps` from
8
- * `gtkx.config.ts` merge into this map.
9
- */
10
- const BUILT_IN_SLOT_PROPS = Object.freeze({
11
- GtkWindow: ["titlebar"],
12
- AdwWindow: ["content"],
13
- AdwApplicationWindow: ["content"],
14
- AdwAlertDialog: ["extraChild"],
15
- AdwBottomSheet: ["bottomBar", "content", "sheet"],
16
- GtkCenterBox: ["centerWidget", "endWidget", "startWidget"],
17
- GtkExpander: ["labelWidget"],
18
- AdwFlap: ["content", "flap", "separator"],
19
- GtkFrame: ["labelWidget"],
20
- GtkHeaderBar: ["titleWidget"],
21
- AdwHeaderBar: ["titleWidget"],
22
- GtkMenuButton: ["popover"],
23
- AdwMessageDialog: ["extraChild"],
24
- AdwNavigationSplitView: ["content", "sidebar"],
25
- AdwOverlaySplitView: ["content", "sidebar"],
26
- GtkPaned: ["endChild", "startChild"],
27
- AdwPreferencesGroup: ["headerSuffix"],
28
- AdwPreferencesPage: ["banner"],
29
- AdwSplitButton: ["popover"],
30
- AdwTabBar: ["endActionWidget", "startActionWidget"],
31
- AdwToolbarView: ["content"],
32
- });
33
- /**
34
- * Merges built-in slot props with the user-supplied `slotProps` map.
35
- *
36
- * Per JSX element name, the resulting list is the union of both sources
37
- * with duplicates removed and a stable alphabetical sort.
38
- *
39
- * @param userSlotProps - The user-provided `slotProps` map, or `undefined`
40
- */
41
- export const mergeSlotProps = (userSlotProps) => {
42
- const result = {};
43
- for (const [key, values] of Object.entries(BUILT_IN_SLOT_PROPS)) {
44
- result[key] = [...values];
45
- }
46
- if (userSlotProps !== undefined) {
47
- for (const [key, values] of Object.entries(userSlotProps)) {
48
- const merged = new Set(result[key] ?? []);
49
- for (const value of values)
50
- merged.add(value);
51
- result[key] = [...merged].sort((a, b) => a.localeCompare(b));
52
- }
53
- }
54
- return result;
55
- };
56
- //# sourceMappingURL=slot-props.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"slot-props.js","sourceRoot":"","sources":["../../src/react/slot-props.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,mBAAmB,GAAgD,MAAM,CAAC,MAAM,CAAC;IACnF,SAAS,EAAE,CAAC,UAAU,CAAC;IACvB,SAAS,EAAE,CAAC,SAAS,CAAC;IACtB,oBAAoB,EAAE,CAAC,SAAS,CAAC;IACjC,cAAc,EAAE,CAAC,YAAY,CAAC;IAC9B,cAAc,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC;IACjD,YAAY,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,aAAa,CAAC;IAC1D,WAAW,EAAE,CAAC,aAAa,CAAC;IAC5B,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC;IACzC,QAAQ,EAAE,CAAC,aAAa,CAAC;IACzB,YAAY,EAAE,CAAC,aAAa,CAAC;IAC7B,YAAY,EAAE,CAAC,aAAa,CAAC;IAC7B,aAAa,EAAE,CAAC,SAAS,CAAC;IAC1B,gBAAgB,EAAE,CAAC,YAAY,CAAC;IAChC,sBAAsB,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9C,mBAAmB,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;IAC3C,QAAQ,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC;IACpC,mBAAmB,EAAE,CAAC,cAAc,CAAC;IACrC,kBAAkB,EAAE,CAAC,QAAQ,CAAC;IAC9B,cAAc,EAAE,CAAC,SAAS,CAAC;IAC3B,SAAS,EAAE,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;IACnD,cAAc,EAAE,CAAC,SAAS,CAAC;CAC9B,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC1B,aAAsE,EAC3B,EAAE;IAC7C,MAAM,MAAM,GAA6B,EAAE,CAAC;IAC5C,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC9D,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YACxD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAClD,KAAK,MAAM,KAAK,IAAI,MAAM;gBAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC9C,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC"}
@@ -1,83 +0,0 @@
1
- import type { GirClass } from "../gir/class.js";
2
- import type { GirNamespace } from "../gir/namespace.js";
3
- import type { GirRepository } from "../gir/repository.js";
4
- /**
5
- * Maps a kebab-case signal name to its `on`-prefixed camelCase handler prop
6
- * name (e.g. `value-changed` → `onValueChanged`).
7
- *
8
- * @param signalName - The GIR signal name
9
- */
10
- export declare const signalHandlerName: (signalName: string) => string;
11
- /** A class qualified by its declaring namespace and the GLib type name it exposes. */
12
- export type WidgetCandidate = {
13
- readonly glibName: string;
14
- readonly klass: GirClass;
15
- readonly namespace: GirNamespace;
16
- };
17
- /**
18
- * Iterates every `(class, namespace, glibName)` triple in the repository whose
19
- * `glib:type-name` (or C type fallback) is defined.
20
- *
21
- * The order follows GIR file order within a namespace and `namespaces` map
22
- * iteration order between namespaces; callers that need stable output should
23
- * sort the result themselves.
24
- *
25
- * @param repository - The repository to walk
26
- */
27
- export declare function iterateClassesWithGlibName(repository: GirRepository): IterableIterator<WidgetCandidate>;
28
- /** A resolved interface qualified by the namespace that declares it. */
29
- export type ResolvedQualifiedInterface = {
30
- readonly klass: GirClass;
31
- readonly namespace: GirNamespace;
32
- };
33
- /**
34
- * Resolves every interface a class implements, including the transitive
35
- * prerequisite interfaces of those interfaces, nearest first.
36
- *
37
- * Interfaces never appear in the GObject type-parent chain, so the React
38
- * runtime cannot reach an interface's signals or properties by walking a
39
- * widget's ancestors. Each implementing class must therefore carry its
40
- * interfaces' metadata directly. Prerequisite interfaces (e.g. a
41
- * `Gtk.SelectionModel`'s `Gio.ListModel`) are folded in transitively; class
42
- * prerequisites are ignored because their metadata is reachable through the
43
- * type-parent chain.
44
- *
45
- * @param klass - The class whose interfaces to resolve
46
- * @param namespace - The namespace the class lives in
47
- * @param repository - The repository for cross-namespace lookups
48
- */
49
- export declare const implementedInterfaces: (klass: GirClass, namespace: GirNamespace, repository: GirRepository) => readonly ResolvedQualifiedInterface[];
50
- /**
51
- * Returns the GLib type names of a class and every ancestor it descends from,
52
- * nearest first. Used to let a subclass inherit slot-prop declarations made on
53
- * its ancestors.
54
- *
55
- * @param klass - The class to start from
56
- * @param namespace - The namespace the class lives in
57
- * @param repository - The repository for cross-namespace parent lookups
58
- */
59
- export declare const ancestorGlibNames: (klass: GirClass, namespace: GirNamespace, repository: GirRepository) => readonly string[];
60
- /**
61
- * Decides whether a `<class>` is a "widget" for the React reconciler — a
62
- * descendant (direct or transitive) of `GtkWidget`.
63
- *
64
- * Walks the parent chain across namespaces. Returns `false` if any
65
- * ancestor cannot be resolved (which is preferable to silently treating
66
- * an unknown type as a widget).
67
- *
68
- * @param klass - The class to inspect
69
- * @param namespace - The namespace the class lives in
70
- * @param repository - The repository for cross-namespace parent lookups
71
- */
72
- export declare const isWidgetClass: (klass: GirClass, namespace: GirNamespace, repository: GirRepository) => boolean;
73
- /**
74
- * Decides whether a `<class>` is any React reconciler node — a widget or one
75
- * of the auxiliary node kinds. This is the set of classes that need generated
76
- * prop, signal, and construct-only metadata.
77
- *
78
- * @param klass - The class to inspect
79
- * @param namespace - The namespace the class lives in
80
- * @param repository - The repository for cross-namespace parent lookups
81
- */
82
- export declare const isReactNodeClass: (klass: GirClass, namespace: GirNamespace, repository: GirRepository) => boolean;
83
- //# sourceMappingURL=widgets.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"widgets.d.ts","sourceRoot":"","sources":["../../src/react/widgets.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAAI,YAAY,MAAM,KAAG,MACO,CAAC;AAE/D,sFAAsF;AACtF,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;CACpC,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAiB,0BAA0B,CAAC,UAAU,EAAE,aAAa,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAQxG;AAaD,wEAAwE;AACxE,MAAM,MAAM,0BAA0B,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAA;CAAE,CAAC;AAExG;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,qBAAqB,GAC9B,OAAO,QAAQ,EACf,WAAW,YAAY,EACvB,YAAY,aAAa,KAC1B,SAAS,0BAA0B,EAiBrC,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,GAC1B,OAAO,QAAQ,EACf,WAAW,YAAY,EACvB,YAAY,aAAa,KAC1B,SAAS,MAAM,EAcjB,CAAC;AAsBF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,QAAQ,EAAE,WAAW,YAAY,EAAE,YAAY,aAAa,KAAG,OACd,CAAC;AAiBvF;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,GAAI,OAAO,QAAQ,EAAE,WAAW,YAAY,EAAE,YAAY,aAAa,KAAG,OACF,CAAC"}
@@ -1,152 +0,0 @@
1
- import { toCamelCase, toIdentifier, toUpperFirst } from "@gtkx/utils";
2
- import { splitQualifiedName } from "../gir/qualified-name.js";
3
- /**
4
- * Maps a kebab-case signal name to its `on`-prefixed camelCase handler prop
5
- * name (e.g. `value-changed` → `onValueChanged`).
6
- *
7
- * @param signalName - The GIR signal name
8
- */
9
- export const signalHandlerName = (signalName) => `on${toUpperFirst(toIdentifier(toCamelCase(signalName)))}`;
10
- /**
11
- * Iterates every `(class, namespace, glibName)` triple in the repository whose
12
- * `glib:type-name` (or C type fallback) is defined.
13
- *
14
- * The order follows GIR file order within a namespace and `namespaces` map
15
- * iteration order between namespaces; callers that need stable output should
16
- * sort the result themselves.
17
- *
18
- * @param repository - The repository to walk
19
- */
20
- export function* iterateClassesWithGlibName(repository) {
21
- for (const namespace of repository.namespaces.values()) {
22
- for (const klass of namespace.classes) {
23
- const glibName = klass.glibTypeName ?? klass.cType;
24
- if (glibName === undefined)
25
- continue;
26
- yield { glibName, klass, namespace };
27
- }
28
- }
29
- }
30
- const resolveParentClass = (repository, parent, namespace) => {
31
- const { namespaceName, typeName } = splitQualifiedName(parent, namespace.name);
32
- const resolved = repository.resolveNamed(namespaceName, typeName);
33
- if (resolved === undefined || (resolved.kind !== "class" && resolved.kind !== "interface"))
34
- return undefined;
35
- return { klass: resolved.value, namespace: resolved.namespace };
36
- };
37
- /**
38
- * Resolves every interface a class implements, including the transitive
39
- * prerequisite interfaces of those interfaces, nearest first.
40
- *
41
- * Interfaces never appear in the GObject type-parent chain, so the React
42
- * runtime cannot reach an interface's signals or properties by walking a
43
- * widget's ancestors. Each implementing class must therefore carry its
44
- * interfaces' metadata directly. Prerequisite interfaces (e.g. a
45
- * `Gtk.SelectionModel`'s `Gio.ListModel`) are folded in transitively; class
46
- * prerequisites are ignored because their metadata is reachable through the
47
- * type-parent chain.
48
- *
49
- * @param klass - The class whose interfaces to resolve
50
- * @param namespace - The namespace the class lives in
51
- * @param repository - The repository for cross-namespace lookups
52
- */
53
- export const implementedInterfaces = (klass, namespace, repository) => {
54
- const result = [];
55
- const visited = new Set();
56
- const visit = (names, fromNamespace) => {
57
- for (const name of names) {
58
- const { namespaceName, typeName } = splitQualifiedName(name, fromNamespace.name);
59
- const resolved = repository.resolveNamed(namespaceName, typeName);
60
- if (resolved === undefined || resolved.kind !== "interface")
61
- continue;
62
- const key = `${resolved.namespace.name}.${resolved.value.name}`;
63
- if (visited.has(key))
64
- continue;
65
- visited.add(key);
66
- result.push({ klass: resolved.value, namespace: resolved.namespace });
67
- visit(resolved.value.prerequisites, resolved.namespace);
68
- }
69
- };
70
- visit(klass.implements, namespace);
71
- return result;
72
- };
73
- /**
74
- * Returns the GLib type names of a class and every ancestor it descends from,
75
- * nearest first. Used to let a subclass inherit slot-prop declarations made on
76
- * its ancestors.
77
- *
78
- * @param klass - The class to start from
79
- * @param namespace - The namespace the class lives in
80
- * @param repository - The repository for cross-namespace parent lookups
81
- */
82
- export const ancestorGlibNames = (klass, namespace, repository) => {
83
- const names = [];
84
- let currentClass = klass;
85
- let currentNamespace = namespace;
86
- while (currentClass !== undefined && currentNamespace !== undefined) {
87
- const glibName = currentClass.glibTypeName ?? currentClass.cType;
88
- if (glibName !== undefined)
89
- names.push(glibName);
90
- if (currentClass.parent === undefined)
91
- break;
92
- const next = resolveParentClass(repository, currentClass.parent, currentNamespace);
93
- if (next === undefined)
94
- break;
95
- currentClass = next.klass;
96
- currentNamespace = next.namespace;
97
- }
98
- return names;
99
- };
100
- const descendsFrom = (klass, namespace, repository, matches) => {
101
- let currentClass = klass;
102
- let currentNamespace = namespace;
103
- while (currentClass !== undefined && currentNamespace !== undefined) {
104
- const glibName = currentClass.glibTypeName ?? currentClass.cType ?? "";
105
- if (matches(glibName))
106
- return true;
107
- if (currentClass.parent === undefined)
108
- return false;
109
- const next = resolveParentClass(repository, currentClass.parent, currentNamespace);
110
- if (next === undefined)
111
- return false;
112
- currentClass = next.klass;
113
- currentNamespace = next.namespace;
114
- }
115
- return false;
116
- };
117
- /**
118
- * Decides whether a `<class>` is a "widget" for the React reconciler — a
119
- * descendant (direct or transitive) of `GtkWidget`.
120
- *
121
- * Walks the parent chain across namespaces. Returns `false` if any
122
- * ancestor cannot be resolved (which is preferable to silently treating
123
- * an unknown type as a widget).
124
- *
125
- * @param klass - The class to inspect
126
- * @param namespace - The namespace the class lives in
127
- * @param repository - The repository for cross-namespace parent lookups
128
- */
129
- export const isWidgetClass = (klass, namespace, repository) => descendsFrom(klass, namespace, repository, (glibName) => glibName === "GtkWidget");
130
- const AUXILIARY_BASE_TYPES = new Set(["GtkEventController", "GtkGesture", "GtkLayoutManager"]);
131
- /**
132
- * Decides whether a `<class>` is a non-widget React reconciler node — an event
133
- * controller, gesture, or layout manager (direct or transitive descendant of
134
- * `GtkEventController`, `GtkGesture`, or `GtkLayoutManager`). These are JSX
135
- * elements that need the same prop/signal metadata as widgets.
136
- *
137
- * @param klass - The class to inspect
138
- * @param namespace - The namespace the class lives in
139
- * @param repository - The repository for cross-namespace parent lookups
140
- */
141
- const isAuxiliaryReactType = (klass, namespace, repository) => descendsFrom(klass, namespace, repository, (glibName) => AUXILIARY_BASE_TYPES.has(glibName));
142
- /**
143
- * Decides whether a `<class>` is any React reconciler node — a widget or one
144
- * of the auxiliary node kinds. This is the set of classes that need generated
145
- * prop, signal, and construct-only metadata.
146
- *
147
- * @param klass - The class to inspect
148
- * @param namespace - The namespace the class lives in
149
- * @param repository - The repository for cross-namespace parent lookups
150
- */
151
- export const isReactNodeClass = (klass, namespace, repository) => isWidgetClass(klass, namespace, repository) || isAuxiliaryReactType(klass, namespace, repository);
152
- //# sourceMappingURL=widgets.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"widgets.js","sourceRoot":"","sources":["../../src/react/widgets.ts"],"names":[],"mappings":"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"}
@@ -1,109 +0,0 @@
1
- /**
2
- * Filesystem primitives shared by the injected-package assemblers
3
- * ({@link ../gi-store.js}, {@link ../jsx-store.js}).
4
- */
5
- /**
6
- * Fields every injected-package store assembler needs: where the hidden store
7
- * lives, the visible alias symlink, and the version stamped onto its manifest.
8
- */
9
- export type StoreOptions = {
10
- /** Absolute path to the hidden store directory (e.g. `node_modules/.gtkx/gi`). */
11
- readonly storeDir: string;
12
- /** Absolute path to the visible alias symlink (e.g. `node_modules/@gtkx/gi`). */
13
- readonly linkDir: string;
14
- /** Version string copied onto the emitted package's `package.json`. */
15
- readonly version: string;
16
- };
17
- /** A transpilable source destined for the store, addressed by output stem. */
18
- export type StoreFile = {
19
- /** Output path without extension, relative to the store root. */
20
- readonly stem: string;
21
- /** Source filename TypeScript uses for diagnostics. */
22
- readonly fileName: string;
23
- /** The TypeScript source to transpile and write. */
24
- readonly source: string;
25
- };
26
- /** A symlink to create inside the store's own bundled `node_modules`. */
27
- export type StoreSymlink = {
28
- /** Path segments under the store root the symlink is created at. */
29
- readonly segments: readonly string[];
30
- /** Absolute symlink target, or `"self"` for the store root itself. */
31
- readonly target: string | "self";
32
- };
33
- /**
34
- * Assembles a store in a fresh temp directory and atomically swaps it into
35
- * place: writes every file pair, the `package.json`, the bundled
36
- * `node_modules` symlinks, then promotes the temp tree and re-points the
37
- * visible alias. An optional {@link WriteStoreParams.validate} runs against the
38
- * temp root before any file is written, so a failure aborts before the store
39
- * goes live.
40
- *
41
- * @param params - {@link WriteStoreParams}
42
- */
43
- export declare const writeStore: (params: WriteStoreParams) => void;
44
- /** Inputs for {@link writeStore}. */
45
- export type WriteStoreParams = {
46
- /** Absolute hidden store directory. */
47
- readonly storeDir: string;
48
- /** Absolute visible alias symlink. */
49
- readonly linkDir: string;
50
- /** The source files to transpile and write. */
51
- readonly files: readonly StoreFile[];
52
- /** The `package.json` manifest to serialize. */
53
- readonly manifest: unknown;
54
- /** The bundled `node_modules` symlinks to create. */
55
- readonly symlinks: readonly StoreSymlink[];
56
- /** Verbatim files (e.g. a fingerprint sentinel) written under the store root. */
57
- readonly rawFiles?: readonly {
58
- readonly relativePath: string;
59
- readonly content: string;
60
- }[];
61
- /** Optional in-memory validation run on the temp root before files are written. */
62
- readonly validate?: (tmp: string) => void;
63
- };
64
- /**
65
- * Transpiles `source` and writes the resulting `.js`/`.d.ts` pair at `stem`
66
- * (relative to `storeDir`), creating parent directories as needed.
67
- *
68
- * @param storeDir - Absolute store root the file is written under
69
- * @param stem - Output path without extension, relative to `storeDir`
70
- * @param fileName - Source filename TypeScript uses for diagnostics
71
- * @param source - The TypeScript source to transpile
72
- */
73
- export declare const writeFilePair: (storeDir: string, stem: string, fileName: string, source: string) => void;
74
- /**
75
- * Creates (or replaces) a relative directory symlink at `linkPath` pointing at
76
- * `realTarget`. Relative so the link survives the store being moved or cached.
77
- *
78
- * @param linkPath - Absolute path of the symlink to create
79
- * @param realTarget - Absolute path the symlink resolves to
80
- */
81
- export declare const symlinkRelative: (linkPath: string, realTarget: string) => void;
82
- /**
83
- * Writes a pretty-printed `package.json` into `storeDir`.
84
- *
85
- * @param storeDir - Absolute directory to write `package.json` into
86
- * @param manifest - The manifest object to serialize
87
- */
88
- export declare const writePackageJson: (storeDir: string, manifest: unknown) => void;
89
- /**
90
- * Swaps a fully-assembled temp store into place and re-points the visible alias
91
- * at it.
92
- *
93
- * The live store is renamed aside and the temp store renamed in before the old
94
- * tree is deleted, so the store is unavailable only for the duration of a single
95
- * rename instead of a full recursive delete. Not safe against a second codegen
96
- * run swapping the same store concurrently.
97
- *
98
- * @param tmp - Absolute temp store directory to promote
99
- * @param storeDir - Absolute final store directory
100
- * @param visibleLink - Absolute path of the visible alias symlink
101
- */
102
- export declare const swapStore: (tmp: string, storeDir: string, visibleLink: string) => void;
103
- /**
104
- * Creates a fresh, per-run temporary store directory next to `storeDir` and
105
- * returns its path. The random suffix isolates concurrent or repeated runs so
106
- * they cannot corrupt each other's in-progress trees.
107
- */
108
- export declare const tempStoreFor: (storeDir: string) => string;
109
- //# sourceMappingURL=store-fs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store-fs.d.ts","sourceRoot":"","sources":["../src/store-fs.ts"],"names":[],"mappings":"AAIA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACvB,kFAAkF;IAClF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,iFAAiF;IACjF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,uEAAuE;IACvE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,8EAA8E;AAC9E,MAAM,MAAM,SAAS,GAAG;IACpB,iEAAiE;IACjE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,uDAAuD;IACvD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,oDAAoD;IACpD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,yEAAyE;AACzE,MAAM,MAAM,YAAY,GAAG;IACvB,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,sEAAsE;IACtE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CACpC,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,GAAI,QAAQ,gBAAgB,KAAG,IAcrD,CAAC;AAEF,qCAAqC;AACrC,MAAM,MAAM,gBAAgB,GAAG;IAC3B,uCAAuC;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,sCAAsC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,+CAA+C;IAC/C,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAC;IACrC,gDAAgD;IAChD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,qDAAqD;IACrD,QAAQ,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAC;IAC3C,iFAAiF;IACjF,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS;QAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC3F,mFAAmF;IACnF,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7C,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,GAAI,UAAU,MAAM,EAAE,MAAM,MAAM,EAAE,UAAU,MAAM,EAAE,QAAQ,MAAM,KAAG,IAMhG,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,EAAE,YAAY,MAAM,KAAG,IAItE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,UAAU,MAAM,EAAE,UAAU,OAAO,KAAG,IAEtE,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,EAAE,UAAU,MAAM,EAAE,aAAa,MAAM,KAAG,IAS9E,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,UAAU,MAAM,KAAG,MAG/C,CAAC"}
package/dist/store-fs.js DELETED
@@ -1,98 +0,0 @@
1
- import { existsSync, mkdirSync, mkdtempSync, renameSync, rmSync, symlinkSync, writeFileSync } from "node:fs";
2
- import { dirname, join, relative } from "node:path";
3
- import { transpileSource } from "./transpile.js";
4
- /**
5
- * Assembles a store in a fresh temp directory and atomically swaps it into
6
- * place: writes every file pair, the `package.json`, the bundled
7
- * `node_modules` symlinks, then promotes the temp tree and re-points the
8
- * visible alias. An optional {@link WriteStoreParams.validate} runs against the
9
- * temp root before any file is written, so a failure aborts before the store
10
- * goes live.
11
- *
12
- * @param params - {@link WriteStoreParams}
13
- */
14
- export const writeStore = (params) => {
15
- const tmp = tempStoreFor(params.storeDir);
16
- params.validate?.(tmp);
17
- for (const file of params.files) {
18
- writeFilePair(tmp, file.stem, file.fileName, file.source);
19
- }
20
- writePackageJson(tmp, params.manifest);
21
- for (const raw of params.rawFiles ?? []) {
22
- writeFileSync(join(tmp, raw.relativePath), raw.content);
23
- }
24
- for (const { segments, target } of params.symlinks) {
25
- symlinkRelative(join(tmp, ...segments), target === "self" ? tmp : target);
26
- }
27
- swapStore(tmp, params.storeDir, params.linkDir);
28
- };
29
- /**
30
- * Transpiles `source` and writes the resulting `.js`/`.d.ts` pair at `stem`
31
- * (relative to `storeDir`), creating parent directories as needed.
32
- *
33
- * @param storeDir - Absolute store root the file is written under
34
- * @param stem - Output path without extension, relative to `storeDir`
35
- * @param fileName - Source filename TypeScript uses for diagnostics
36
- * @param source - The TypeScript source to transpile
37
- */
38
- export const writeFilePair = (storeDir, stem, fileName, source) => {
39
- const { js, dts } = transpileSource(fileName, source);
40
- const jsPath = join(storeDir, `${stem}.js`);
41
- mkdirSync(dirname(jsPath), { recursive: true });
42
- writeFileSync(jsPath, js);
43
- writeFileSync(join(storeDir, `${stem}.d.ts`), dts);
44
- };
45
- /**
46
- * Creates (or replaces) a relative directory symlink at `linkPath` pointing at
47
- * `realTarget`. Relative so the link survives the store being moved or cached.
48
- *
49
- * @param linkPath - Absolute path of the symlink to create
50
- * @param realTarget - Absolute path the symlink resolves to
51
- */
52
- export const symlinkRelative = (linkPath, realTarget) => {
53
- mkdirSync(dirname(linkPath), { recursive: true });
54
- rmSync(linkPath, { recursive: true, force: true });
55
- symlinkSync(relative(dirname(linkPath), realTarget), linkPath, "dir");
56
- };
57
- /**
58
- * Writes a pretty-printed `package.json` into `storeDir`.
59
- *
60
- * @param storeDir - Absolute directory to write `package.json` into
61
- * @param manifest - The manifest object to serialize
62
- */
63
- export const writePackageJson = (storeDir, manifest) => {
64
- writeFileSync(join(storeDir, "package.json"), `${JSON.stringify(manifest, null, 2)}\n`);
65
- };
66
- /**
67
- * Swaps a fully-assembled temp store into place and re-points the visible alias
68
- * at it.
69
- *
70
- * The live store is renamed aside and the temp store renamed in before the old
71
- * tree is deleted, so the store is unavailable only for the duration of a single
72
- * rename instead of a full recursive delete. Not safe against a second codegen
73
- * run swapping the same store concurrently.
74
- *
75
- * @param tmp - Absolute temp store directory to promote
76
- * @param storeDir - Absolute final store directory
77
- * @param visibleLink - Absolute path of the visible alias symlink
78
- */
79
- export const swapStore = (tmp, storeDir, visibleLink) => {
80
- const previous = `${storeDir}.old`;
81
- rmSync(previous, { recursive: true, force: true });
82
- if (existsSync(storeDir)) {
83
- renameSync(storeDir, previous);
84
- }
85
- renameSync(tmp, storeDir);
86
- rmSync(previous, { recursive: true, force: true });
87
- symlinkRelative(visibleLink, storeDir);
88
- };
89
- /**
90
- * Creates a fresh, per-run temporary store directory next to `storeDir` and
91
- * returns its path. The random suffix isolates concurrent or repeated runs so
92
- * they cannot corrupt each other's in-progress trees.
93
- */
94
- export const tempStoreFor = (storeDir) => {
95
- mkdirSync(dirname(storeDir), { recursive: true });
96
- return mkdtempSync(`${storeDir}.tmp-`);
97
- };
98
- //# sourceMappingURL=store-fs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store-fs.js","sourceRoot":"","sources":["../src/store-fs.ts"],"names":[],"mappings":"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"}
@@ -1,32 +0,0 @@
1
- import ts from "typescript";
2
- /**
3
- * Output of a single TypeScript transpile: the stripped `.js` and the
4
- * isolated-declaration `.d.ts` it produces.
5
- */
6
- export type TranspiledFile = {
7
- /** Stripped-types JavaScript output. */
8
- readonly js: string;
9
- /** Generated TypeScript declaration output. */
10
- readonly dts: string;
11
- };
12
- /**
13
- * The compiler options shared by the store's two TypeScript passes — the
14
- * single-file transpile here and the overlay type-check in `typecheck-store.ts`.
15
- * Each pass spreads these and adds its own emit/check-specific keys.
16
- */
17
- export declare const baseCompilerOptions: () => ts.CompilerOptions;
18
- /**
19
- * Transpiles a single TypeScript source string to a `.js` / `.d.ts` pair.
20
- *
21
- * Uses `ts.transpileModule` for the JS half (type-stripping only, no
22
- * type checking) and `ts.transpileDeclaration` for the declaration half
23
- * (single-file declaration emit). Generated sources annotate every export
24
- * for isolated-declaration emit, so `transpileDeclaration` always
25
- * succeeds; an error-category diagnostic from it represents a writer bug
26
- * and is surfaced rather than swallowed.
27
- *
28
- * @param fileName - Source filename, used by TS for path resolution
29
- * @param source - The TypeScript source string
30
- */
31
- export declare const transpileSource: (fileName: string, source: string) => TranspiledFile;
32
- //# sourceMappingURL=transpile.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transpile.d.ts","sourceRoot":"","sources":["../src/transpile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG;IACzB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,QAAO,EAAE,CAAC,eAOxC,CAAC;AAWH;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,EAAE,QAAQ,MAAM,KAAG,cA8BlE,CAAC"}
package/dist/transpile.js DELETED
@@ -1,63 +0,0 @@
1
- import ts from "typescript";
2
- /**
3
- * The compiler options shared by the store's two TypeScript passes — the
4
- * single-file transpile here and the overlay type-check in `typecheck-store.ts`.
5
- * Each pass spreads these and adds its own emit/check-specific keys.
6
- */
7
- export const baseCompilerOptions = () => ({
8
- module: ts.ModuleKind.ESNext,
9
- moduleResolution: ts.ModuleResolutionKind.Bundler,
10
- target: ts.ScriptTarget.ESNext,
11
- skipLibCheck: true,
12
- jsx: ts.JsxEmit.ReactJSX,
13
- jsxImportSource: "react",
14
- });
15
- const COMPILER_OPTIONS = {
16
- ...baseCompilerOptions(),
17
- declaration: true,
18
- skipDefaultLibCheck: true,
19
- removeComments: false,
20
- sourceMap: false,
21
- declarationMap: false,
22
- };
23
- /**
24
- * Transpiles a single TypeScript source string to a `.js` / `.d.ts` pair.
25
- *
26
- * Uses `ts.transpileModule` for the JS half (type-stripping only, no
27
- * type checking) and `ts.transpileDeclaration` for the declaration half
28
- * (single-file declaration emit). Generated sources annotate every export
29
- * for isolated-declaration emit, so `transpileDeclaration` always
30
- * succeeds; an error-category diagnostic from it represents a writer bug
31
- * and is surfaced rather than swallowed.
32
- *
33
- * @param fileName - Source filename, used by TS for path resolution
34
- * @param source - The TypeScript source string
35
- */
36
- export const transpileSource = (fileName, source) => {
37
- const jsResult = ts.transpileModule(source, {
38
- compilerOptions: COMPILER_OPTIONS,
39
- fileName,
40
- reportDiagnostics: false,
41
- });
42
- const dtsResult = ts.transpileDeclaration(source, {
43
- compilerOptions: COMPILER_OPTIONS,
44
- fileName,
45
- });
46
- const errorDiagnostics = (dtsResult.diagnostics ?? []).filter((diagnostic) => diagnostic.category === ts.DiagnosticCategory.Error);
47
- if (errorDiagnostics.length > 0) {
48
- const messages = errorDiagnostics
49
- .slice(0, 5)
50
- .map((diagnostic) => {
51
- const text = ts.flattenDiagnosticMessageText(diagnostic.messageText, "\n");
52
- if (diagnostic.file && diagnostic.start !== undefined) {
53
- const { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start);
54
- return `[${line + 1}:${character + 1}] ${text}`;
55
- }
56
- return text;
57
- })
58
- .join("\n");
59
- throw new Error(`transpileDeclaration produced ${errorDiagnostics.length} diagnostic(s) for ${fileName}:\n${messages}`);
60
- }
61
- return { js: jsResult.outputText, dts: dtsResult.outputText };
62
- };
63
- //# sourceMappingURL=transpile.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transpile.js","sourceRoot":"","sources":["../src/transpile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAa5B;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAuB,EAAE,CAAC,CAAC;IAC1D,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM;IAC5B,gBAAgB,EAAE,EAAE,CAAC,oBAAoB,CAAC,OAAO;IACjD,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM;IAC9B,YAAY,EAAE,IAAI;IAClB,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ;IACxB,eAAe,EAAE,OAAO;CAC3B,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAuB;IACzC,GAAG,mBAAmB,EAAE;IACxB,WAAW,EAAE,IAAI;IACjB,mBAAmB,EAAE,IAAI;IACzB,cAAc,EAAE,KAAK;IACrB,SAAS,EAAE,KAAK;IAChB,cAAc,EAAE,KAAK;CACxB,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,QAAgB,EAAE,MAAc,EAAkB,EAAE;IAChF,MAAM,QAAQ,GAAG,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE;QACxC,eAAe,EAAE,gBAAgB;QACjC,QAAQ;QACR,iBAAiB,EAAE,KAAK;KAC3B,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,EAAE,CAAC,oBAAoB,CAAC,MAAM,EAAE;QAC9C,eAAe,EAAE,gBAAgB;QACjC,QAAQ;KACX,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,CAAC,SAAS,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,MAAM,CACzD,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,KAAK,EAAE,CAAC,kBAAkB,CAAC,KAAK,CACtE,CAAC;IACF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,gBAAgB;aAC5B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACX,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;YAChB,MAAM,IAAI,GAAG,EAAE,CAAC,4BAA4B,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAC3E,IAAI,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBACpD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,6BAA6B,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAC5F,OAAO,IAAI,IAAI,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;YACpD,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QAChB,MAAM,IAAI,KAAK,CACX,iCAAiC,gBAAgB,CAAC,MAAM,sBAAsB,QAAQ,MAAM,QAAQ,EAAE,CACzG,CAAC;IACN,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,SAAS,CAAC,UAAU,EAAE,CAAC;AAClE,CAAC,CAAC"}