@gtkx/cli 1.6.0 → 2.0.0-beta.10

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 (578) hide show
  1. package/README.md +47 -44
  2. package/bin/gtkx-dev-runner.js +5 -1
  3. package/bin/gtkx.js +5 -1
  4. package/dist/builder.d.ts +1 -0
  5. package/dist/builder.d.ts.map +1 -1
  6. package/dist/builder.js +44 -12
  7. package/dist/builder.js.map +1 -1
  8. package/dist/cli.d.ts +1 -1
  9. package/dist/cli.d.ts.map +1 -1
  10. package/dist/cli.js +14 -2
  11. package/dist/cli.js.map +1 -1
  12. package/dist/codegen/config-dependencies.d.ts +3 -0
  13. package/dist/codegen/config-dependencies.d.ts.map +1 -0
  14. package/dist/codegen/config-dependencies.js +355 -0
  15. package/dist/codegen/config-dependencies.js.map +1 -0
  16. package/dist/codegen/freshness.d.ts.map +1 -1
  17. package/dist/codegen/freshness.js +49 -16
  18. package/dist/codegen/freshness.js.map +1 -1
  19. package/dist/codegen/reference.d.ts.map +1 -1
  20. package/dist/codegen/reference.js +2 -7
  21. package/dist/codegen/reference.js.map +1 -1
  22. package/dist/codegen/report.d.ts.map +1 -1
  23. package/dist/codegen/report.js +5 -16
  24. package/dist/codegen/report.js.map +1 -1
  25. package/dist/codegen/run-codegen.d.ts +9 -8
  26. package/dist/codegen/run-codegen.d.ts.map +1 -1
  27. package/dist/codegen/run-codegen.js +60 -113
  28. package/dist/codegen/run-codegen.js.map +1 -1
  29. package/dist/codegen/store-resolver.d.ts +3 -2
  30. package/dist/codegen/store-resolver.d.ts.map +1 -1
  31. package/dist/codegen/store-resolver.js +14 -20
  32. package/dist/codegen/store-resolver.js.map +1 -1
  33. package/dist/commands/build.d.ts +5 -0
  34. package/dist/commands/build.d.ts.map +1 -1
  35. package/dist/commands/build.js +83 -10
  36. package/dist/commands/build.js.map +1 -1
  37. package/dist/commands/cleanup.d.ts +9 -0
  38. package/dist/commands/cleanup.d.ts.map +1 -0
  39. package/dist/commands/cleanup.js +42 -0
  40. package/dist/commands/cleanup.js.map +1 -0
  41. package/dist/commands/codegen.d.ts +1 -0
  42. package/dist/commands/codegen.d.ts.map +1 -1
  43. package/dist/commands/codegen.js +6 -5
  44. package/dist/commands/codegen.js.map +1 -1
  45. package/dist/commands/deploy.d.ts +5 -0
  46. package/dist/commands/deploy.d.ts.map +1 -1
  47. package/dist/commands/deploy.js +10 -2
  48. package/dist/commands/deploy.js.map +1 -1
  49. package/dist/commands/dev.d.ts +9 -0
  50. package/dist/commands/dev.d.ts.map +1 -1
  51. package/dist/commands/dev.js +31 -4
  52. package/dist/commands/dev.js.map +1 -1
  53. package/dist/commands/docs.d.ts.map +1 -1
  54. package/dist/commands/docs.js +6 -15
  55. package/dist/commands/docs.js.map +1 -1
  56. package/dist/deploy/depends.d.ts.map +1 -1
  57. package/dist/deploy/depends.js +24 -2
  58. package/dist/deploy/depends.js.map +1 -1
  59. package/dist/deploy/download.d.ts +7 -3
  60. package/dist/deploy/download.d.ts.map +1 -1
  61. package/dist/deploy/download.js +19 -20
  62. package/dist/deploy/download.js.map +1 -1
  63. package/dist/deploy/freedesktop/copyright.d.ts.map +1 -1
  64. package/dist/deploy/freedesktop/copyright.js +2 -13
  65. package/dist/deploy/freedesktop/copyright.js.map +1 -1
  66. package/dist/deploy/freedesktop/metainfo.d.ts.map +1 -1
  67. package/dist/deploy/freedesktop/metainfo.js +41 -2
  68. package/dist/deploy/freedesktop/metainfo.js.map +1 -1
  69. package/dist/deploy/freedesktop/validate.d.ts.map +1 -1
  70. package/dist/deploy/freedesktop/validate.js +58 -14
  71. package/dist/deploy/freedesktop/validate.js.map +1 -1
  72. package/dist/deploy/freedesktop/xml.d.ts.map +1 -1
  73. package/dist/deploy/freedesktop/xml.js +21 -25
  74. package/dist/deploy/freedesktop/xml.js.map +1 -1
  75. package/dist/deploy/native-addon.d.ts +5 -0
  76. package/dist/deploy/native-addon.d.ts.map +1 -0
  77. package/dist/deploy/native-addon.js +134 -0
  78. package/dist/deploy/native-addon.js.map +1 -0
  79. package/dist/deploy/nfpm/config.d.ts +3 -2
  80. package/dist/deploy/nfpm/config.d.ts.map +1 -1
  81. package/dist/deploy/nfpm/config.js +7 -4
  82. package/dist/deploy/nfpm/config.js.map +1 -1
  83. package/dist/deploy/nfpm/contents.d.ts.map +1 -1
  84. package/dist/deploy/nfpm/contents.js +8 -0
  85. package/dist/deploy/nfpm/contents.js.map +1 -1
  86. package/dist/deploy/node-runtime/download.js +2 -2
  87. package/dist/deploy/node-runtime/download.js.map +1 -1
  88. package/dist/deploy/node-runtime/elf.d.ts +4 -1
  89. package/dist/deploy/node-runtime/elf.d.ts.map +1 -1
  90. package/dist/deploy/node-runtime/elf.js +34 -5
  91. package/dist/deploy/node-runtime/elf.js.map +1 -1
  92. package/dist/deploy/node-runtime/guard.d.ts.map +1 -1
  93. package/dist/deploy/node-runtime/guard.js +7 -14
  94. package/dist/deploy/node-runtime/guard.js.map +1 -1
  95. package/dist/deploy/node-runtime/index.d.ts +3 -1
  96. package/dist/deploy/node-runtime/index.d.ts.map +1 -1
  97. package/dist/deploy/node-runtime/index.js +103 -10
  98. package/dist/deploy/node-runtime/index.js.map +1 -1
  99. package/dist/deploy/node-runtime/license.d.ts.map +1 -1
  100. package/dist/deploy/node-runtime/license.js +2 -9
  101. package/dist/deploy/node-runtime/license.js.map +1 -1
  102. package/dist/deploy/node-runtime/sonames.d.ts +5 -0
  103. package/dist/deploy/node-runtime/sonames.d.ts.map +1 -0
  104. package/dist/deploy/node-runtime/sonames.js +13 -0
  105. package/dist/deploy/node-runtime/sonames.js.map +1 -0
  106. package/dist/deploy/notices/node-runtime.js +2 -2
  107. package/dist/deploy/notices/node-runtime.js.map +1 -1
  108. package/dist/deploy/notices/packages.d.ts.map +1 -1
  109. package/dist/deploy/notices/packages.js +3 -10
  110. package/dist/deploy/notices/packages.js.map +1 -1
  111. package/dist/deploy/payload/copy-tree.d.ts.map +1 -1
  112. package/dist/deploy/payload/copy-tree.js +3 -3
  113. package/dist/deploy/payload/copy-tree.js.map +1 -1
  114. package/dist/deploy/payload/launcher.d.ts.map +1 -1
  115. package/dist/deploy/payload/launcher.js +14 -1
  116. package/dist/deploy/payload/launcher.js.map +1 -1
  117. package/dist/deploy/payload/stage.d.ts +2 -1
  118. package/dist/deploy/payload/stage.d.ts.map +1 -1
  119. package/dist/deploy/payload/stage.js +47 -8
  120. package/dist/deploy/payload/stage.js.map +1 -1
  121. package/dist/deploy/run-deploy.d.ts +2 -0
  122. package/dist/deploy/run-deploy.d.ts.map +1 -1
  123. package/dist/deploy/run-deploy.js +197 -52
  124. package/dist/deploy/run-deploy.js.map +1 -1
  125. package/dist/deploy/settings/arch.d.ts +9 -3
  126. package/dist/deploy/settings/arch.d.ts.map +1 -1
  127. package/dist/deploy/settings/arch.js +27 -6
  128. package/dist/deploy/settings/arch.js.map +1 -1
  129. package/dist/deploy/settings/build-manifest.d.ts +6 -1
  130. package/dist/deploy/settings/build-manifest.d.ts.map +1 -1
  131. package/dist/deploy/settings/build-manifest.js +17 -17
  132. package/dist/deploy/settings/build-manifest.js.map +1 -1
  133. package/dist/deploy/settings/extra-files.d.ts +1 -1
  134. package/dist/deploy/settings/extra-files.d.ts.map +1 -1
  135. package/dist/deploy/settings/extra-files.js +25 -3
  136. package/dist/deploy/settings/extra-files.js.map +1 -1
  137. package/dist/deploy/settings/index.d.ts +3 -1
  138. package/dist/deploy/settings/index.d.ts.map +1 -1
  139. package/dist/deploy/settings/index.js +4 -2
  140. package/dist/deploy/settings/index.js.map +1 -1
  141. package/dist/deploy/settings/libraries.d.ts.map +1 -1
  142. package/dist/deploy/settings/libraries.js +3 -19
  143. package/dist/deploy/settings/libraries.js.map +1 -1
  144. package/dist/deploy/settings/paths.d.ts +4 -3
  145. package/dist/deploy/settings/paths.d.ts.map +1 -1
  146. package/dist/deploy/settings/paths.js +118 -19
  147. package/dist/deploy/settings/paths.js.map +1 -1
  148. package/dist/deploy/settings/screenshots.d.ts.map +1 -1
  149. package/dist/deploy/settings/screenshots.js +6 -31
  150. package/dist/deploy/settings/screenshots.js.map +1 -1
  151. package/dist/deploy/targets/appimage.d.ts.map +1 -1
  152. package/dist/deploy/targets/appimage.js +1 -0
  153. package/dist/deploy/targets/appimage.js.map +1 -1
  154. package/dist/deploy/targets/flatpak-pnpm.js +4 -4
  155. package/dist/deploy/targets/flatpak-pnpm.js.map +1 -1
  156. package/dist/deploy/targets/flatpak-source.d.ts.map +1 -1
  157. package/dist/deploy/targets/flatpak-source.js +17 -6
  158. package/dist/deploy/targets/flatpak-source.js.map +1 -1
  159. package/dist/deploy/targets/flatpak-sources.js +1 -1
  160. package/dist/deploy/targets/flatpak-sources.js.map +1 -1
  161. package/dist/deploy/targets/flatpak.d.ts.map +1 -1
  162. package/dist/deploy/targets/flatpak.js +1 -0
  163. package/dist/deploy/targets/flatpak.js.map +1 -1
  164. package/dist/deploy/targets/nfpm-target.d.ts.map +1 -1
  165. package/dist/deploy/targets/nfpm-target.js +13 -7
  166. package/dist/deploy/targets/nfpm-target.js.map +1 -1
  167. package/dist/deploy/types.d.ts +5 -2
  168. package/dist/deploy/types.d.ts.map +1 -1
  169. package/dist/deploy/types.js.map +1 -1
  170. package/dist/deploy/vendored/appimagetool.js +2 -2
  171. package/dist/deploy/vendored/appimagetool.js.map +1 -1
  172. package/dist/deploy/vendored/nfpm.js +1 -1
  173. package/dist/deploy/vendored/nfpm.js.map +1 -1
  174. package/dist/dev/catalog-writes.d.ts +8 -0
  175. package/dist/dev/catalog-writes.d.ts.map +1 -0
  176. package/dist/dev/catalog-writes.js +26 -0
  177. package/dist/dev/catalog-writes.js.map +1 -0
  178. package/dist/dev/entry-env.d.ts +2 -1
  179. package/dist/dev/entry-env.d.ts.map +1 -1
  180. package/dist/dev/entry-env.js +2 -1
  181. package/dist/dev/entry-env.js.map +1 -1
  182. package/dist/dev/font-dir.d.ts +3 -0
  183. package/dist/dev/font-dir.d.ts.map +1 -0
  184. package/dist/dev/font-dir.js +9 -0
  185. package/dist/dev/font-dir.js.map +1 -0
  186. package/dist/dev/headless.d.ts +3 -0
  187. package/dist/dev/headless.d.ts.map +1 -0
  188. package/dist/dev/headless.js +35 -0
  189. package/dist/dev/headless.js.map +1 -0
  190. package/dist/dev/runner-deps.d.ts +1 -1
  191. package/dist/dev/runner-deps.d.ts.map +1 -1
  192. package/dist/dev/runner-deps.js +12 -7
  193. package/dist/dev/runner-deps.js.map +1 -1
  194. package/dist/dev/runner-main.d.ts.map +1 -1
  195. package/dist/dev/runner-main.js +11 -5
  196. package/dist/dev/runner-main.js.map +1 -1
  197. package/dist/dev/runner.d.ts +2 -0
  198. package/dist/dev/runner.d.ts.map +1 -1
  199. package/dist/dev/runner.js +26 -7
  200. package/dist/dev/runner.js.map +1 -1
  201. package/dist/dev/schema-dir.d.ts +1 -1
  202. package/dist/dev/schema-dir.d.ts.map +1 -1
  203. package/dist/dev/schema-dir.js +2 -4
  204. package/dist/dev/schema-dir.js.map +1 -1
  205. package/dist/dev/supervisor.d.ts +3 -1
  206. package/dist/dev/supervisor.d.ts.map +1 -1
  207. package/dist/dev/supervisor.js +132 -29
  208. package/dist/dev/supervisor.js.map +1 -1
  209. package/dist/dev/vite-dev-server.d.ts +1 -1
  210. package/dist/dev/vite-dev-server.d.ts.map +1 -1
  211. package/dist/dev/vite-dev-server.js +14 -2
  212. package/dist/dev/vite-dev-server.js.map +1 -1
  213. package/dist/dev/watch-ignore.d.ts +3 -0
  214. package/dist/dev/watch-ignore.d.ts.map +1 -0
  215. package/dist/dev/watch-ignore.js +11 -0
  216. package/dist/dev/watch-ignore.js.map +1 -0
  217. package/dist/i18n/catalogs.d.ts +6 -2
  218. package/dist/i18n/catalogs.d.ts.map +1 -1
  219. package/dist/i18n/catalogs.js +12 -8
  220. package/dist/i18n/catalogs.js.map +1 -1
  221. package/dist/i18n/metadata-templates.d.ts.map +1 -1
  222. package/dist/i18n/metadata-templates.js +2 -1
  223. package/dist/i18n/metadata-templates.js.map +1 -1
  224. package/dist/i18n/source-messages.d.ts +5 -21
  225. package/dist/i18n/source-messages.d.ts.map +1 -1
  226. package/dist/i18n/source-messages.js +1037 -92
  227. package/dist/i18n/source-messages.js.map +1 -1
  228. package/dist/i18n/types.d.ts +6 -7
  229. package/dist/i18n/types.d.ts.map +1 -1
  230. package/dist/i18n/types.js +83 -96
  231. package/dist/i18n/types.js.map +1 -1
  232. package/dist/internal/agent-rules.d.ts.map +1 -1
  233. package/dist/internal/agent-rules.js +7 -2
  234. package/dist/internal/agent-rules.js.map +1 -1
  235. package/dist/internal/banner.d.ts +4 -2
  236. package/dist/internal/banner.d.ts.map +1 -1
  237. package/dist/internal/banner.js +19 -5
  238. package/dist/internal/banner.js.map +1 -1
  239. package/dist/internal/build-manifest.d.ts +5 -2
  240. package/dist/internal/build-manifest.d.ts.map +1 -1
  241. package/dist/internal/build-manifest.js +15 -2
  242. package/dist/internal/build-manifest.js.map +1 -1
  243. package/dist/internal/build-output.d.ts +8 -0
  244. package/dist/internal/build-output.d.ts.map +1 -0
  245. package/dist/internal/build-output.js +116 -0
  246. package/dist/internal/build-output.js.map +1 -0
  247. package/dist/internal/cache-root.d.ts +3 -0
  248. package/dist/internal/cache-root.d.ts.map +1 -0
  249. package/dist/internal/cache-root.js +9 -0
  250. package/dist/internal/cache-root.js.map +1 -0
  251. package/dist/internal/compile-cache-store.d.ts +4 -0
  252. package/dist/internal/compile-cache-store.d.ts.map +1 -0
  253. package/dist/internal/compile-cache-store.js +41 -0
  254. package/dist/internal/compile-cache-store.js.map +1 -0
  255. package/dist/internal/compile-cache.d.ts +4 -0
  256. package/dist/internal/compile-cache.d.ts.map +1 -0
  257. package/dist/internal/compile-cache.js +16 -0
  258. package/dist/internal/compile-cache.js.map +1 -0
  259. package/dist/internal/deploy-out-dir.d.ts +4 -0
  260. package/dist/internal/deploy-out-dir.d.ts.map +1 -0
  261. package/dist/internal/deploy-out-dir.js +5 -0
  262. package/dist/internal/deploy-out-dir.js.map +1 -0
  263. package/dist/internal/docs-elements.d.ts +1 -0
  264. package/dist/internal/docs-elements.d.ts.map +1 -1
  265. package/dist/internal/docs-elements.js +6 -5
  266. package/dist/internal/docs-elements.js.map +1 -1
  267. package/dist/internal/entry-arg.d.ts +4 -1
  268. package/dist/internal/entry-arg.d.ts.map +1 -1
  269. package/dist/internal/entry-arg.js +7 -1
  270. package/dist/internal/entry-arg.js.map +1 -1
  271. package/dist/internal/errors.d.ts +2 -1
  272. package/dist/internal/errors.d.ts.map +1 -1
  273. package/dist/internal/errors.js +1 -1
  274. package/dist/internal/errors.js.map +1 -1
  275. package/dist/internal/font-path.d.ts +4 -0
  276. package/dist/internal/font-path.d.ts.map +1 -0
  277. package/dist/internal/font-path.js +12 -0
  278. package/dist/internal/font-path.js.map +1 -0
  279. package/dist/internal/font-staging.d.ts +6 -0
  280. package/dist/internal/font-staging.d.ts.map +1 -0
  281. package/dist/internal/font-staging.js +94 -0
  282. package/dist/internal/font-staging.js.map +1 -0
  283. package/dist/internal/icon-path.d.ts.map +1 -1
  284. package/dist/internal/icon-path.js +5 -16
  285. package/dist/internal/icon-path.js.map +1 -1
  286. package/dist/internal/icon-staging.d.ts +3 -0
  287. package/dist/internal/icon-staging.d.ts.map +1 -0
  288. package/dist/internal/icon-staging.js +40 -0
  289. package/dist/internal/icon-staging.js.map +1 -0
  290. package/dist/internal/import-scan.d.ts +4 -0
  291. package/dist/internal/import-scan.d.ts.map +1 -0
  292. package/dist/internal/import-scan.js +138 -0
  293. package/dist/internal/import-scan.js.map +1 -0
  294. package/dist/internal/module-hash.d.ts +3 -0
  295. package/dist/internal/module-hash.d.ts.map +1 -0
  296. package/dist/internal/module-hash.js +19 -0
  297. package/dist/internal/module-hash.js.map +1 -0
  298. package/dist/internal/output-directory.d.ts +15 -0
  299. package/dist/internal/output-directory.d.ts.map +1 -0
  300. package/dist/internal/output-directory.js +490 -0
  301. package/dist/internal/output-directory.js.map +1 -0
  302. package/dist/internal/parent-process.d.ts +12 -0
  303. package/dist/internal/parent-process.d.ts.map +1 -0
  304. package/dist/internal/parent-process.js +74 -0
  305. package/dist/internal/parent-process.js.map +1 -0
  306. package/dist/internal/prepare-project.d.ts +3 -0
  307. package/dist/internal/prepare-project.d.ts.map +1 -1
  308. package/dist/internal/prepare-project.js +9 -3
  309. package/dist/internal/prepare-project.js.map +1 -1
  310. package/dist/internal/react-compiler-cache.d.ts +13 -0
  311. package/dist/internal/react-compiler-cache.d.ts.map +1 -0
  312. package/dist/internal/react-compiler-cache.js +182 -0
  313. package/dist/internal/react-compiler-cache.js.map +1 -0
  314. package/dist/internal/source-imports.d.ts +7 -2
  315. package/dist/internal/source-imports.d.ts.map +1 -1
  316. package/dist/internal/source-imports.js +38 -49
  317. package/dist/internal/source-imports.js.map +1 -1
  318. package/dist/internal/staging-file.d.ts +5 -0
  319. package/dist/internal/staging-file.d.ts.map +1 -0
  320. package/dist/internal/staging-file.js +35 -0
  321. package/dist/internal/staging-file.js.map +1 -0
  322. package/dist/internal/xdg-banner.d.ts +4 -0
  323. package/dist/internal/xdg-banner.d.ts.map +1 -0
  324. package/dist/internal/xdg-banner.js +11 -0
  325. package/dist/internal/xdg-banner.js.map +1 -0
  326. package/dist/internal/xdg-data-dirs.d.ts +2 -1
  327. package/dist/internal/xdg-data-dirs.d.ts.map +1 -1
  328. package/dist/internal/xdg-data-dirs.js +1 -1
  329. package/dist/internal/xdg-data-dirs.js.map +1 -1
  330. package/dist/mcp/client.js +2 -2
  331. package/dist/mcp/client.js.map +1 -1
  332. package/dist/settings/render.d.ts +0 -1
  333. package/dist/settings/render.d.ts.map +1 -1
  334. package/dist/settings/render.js +1 -11
  335. package/dist/settings/render.js.map +1 -1
  336. package/dist/settings/schema.d.ts +2 -2
  337. package/dist/settings/schema.d.ts.map +1 -1
  338. package/dist/settings/schema.js +24 -70
  339. package/dist/settings/schema.js.map +1 -1
  340. package/dist/vite-plugins/asset-extensions.d.ts.map +1 -1
  341. package/dist/vite-plugins/asset-extensions.js +2 -0
  342. package/dist/vite-plugins/asset-extensions.js.map +1 -1
  343. package/dist/vite-plugins/asset-imports.d.ts +1 -2
  344. package/dist/vite-plugins/asset-imports.d.ts.map +1 -1
  345. package/dist/vite-plugins/asset-imports.js +36 -35
  346. package/dist/vite-plugins/asset-imports.js.map +1 -1
  347. package/dist/vite-plugins/asset-specifier.d.ts +5 -3
  348. package/dist/vite-plugins/asset-specifier.d.ts.map +1 -1
  349. package/dist/vite-plugins/asset-specifier.js +10 -4
  350. package/dist/vite-plugins/asset-specifier.js.map +1 -1
  351. package/dist/vite-plugins/build-manifest.d.ts +5 -1
  352. package/dist/vite-plugins/build-manifest.d.ts.map +1 -1
  353. package/dist/vite-plugins/build-manifest.js +2 -1
  354. package/dist/vite-plugins/build-manifest.js.map +1 -1
  355. package/dist/vite-plugins/built-url.d.ts.map +1 -1
  356. package/dist/vite-plugins/built-url.js +5 -2
  357. package/dist/vite-plugins/built-url.js.map +1 -1
  358. package/dist/vite-plugins/css.d.ts.map +1 -1
  359. package/dist/vite-plugins/css.js +13 -5
  360. package/dist/vite-plugins/css.js.map +1 -1
  361. package/dist/vite-plugins/ensure-store.d.ts +1 -1
  362. package/dist/vite-plugins/ensure-store.d.ts.map +1 -1
  363. package/dist/vite-plugins/ensure-store.js +2 -2
  364. package/dist/vite-plugins/ensure-store.js.map +1 -1
  365. package/dist/vite-plugins/fast-refresh/refresh-filter.d.ts +6 -1
  366. package/dist/vite-plugins/fast-refresh/refresh-filter.d.ts.map +1 -1
  367. package/dist/vite-plugins/fast-refresh/refresh-filter.js +3 -1
  368. package/dist/vite-plugins/fast-refresh/refresh-filter.js.map +1 -1
  369. package/dist/vite-plugins/fast-refresh/swc-refresh.d.ts.map +1 -1
  370. package/dist/vite-plugins/fast-refresh/swc-refresh.js +23 -14
  371. package/dist/vite-plugins/fast-refresh/swc-refresh.js.map +1 -1
  372. package/dist/vite-plugins/font-name.d.ts +3 -0
  373. package/dist/vite-plugins/font-name.d.ts.map +1 -0
  374. package/dist/vite-plugins/font-name.js +406 -0
  375. package/dist/vite-plugins/font-name.js.map +1 -0
  376. package/dist/vite-plugins/font-worker-env.d.ts +4 -0
  377. package/dist/vite-plugins/font-worker-env.d.ts.map +1 -0
  378. package/dist/vite-plugins/font-worker-env.js +19 -0
  379. package/dist/vite-plugins/font-worker-env.js.map +1 -0
  380. package/dist/vite-plugins/font.d.ts +4 -0
  381. package/dist/vite-plugins/font.d.ts.map +1 -0
  382. package/dist/vite-plugins/font.js +111 -0
  383. package/dist/vite-plugins/font.js.map +1 -0
  384. package/dist/vite-plugins/i18n.d.ts +11 -2
  385. package/dist/vite-plugins/i18n.d.ts.map +1 -1
  386. package/dist/vite-plugins/i18n.js +75 -8
  387. package/dist/vite-plugins/i18n.js.map +1 -1
  388. package/dist/vite-plugins/icon-worker-env.d.ts +4 -0
  389. package/dist/vite-plugins/icon-worker-env.d.ts.map +1 -0
  390. package/dist/vite-plugins/icon-worker-env.js +23 -0
  391. package/dist/vite-plugins/icon-worker-env.js.map +1 -0
  392. package/dist/vite-plugins/icons.d.ts.map +1 -1
  393. package/dist/vite-plugins/icons.js +4 -9
  394. package/dist/vite-plugins/icons.js.map +1 -1
  395. package/dist/vite-plugins/index.d.ts +10 -1
  396. package/dist/vite-plugins/index.d.ts.map +1 -1
  397. package/dist/vite-plugins/index.js +19 -7
  398. package/dist/vite-plugins/index.js.map +1 -1
  399. package/dist/vite-plugins/native.d.ts.map +1 -1
  400. package/dist/vite-plugins/native.js +0 -4
  401. package/dist/vite-plugins/native.js.map +1 -1
  402. package/dist/vite-plugins/react-compiler.d.ts.map +1 -1
  403. package/dist/vite-plugins/react-compiler.js +57 -18
  404. package/dist/vite-plugins/react-compiler.js.map +1 -1
  405. package/dist/vite-plugins/resource-shared.d.ts +3 -1
  406. package/dist/vite-plugins/resource-shared.d.ts.map +1 -1
  407. package/dist/vite-plugins/resource-shared.js +3 -1
  408. package/dist/vite-plugins/resource-shared.js.map +1 -1
  409. package/dist/vite-plugins/resources.d.ts.map +1 -1
  410. package/dist/vite-plugins/resources.js +40 -102
  411. package/dist/vite-plugins/resources.js.map +1 -1
  412. package/dist/vite-plugins/self-contained.d.ts.map +1 -1
  413. package/dist/vite-plugins/self-contained.js +159 -158
  414. package/dist/vite-plugins/self-contained.js.map +1 -1
  415. package/dist/vite-plugins/settings-worker-env.d.ts +1 -1
  416. package/dist/vite-plugins/settings-worker-env.d.ts.map +1 -1
  417. package/dist/vite-plugins/settings-worker-env.js +5 -7
  418. package/dist/vite-plugins/settings-worker-env.js.map +1 -1
  419. package/dist/vite-plugins/settings.d.ts +1 -2
  420. package/dist/vite-plugins/settings.d.ts.map +1 -1
  421. package/dist/vite-plugins/settings.js +32 -27
  422. package/dist/vite-plugins/settings.js.map +1 -1
  423. package/dist/vite-plugins/store-links.d.ts.map +1 -1
  424. package/dist/vite-plugins/store-links.js +9 -5
  425. package/dist/vite-plugins/store-links.js.map +1 -1
  426. package/dist/vite-plugins/undeclared-library.d.ts.map +1 -1
  427. package/dist/vite-plugins/undeclared-library.js +25 -25
  428. package/dist/vite-plugins/undeclared-library.js.map +1 -1
  429. package/dist/vite-plugins/worker.d.ts.map +1 -1
  430. package/dist/vite-plugins/worker.js +21 -14
  431. package/dist/vite-plugins/worker.js.map +1 -1
  432. package/dist/vitest-plugin.d.ts +4 -3
  433. package/dist/vitest-plugin.d.ts.map +1 -1
  434. package/dist/vitest-plugin.js +12 -8
  435. package/dist/vitest-plugin.js.map +1 -1
  436. package/env.d.ts +9 -0
  437. package/package.json +28 -17
  438. package/src/builder.ts +45 -12
  439. package/src/cli.ts +15 -2
  440. package/src/codegen/config-dependencies.ts +470 -0
  441. package/src/codegen/freshness.ts +70 -17
  442. package/src/codegen/reference.ts +2 -8
  443. package/src/codegen/report.ts +5 -21
  444. package/src/codegen/run-codegen.ts +73 -160
  445. package/src/codegen/store-resolver.ts +16 -27
  446. package/src/commands/build.ts +13 -2
  447. package/src/commands/cleanup.ts +48 -0
  448. package/src/commands/codegen.ts +6 -5
  449. package/src/commands/deploy.ts +10 -2
  450. package/src/commands/dev.ts +45 -4
  451. package/src/commands/docs.ts +6 -17
  452. package/src/deploy/depends.ts +30 -3
  453. package/src/deploy/download.ts +33 -24
  454. package/src/deploy/freedesktop/copyright.ts +2 -14
  455. package/src/deploy/freedesktop/metainfo.ts +73 -21
  456. package/src/deploy/freedesktop/validate.ts +80 -15
  457. package/src/deploy/freedesktop/xml.ts +24 -32
  458. package/src/deploy/native-addon.ts +183 -0
  459. package/src/deploy/nfpm/config.ts +13 -4
  460. package/src/deploy/nfpm/contents.ts +8 -0
  461. package/src/deploy/node-runtime/download.ts +2 -2
  462. package/src/deploy/node-runtime/elf.ts +46 -5
  463. package/src/deploy/node-runtime/guard.ts +10 -14
  464. package/src/deploy/node-runtime/index.ts +148 -12
  465. package/src/deploy/node-runtime/license.ts +2 -8
  466. package/src/deploy/node-runtime/sonames.ts +17 -0
  467. package/src/deploy/notices/node-runtime.ts +2 -2
  468. package/src/deploy/notices/packages.ts +3 -11
  469. package/src/deploy/payload/copy-tree.ts +3 -4
  470. package/src/deploy/payload/launcher.ts +20 -1
  471. package/src/deploy/payload/stage.ts +78 -11
  472. package/src/deploy/run-deploy.ts +227 -72
  473. package/src/deploy/settings/arch.ts +40 -8
  474. package/src/deploy/settings/build-manifest.ts +30 -17
  475. package/src/deploy/settings/extra-files.ts +30 -4
  476. package/src/deploy/settings/index.ts +7 -2
  477. package/src/deploy/settings/libraries.ts +2 -22
  478. package/src/deploy/settings/paths.ts +78 -21
  479. package/src/deploy/settings/screenshots.ts +8 -46
  480. package/src/deploy/targets/appimage.ts +1 -0
  481. package/src/deploy/targets/flatpak-pnpm.ts +4 -4
  482. package/src/deploy/targets/flatpak-source.ts +19 -6
  483. package/src/deploy/targets/flatpak-sources.ts +1 -1
  484. package/src/deploy/targets/flatpak.ts +1 -0
  485. package/src/deploy/targets/nfpm-target.ts +14 -6
  486. package/src/deploy/types.ts +5 -1
  487. package/src/deploy/vendored/appimagetool.ts +2 -2
  488. package/src/deploy/vendored/nfpm.ts +1 -1
  489. package/src/dev/catalog-writes.ts +35 -0
  490. package/src/dev/entry-env.ts +2 -1
  491. package/src/dev/font-dir.ts +11 -0
  492. package/src/dev/headless.ts +40 -0
  493. package/src/dev/runner-deps.ts +20 -7
  494. package/src/dev/runner-main.ts +13 -5
  495. package/src/dev/runner.ts +37 -7
  496. package/src/dev/schema-dir.ts +2 -4
  497. package/src/dev/supervisor.ts +183 -32
  498. package/src/dev/vite-dev-server.ts +20 -2
  499. package/src/dev/watch-ignore.ts +16 -0
  500. package/src/i18n/catalogs.ts +23 -9
  501. package/src/i18n/metadata-templates.ts +2 -1
  502. package/src/i18n/source-messages.ts +1641 -262
  503. package/src/i18n/types.ts +97 -131
  504. package/src/internal/agent-rules.ts +7 -2
  505. package/src/internal/banner.ts +27 -6
  506. package/src/internal/build-manifest.ts +25 -1
  507. package/src/internal/build-output.ts +171 -0
  508. package/src/internal/cache-root.ts +12 -0
  509. package/src/internal/compile-cache-store.ts +50 -0
  510. package/src/internal/compile-cache.ts +20 -0
  511. package/src/internal/deploy-out-dir.ts +8 -0
  512. package/src/internal/docs-elements.ts +11 -5
  513. package/src/internal/entry-arg.ts +8 -1
  514. package/src/internal/errors.ts +1 -1
  515. package/src/internal/font-path.ts +15 -0
  516. package/src/internal/font-staging.ts +131 -0
  517. package/src/internal/icon-path.ts +6 -19
  518. package/src/internal/icon-staging.ts +58 -0
  519. package/src/internal/import-scan.ts +206 -0
  520. package/src/internal/module-hash.ts +22 -0
  521. package/src/internal/output-directory.ts +699 -0
  522. package/src/internal/parent-process.ts +110 -0
  523. package/src/internal/prepare-project.ts +11 -5
  524. package/src/internal/react-compiler-cache.ts +246 -0
  525. package/src/internal/source-imports.ts +64 -55
  526. package/src/internal/staging-file.ts +42 -0
  527. package/src/internal/xdg-banner.ts +13 -0
  528. package/src/internal/xdg-data-dirs.ts +1 -1
  529. package/src/mcp/client.ts +2 -2
  530. package/src/settings/render.ts +1 -13
  531. package/src/settings/schema.ts +23 -91
  532. package/src/vite-plugins/asset-extensions.ts +2 -0
  533. package/src/vite-plugins/asset-imports.ts +39 -45
  534. package/src/vite-plugins/asset-specifier.ts +17 -5
  535. package/src/vite-plugins/build-manifest.ts +7 -1
  536. package/src/vite-plugins/built-url.ts +6 -2
  537. package/src/vite-plugins/css.ts +16 -5
  538. package/src/vite-plugins/ensure-store.ts +2 -2
  539. package/src/vite-plugins/fast-refresh/refresh-filter.ts +10 -1
  540. package/src/vite-plugins/fast-refresh/swc-refresh.ts +33 -14
  541. package/src/vite-plugins/font-name.ts +582 -0
  542. package/src/vite-plugins/font-worker-env.ts +25 -0
  543. package/src/vite-plugins/font.ts +180 -0
  544. package/src/vite-plugins/i18n.ts +123 -11
  545. package/src/vite-plugins/icon-worker-env.ts +36 -0
  546. package/src/vite-plugins/icons.ts +4 -10
  547. package/src/vite-plugins/index.ts +36 -13
  548. package/src/vite-plugins/native.ts +0 -5
  549. package/src/vite-plugins/react-compiler.ts +83 -19
  550. package/src/vite-plugins/resource-shared.ts +4 -0
  551. package/src/vite-plugins/resources.ts +47 -144
  552. package/src/vite-plugins/self-contained.ts +184 -185
  553. package/src/vite-plugins/settings-worker-env.ts +5 -7
  554. package/src/vite-plugins/settings.ts +44 -33
  555. package/src/vite-plugins/store-links.ts +10 -5
  556. package/src/vite-plugins/undeclared-library.ts +30 -32
  557. package/src/vite-plugins/worker.ts +31 -16
  558. package/src/vitest-plugin.ts +12 -8
  559. package/dist/i18n/binding-extractor.d.ts +0 -30
  560. package/dist/i18n/binding-extractor.d.ts.map +0 -1
  561. package/dist/i18n/binding-extractor.js +0 -1324
  562. package/dist/i18n/binding-extractor.js.map +0 -1
  563. package/dist/i18n/extractor-plugin.d.ts +0 -8
  564. package/dist/i18n/extractor-plugin.d.ts.map +0 -1
  565. package/dist/i18n/extractor-plugin.js +0 -247
  566. package/dist/i18n/extractor-plugin.js.map +0 -1
  567. package/dist/internal/data-dir.d.ts +0 -4
  568. package/dist/internal/data-dir.d.ts.map +0 -1
  569. package/dist/internal/data-dir.js +0 -52
  570. package/dist/internal/data-dir.js.map +0 -1
  571. package/dist/vite-plugins/animated.d.ts +0 -5
  572. package/dist/vite-plugins/animated.d.ts.map +0 -1
  573. package/dist/vite-plugins/animated.js +0 -325
  574. package/dist/vite-plugins/animated.js.map +0 -1
  575. package/src/i18n/binding-extractor.ts +0 -1969
  576. package/src/i18n/extractor-plugin.ts +0 -413
  577. package/src/internal/data-dir.ts +0 -70
  578. package/src/vite-plugins/animated.ts +0 -486
@@ -1,7 +1,60 @@
1
+ var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
2
+ if (value !== null && value !== void 0) {
3
+ if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
4
+ var dispose, inner;
5
+ if (async) {
6
+ if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
7
+ dispose = value[Symbol.asyncDispose];
8
+ }
9
+ if (dispose === void 0) {
10
+ if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
11
+ dispose = value[Symbol.dispose];
12
+ if (async) inner = dispose;
13
+ }
14
+ if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
15
+ if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
16
+ env.stack.push({ value: value, dispose: dispose, async: async });
17
+ }
18
+ else if (async) {
19
+ env.stack.push({ async: true });
20
+ }
21
+ return value;
22
+ };
23
+ var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
24
+ return function (env) {
25
+ function fail(e) {
26
+ env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
27
+ env.hasError = true;
28
+ }
29
+ var r, s = 0;
30
+ function next() {
31
+ while (r = env.stack.pop()) {
32
+ try {
33
+ if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
34
+ if (r.dispose) {
35
+ var result = r.dispose.call(r.value);
36
+ if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
37
+ }
38
+ else s |= 1;
39
+ }
40
+ catch (e) {
41
+ fail(e);
42
+ }
43
+ }
44
+ if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
45
+ if (env.hasError) throw env.error;
46
+ }
47
+ return next();
48
+ };
49
+ })(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
50
+ var e = new Error(message);
51
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
52
+ });
1
53
  import { info } from "@gtkx/utils";
2
54
  import { defineCommand } from "citty";
3
55
  import { build as buildApp } from "../builder.js";
4
- import { entryArg } from "../internal/entry-arg.js";
56
+ import { prepareBuildOutDir, resolveBuildOutDir } from "../internal/build-output.js";
57
+ import { configArg, entryArg } from "../internal/entry-arg.js";
5
58
  import { prepareProject } from "../internal/prepare-project.js";
6
59
  const BUILD_MODE = "production";
7
60
  const build = defineCommand({
@@ -11,17 +64,37 @@ const build = defineCommand({
11
64
  },
12
65
  args: {
13
66
  ...entryArg,
67
+ ...configArg,
68
+ out: {
69
+ type: "string",
70
+ description: "Output directory below the project root (default: dist)",
71
+ },
14
72
  },
15
73
  async run({ args }) {
16
- const { cwd, entry } = await prepareProject(args, BUILD_MODE);
17
- info(`Building ${entry}`);
18
- const bundlePath = await buildApp({
19
- entry,
20
- vite: {
21
- root: cwd,
22
- },
23
- });
24
- info(`Build complete: ${bundlePath}`);
74
+ const env_1 = { stack: [], error: void 0, hasError: false };
75
+ try {
76
+ const { cwd, entry, configFile } = await prepareProject(args, BUILD_MODE);
77
+ const outDir = resolveBuildOutDir(cwd, args.out);
78
+ const preparedOutput = __addDisposableResource(env_1, prepareBuildOutDir(cwd, outDir), false);
79
+ info(`Building ${entry}`);
80
+ const bundlePath = await buildApp({
81
+ entry,
82
+ configFile,
83
+ vite: {
84
+ root: cwd,
85
+ build: { outDir: preparedOutput.path, emptyOutDir: false },
86
+ },
87
+ });
88
+ preparedOutput.commit();
89
+ info(`Build complete: ${bundlePath}`);
90
+ }
91
+ catch (e_1) {
92
+ env_1.error = e_1;
93
+ env_1.hasError = true;
94
+ }
95
+ finally {
96
+ __disposeResources(env_1);
97
+ }
25
98
  },
26
99
  });
27
100
  export { build };
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,MAAM,UAAU,GAAG,YAAY,CAAC;AAEhC,MAAM,KAAK,GAAG,aAAa,CAAC;IACxB,IAAI,EAAE;QACF,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,kCAAkC;KAClD;IACD,IAAI,EAAE;QACF,GAAG,QAAQ;KACd;IACD,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QACd,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC9D,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC,CAAC;QAE1B,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC;YAC9B,KAAK;YACL,IAAI,EAAE;gBACF,IAAI,EAAE,GAAG;aACZ;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAC;IAC1C,CAAC;CACJ,CAAC,CAAC;AAEH,OAAO,EAAE,KAAK,EAAE,CAAC","sourcesContent":["import { info } from \"@gtkx/utils\";\nimport { defineCommand } from \"citty\";\nimport { build as buildApp } from \"../builder.js\";\nimport { entryArg } from \"../internal/entry-arg.js\";\nimport { prepareProject } from \"../internal/prepare-project.js\";\n\nconst BUILD_MODE = \"production\";\n\nconst build = defineCommand({\n meta: {\n name: \"build\",\n description: \"Build application for production\",\n },\n args: {\n ...entryArg,\n },\n async run({ args }) {\n const { cwd, entry } = await prepareProject(args, BUILD_MODE);\n info(`Building ${entry}`);\n\n const bundlePath = await buildApp({\n entry,\n vite: {\n root: cwd,\n },\n });\n\n info(`Build complete: ${bundlePath}`);\n },\n});\n\nexport { build };\n"]}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,MAAM,UAAU,GAAG,YAAY,CAAC;AAEhC,MAAM,KAAK,GAAG,aAAa,CAAC;IACxB,IAAI,EAAE;QACF,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,kCAAkC;KAClD;IACD,IAAI,EAAE;QACF,GAAG,QAAQ;QACX,GAAG,SAAS;QACZ,GAAG,EAAE;YACD,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,yDAAyD;SACzE;KACJ;IACD,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;;;YACd,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC1E,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACjD,MAAM,cAAc,kCAAG,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,QAAA,CAAC;YACvD,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC,CAAC;YAE1B,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC;gBAC9B,KAAK;gBACL,UAAU;gBACV,IAAI,EAAE;oBACF,IAAI,EAAE,GAAG;oBACT,KAAK,EAAE,EAAE,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE;iBAC7D;aACJ,CAAC,CAAC;YAEH,cAAc,CAAC,MAAM,EAAE,CAAC;YACxB,IAAI,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAC;;;;;;;;;KACzC;CACJ,CAAC,CAAC;AAEH,OAAO,EAAE,KAAK,EAAE,CAAC","sourcesContent":["import { info } from \"@gtkx/utils\";\nimport { defineCommand } from \"citty\";\nimport { build as buildApp } from \"../builder.js\";\nimport { prepareBuildOutDir, resolveBuildOutDir } from \"../internal/build-output.js\";\nimport { configArg, entryArg } from \"../internal/entry-arg.js\";\nimport { prepareProject } from \"../internal/prepare-project.js\";\n\nconst BUILD_MODE = \"production\";\n\nconst build = defineCommand({\n meta: {\n name: \"build\",\n description: \"Build application for production\",\n },\n args: {\n ...entryArg,\n ...configArg,\n out: {\n type: \"string\",\n description: \"Output directory below the project root (default: dist)\",\n },\n },\n async run({ args }) {\n const { cwd, entry, configFile } = await prepareProject(args, BUILD_MODE);\n const outDir = resolveBuildOutDir(cwd, args.out);\n using preparedOutput = prepareBuildOutDir(cwd, outDir);\n info(`Building ${entry}`);\n\n const bundlePath = await buildApp({\n entry,\n configFile,\n vite: {\n root: cwd,\n build: { outDir: preparedOutput.path, emptyOutDir: false },\n },\n });\n\n preparedOutput.commit();\n info(`Build complete: ${bundlePath}`);\n },\n});\n\nexport { build };\n"]}
@@ -0,0 +1,9 @@
1
+ declare const cleanup: import("citty").CommandDef<{
2
+ readonly cwd: import("citty").StringArgDef;
3
+ readonly "dry-run": {
4
+ readonly type: "boolean";
5
+ readonly description: "List stale directories without removing them";
6
+ };
7
+ }>;
8
+ export { cleanup };
9
+ //# sourceMappingURL=cleanup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../src/commands/cleanup.ts"],"names":[],"mappings":"AAeA,QAAA,MAAM,OAAO;;;;;;EA8BX,CAAC;AAEH,OAAO,EAAE,OAAO,EAAE,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { info } from "@gtkx/utils";
2
+ import { findStaleHeadlessDisplays, reapStaleHeadlessDisplays } from "@gtkx/vitest/headless";
3
+ import { defineCommand } from "citty";
4
+ import { findStaleCompileCaches, reapStaleCompileCaches } from "../internal/compile-cache-store.js";
5
+ import { cwdArg } from "../internal/entry-arg.js";
6
+ const DISPLAY_LABEL = "stale headless runtime directories";
7
+ const COMPILE_CACHE_LABEL = "stale compile cache directories";
8
+ const report = (paths) => {
9
+ for (const path of paths) {
10
+ info(`cleanup: ${path}`);
11
+ }
12
+ };
13
+ const cleanup = defineCommand({
14
+ meta: {
15
+ name: "cleanup",
16
+ description: "Remove stale GTKX headless runtime and compile cache directories",
17
+ },
18
+ args: {
19
+ "dry-run": {
20
+ type: "boolean",
21
+ description: "List stale directories without removing them",
22
+ },
23
+ ...cwdArg,
24
+ },
25
+ run({ args }) {
26
+ const displays = findStaleHeadlessDisplays();
27
+ const compileCaches = findStaleCompileCaches();
28
+ report(displays.map((candidate) => candidate.runtimeDir));
29
+ report(compileCaches);
30
+ if (args["dry-run"] === true) {
31
+ info(`cleanup: found ${String(displays.length)} ${DISPLAY_LABEL}`);
32
+ info(`cleanup: found ${String(compileCaches.length)} ${COMPILE_CACHE_LABEL}`);
33
+ return;
34
+ }
35
+ const removedDisplays = reapStaleHeadlessDisplays(displays);
36
+ const removedCaches = reapStaleCompileCaches(compileCaches);
37
+ info(`cleanup: removed ${String(removedDisplays.length)} ${DISPLAY_LABEL}`);
38
+ info(`cleanup: removed ${String(removedCaches.length)} ${COMPILE_CACHE_LABEL}`);
39
+ },
40
+ });
41
+ export { cleanup };
42
+ //# sourceMappingURL=cleanup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../src/commands/cleanup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AACpG,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,MAAM,aAAa,GAAG,oCAAoC,CAAC;AAC3D,MAAM,mBAAmB,GAAG,iCAAiC,CAAC;AAE9D,MAAM,MAAM,GAAG,CAAC,KAAe,EAAQ,EAAE;IACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;IAC7B,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,aAAa,CAAC;IAC1B,IAAI,EAAE;QACF,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,kEAAkE;KAClF;IACD,IAAI,EAAE;QACF,SAAS,EAAE;YACP,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,8CAA8C;SAC9D;QACD,GAAG,MAAM;KACZ;IACD,GAAG,CAAC,EAAE,IAAI,EAAE;QACR,MAAM,QAAQ,GAAG,yBAAyB,EAAE,CAAC;QAC7C,MAAM,aAAa,GAAG,sBAAsB,EAAE,CAAC;QAC/C,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAC1D,MAAM,CAAC,aAAa,CAAC,CAAC;QAEtB,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC,kBAAkB,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;YACnE,IAAI,CAAC,kBAAkB,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;YAE9E,OAAO;QACX,CAAC;QAED,MAAM,eAAe,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QAC5D,MAAM,aAAa,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;QAC5D,IAAI,CAAC,oBAAoB,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,oBAAoB,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;IACpF,CAAC;CACJ,CAAC,CAAC;AAEH,OAAO,EAAE,OAAO,EAAE,CAAC","sourcesContent":["import { info } from \"@gtkx/utils\";\nimport { findStaleHeadlessDisplays, reapStaleHeadlessDisplays } from \"@gtkx/vitest/headless\";\nimport { defineCommand } from \"citty\";\nimport { findStaleCompileCaches, reapStaleCompileCaches } from \"../internal/compile-cache-store.js\";\nimport { cwdArg } from \"../internal/entry-arg.js\";\n\nconst DISPLAY_LABEL = \"stale headless runtime directories\";\nconst COMPILE_CACHE_LABEL = \"stale compile cache directories\";\n\nconst report = (paths: string[]): void => {\n for (const path of paths) {\n info(`cleanup: ${path}`);\n }\n};\n\nconst cleanup = defineCommand({\n meta: {\n name: \"cleanup\",\n description: \"Remove stale GTKX headless runtime and compile cache directories\",\n },\n args: {\n \"dry-run\": {\n type: \"boolean\",\n description: \"List stale directories without removing them\",\n },\n ...cwdArg,\n },\n run({ args }) {\n const displays = findStaleHeadlessDisplays();\n const compileCaches = findStaleCompileCaches();\n report(displays.map((candidate) => candidate.runtimeDir));\n report(compileCaches);\n\n if (args[\"dry-run\"] === true) {\n info(`cleanup: found ${String(displays.length)} ${DISPLAY_LABEL}`);\n info(`cleanup: found ${String(compileCaches.length)} ${COMPILE_CACHE_LABEL}`);\n\n return;\n }\n\n const removedDisplays = reapStaleHeadlessDisplays(displays);\n const removedCaches = reapStaleCompileCaches(compileCaches);\n info(`cleanup: removed ${String(removedDisplays.length)} ${DISPLAY_LABEL}`);\n info(`cleanup: removed ${String(removedCaches.length)} ${COMPILE_CACHE_LABEL}`);\n },\n});\n\nexport { cleanup };\n"]}
@@ -1,5 +1,6 @@
1
1
  declare const codegen: import("citty").CommandDef<{
2
2
  readonly cwd: import("citty").StringArgDef;
3
+ readonly config: import("citty").StringArgDef;
3
4
  readonly force: {
4
5
  readonly type: "boolean";
5
6
  readonly description: "Wipe the generated store and regenerate unconditionally (recover a corrupted store)";
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../src/commands/codegen.ts"],"names":[],"mappings":"AAWA,QAAA,MAAM,OAAO;;;;;;;EAwCX,CAAC;AAQH,OAAO,EAAE,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../src/commands/codegen.ts"],"names":[],"mappings":"AAWA,QAAA,MAAM,OAAO;;;;;;;;EAyCX,CAAC;AAQH,OAAO,EAAE,OAAO,EAAE,CAAC"}
@@ -2,7 +2,7 @@ import { info } from "@gtkx/utils";
2
2
  import { defineCommand } from "citty";
3
3
  import { formatCodegenResult } from "../codegen/report.js";
4
4
  import { ensureGenerated, isCodegenDisabled, runCodegen } from "../codegen/run-codegen.js";
5
- import { cwdArg, resolveCwd } from "../internal/entry-arg.js";
5
+ import { configArg, cwdArg, resolveCwd } from "../internal/entry-arg.js";
6
6
  const FORCED_WHILE_DISABLED_MESSAGE = "codegen is disabled for this project, so --force has no store to regenerate here. " +
7
7
  "Remove `codegen: false` from gtkx.config.ts, or run `gtkx codegen --force` where the installed " +
8
8
  "binding store is generated.";
@@ -17,24 +17,25 @@ const codegen = defineCommand({
17
17
  description: "Wipe the generated store and regenerate unconditionally (recover a corrupted store)",
18
18
  default: false,
19
19
  },
20
+ ...configArg,
20
21
  ...cwdArg,
21
22
  },
22
23
  async run({ args }) {
23
24
  const cwd = resolveCwd(args);
24
- const isDisabled = await isCodegenDisabled(cwd);
25
+ const isDisabled = await isCodegenDisabled(cwd, undefined, args.config);
25
26
  checkForce(isDisabled, args.force);
26
27
  if (isDisabled) {
27
- await runCodegen({ cwd });
28
+ await runCodegen({ cwd, configFile: args.config });
28
29
  info("codegen: disabled for this project; reusing an installed binding store");
29
30
  return;
30
31
  }
31
32
  if (!args.force) {
32
- const isRan = await ensureGenerated(cwd);
33
+ const isRan = await ensureGenerated(cwd, { configFile: args.config });
33
34
  info(isRan ? "codegen: regenerated stale bindings" : "codegen: bindings up to date");
34
35
  return;
35
36
  }
36
37
  const startedAt = Date.now();
37
- const result = await runCodegen({ cwd, isForced: true });
38
+ const result = await runCodegen({ cwd, configFile: args.config, isForced: true });
38
39
  const lines = formatCodegenResult(result, Date.now() - startedAt);
39
40
  for (const line of lines) {
40
41
  info(line);
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/commands/codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC3F,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,6BAA6B,GAC/B,oFAAoF;IACpF,iGAAiG;IACjG,6BAA6B,CAAC;AAElC,MAAM,OAAO,GAAG,aAAa,CAAC;IAC1B,IAAI,EAAE;QACF,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,8EAA8E;KAC9F;IACD,IAAI,EAAE;QACF,KAAK,EAAE;YACH,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,qFAAqF;YAClG,OAAO,EAAE,KAAK;SACjB;QACD,GAAG,MAAM;KACZ;IACD,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QACd,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAChD,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAEnC,IAAI,UAAU,EAAE,CAAC;YACb,MAAM,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YAC1B,IAAI,CAAC,wEAAwE,CAAC,CAAC;YAE/E,OAAO;QACX,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC;YAErF,OAAO;QACX,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;QAElE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;IACL,CAAC;CACJ,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,CAAC,UAAmB,EAAE,QAAiB,EAAQ,EAAE;IAChE,IAAI,UAAU,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACnD,CAAC;AACL,CAAC,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,CAAC","sourcesContent":["import { info } from \"@gtkx/utils\";\nimport { defineCommand } from \"citty\";\nimport { formatCodegenResult } from \"../codegen/report.js\";\nimport { ensureGenerated, isCodegenDisabled, runCodegen } from \"../codegen/run-codegen.js\";\nimport { cwdArg, resolveCwd } from \"../internal/entry-arg.js\";\n\nconst FORCED_WHILE_DISABLED_MESSAGE =\n \"codegen is disabled for this project, so --force has no store to regenerate here. \" +\n \"Remove `codegen: false` from gtkx.config.ts, or run `gtkx codegen --force` where the installed \" +\n \"binding store is generated.\";\n\nconst codegen = defineCommand({\n meta: {\n name: \"codegen\",\n description: \"Generate project bindings, translation catalogs, and TypeScript declarations\",\n },\n args: {\n force: {\n type: \"boolean\",\n description: \"Wipe the generated store and regenerate unconditionally (recover a corrupted store)\",\n default: false,\n },\n ...cwdArg,\n },\n async run({ args }) {\n const cwd = resolveCwd(args);\n const isDisabled = await isCodegenDisabled(cwd);\n checkForce(isDisabled, args.force);\n\n if (isDisabled) {\n await runCodegen({ cwd });\n info(\"codegen: disabled for this project; reusing an installed binding store\");\n\n return;\n }\n\n if (!args.force) {\n const isRan = await ensureGenerated(cwd);\n info(isRan ? \"codegen: regenerated stale bindings\" : \"codegen: bindings up to date\");\n\n return;\n }\n\n const startedAt = Date.now();\n const result = await runCodegen({ cwd, isForced: true });\n const lines = formatCodegenResult(result, Date.now() - startedAt);\n\n for (const line of lines) {\n info(line);\n }\n },\n});\n\nconst checkForce = (isDisabled: boolean, isForced: boolean): void => {\n if (isDisabled && isForced) {\n throw new Error(FORCED_WHILE_DISABLED_MESSAGE);\n }\n};\n\nexport { codegen };\n"]}
1
+ {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/commands/codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC3F,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEzE,MAAM,6BAA6B,GAC/B,oFAAoF;IACpF,iGAAiG;IACjG,6BAA6B,CAAC;AAElC,MAAM,OAAO,GAAG,aAAa,CAAC;IAC1B,IAAI,EAAE;QACF,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,8EAA8E;KAC9F;IACD,IAAI,EAAE;QACF,KAAK,EAAE;YACH,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,qFAAqF;YAClG,OAAO,EAAE,KAAK;SACjB;QACD,GAAG,SAAS;QACZ,GAAG,MAAM;KACZ;IACD,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QACd,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACxE,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAEnC,IAAI,UAAU,EAAE,CAAC;YACb,MAAM,UAAU,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,wEAAwE,CAAC,CAAC;YAE/E,OAAO;QACX,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACtE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC;YAErF,OAAO;QACX,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAClF,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;QAElE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;IACL,CAAC;CACJ,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,CAAC,UAAmB,EAAE,QAAiB,EAAQ,EAAE;IAChE,IAAI,UAAU,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACnD,CAAC;AACL,CAAC,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,CAAC","sourcesContent":["import { info } from \"@gtkx/utils\";\nimport { defineCommand } from \"citty\";\nimport { formatCodegenResult } from \"../codegen/report.js\";\nimport { ensureGenerated, isCodegenDisabled, runCodegen } from \"../codegen/run-codegen.js\";\nimport { configArg, cwdArg, resolveCwd } from \"../internal/entry-arg.js\";\n\nconst FORCED_WHILE_DISABLED_MESSAGE =\n \"codegen is disabled for this project, so --force has no store to regenerate here. \" +\n \"Remove `codegen: false` from gtkx.config.ts, or run `gtkx codegen --force` where the installed \" +\n \"binding store is generated.\";\n\nconst codegen = defineCommand({\n meta: {\n name: \"codegen\",\n description: \"Generate project bindings, translation catalogs, and TypeScript declarations\",\n },\n args: {\n force: {\n type: \"boolean\",\n description: \"Wipe the generated store and regenerate unconditionally (recover a corrupted store)\",\n default: false,\n },\n ...configArg,\n ...cwdArg,\n },\n async run({ args }) {\n const cwd = resolveCwd(args);\n const isDisabled = await isCodegenDisabled(cwd, undefined, args.config);\n checkForce(isDisabled, args.force);\n\n if (isDisabled) {\n await runCodegen({ cwd, configFile: args.config });\n info(\"codegen: disabled for this project; reusing an installed binding store\");\n\n return;\n }\n\n if (!args.force) {\n const isRan = await ensureGenerated(cwd, { configFile: args.config });\n info(isRan ? \"codegen: regenerated stale bindings\" : \"codegen: bindings up to date\");\n\n return;\n }\n\n const startedAt = Date.now();\n const result = await runCodegen({ cwd, configFile: args.config, isForced: true });\n const lines = formatCodegenResult(result, Date.now() - startedAt);\n\n for (const line of lines) {\n info(line);\n }\n },\n});\n\nconst checkForce = (isDisabled: boolean, isForced: boolean): void => {\n if (isDisabled && isForced) {\n throw new Error(FORCED_WHILE_DISABLED_MESSAGE);\n }\n};\n\nexport { codegen };\n"]}
@@ -3,6 +3,10 @@ declare const deploy: import("citty").CommandDef<{
3
3
  readonly type: "string";
4
4
  readonly description: `Comma-separated package formats to build (${string})`;
5
5
  };
6
+ readonly arch: {
7
+ readonly type: "string";
8
+ readonly description: `Comma-separated architectures to build (${string}; default: the host)`;
9
+ };
6
10
  readonly out: {
7
11
  readonly type: "string";
8
12
  readonly description: "Output directory relative to the project root (default: build)";
@@ -15,6 +19,7 @@ declare const deploy: import("citty").CommandDef<{
15
19
  readonly type: "boolean";
16
20
  readonly description: "Package what is already in dist/ instead of rebuilding";
17
21
  };
22
+ readonly config: import("citty").StringArgDef;
18
23
  readonly entry: import("citty").PositionalArgDef;
19
24
  readonly cwd: import("citty").StringArgDef;
20
25
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAQA,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;EAoCV,CAAC;AAEH,OAAO,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AASA,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;EA2CV,CAAC;AAEH,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import { defineCommand } from "citty";
2
2
  import { KNOWN_NAMES } from "../deploy/registry.js";
3
3
  import { runDeploy } from "../deploy/run-deploy.js";
4
- import { entryArg } from "../internal/entry-arg.js";
4
+ import { KNOWN_ARCH_NAMES } from "../deploy/settings/arch.js";
5
+ import { configArg, entryArg } from "../internal/entry-arg.js";
5
6
  import { resolveProject } from "../internal/prepare-project.js";
6
7
  const DEPLOY_MODE = "production";
7
8
  const deploy = defineCommand({
@@ -11,10 +12,15 @@ const deploy = defineCommand({
11
12
  },
12
13
  args: {
13
14
  ...entryArg,
15
+ ...configArg,
14
16
  target: {
15
17
  type: "string",
16
18
  description: `Comma-separated package formats to build (${KNOWN_NAMES})`,
17
19
  },
20
+ arch: {
21
+ type: "string",
22
+ description: `Comma-separated architectures to build (${KNOWN_ARCH_NAMES}; default: the host)`,
23
+ },
18
24
  out: {
19
25
  type: "string",
20
26
  description: "Output directory relative to the project root (default: build)",
@@ -29,11 +35,13 @@ const deploy = defineCommand({
29
35
  },
30
36
  },
31
37
  async run({ args }) {
32
- const { cwd, entry } = await resolveProject(args, DEPLOY_MODE);
38
+ const { cwd, entry, configFile } = await resolveProject(args, DEPLOY_MODE);
33
39
  await runDeploy({
34
40
  entry,
35
41
  cwd,
42
+ configFile,
36
43
  targets: args.target,
44
+ arches: args.arch,
37
45
  outDir: args.out,
38
46
  shouldPrintManifests: args["print-manifests"] === true,
39
47
  shouldSkipBuild: args["skip-build"] === true,
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,MAAM,WAAW,GAAG,YAAY,CAAC;AAEjC,MAAM,MAAM,GAAG,aAAa,CAAC;IACzB,IAAI,EAAE;QACF,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,0CAA0C;KAC1D;IACD,IAAI,EAAE;QACF,GAAG,QAAQ;QACX,MAAM,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,6CAA6C,WAAW,GAAG;SAC3E;QACD,GAAG,EAAE;YACD,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,gEAAgE;SAChF;QACD,iBAAiB,EAAE;YACf,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,yEAAyE;SACzF;QACD,YAAY,EAAE;YACV,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,wDAAwD;SACxE;KACJ;IACD,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QACd,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAE/D,MAAM,SAAS,CAAC;YACZ,KAAK;YACL,GAAG;YACH,OAAO,EAAE,IAAI,CAAC,MAAM;YACpB,MAAM,EAAE,IAAI,CAAC,GAAG;YAChB,oBAAoB,EAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI;YACtD,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI;SAC/C,CAAC,CAAC;IACP,CAAC;CACJ,CAAC,CAAC;AAEH,OAAO,EAAE,MAAM,EAAE,CAAC","sourcesContent":["import { defineCommand } from \"citty\";\nimport { KNOWN_NAMES } from \"../deploy/registry.js\";\nimport { runDeploy } from \"../deploy/run-deploy.js\";\nimport { entryArg } from \"../internal/entry-arg.js\";\nimport { resolveProject } from \"../internal/prepare-project.js\";\n\nconst DEPLOY_MODE = \"production\";\n\nconst deploy = defineCommand({\n meta: {\n name: \"deploy\",\n description: \"Package the application for distribution\",\n },\n args: {\n ...entryArg,\n target: {\n type: \"string\",\n description: `Comma-separated package formats to build (${KNOWN_NAMES})`,\n },\n out: {\n type: \"string\",\n description: \"Output directory relative to the project root (default: build)\",\n },\n \"print-manifests\": {\n type: \"boolean\",\n description: \"Write the generated manifests and metadata, then stop without packaging\",\n },\n \"skip-build\": {\n type: \"boolean\",\n description: \"Package what is already in dist/ instead of rebuilding\",\n },\n },\n async run({ args }) {\n const { cwd, entry } = await resolveProject(args, DEPLOY_MODE);\n\n await runDeploy({\n entry,\n cwd,\n targets: args.target,\n outDir: args.out,\n shouldPrintManifests: args[\"print-manifests\"] === true,\n shouldSkipBuild: args[\"skip-build\"] === true,\n });\n },\n});\n\nexport { deploy };\n"]}
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,MAAM,WAAW,GAAG,YAAY,CAAC;AAEjC,MAAM,MAAM,GAAG,aAAa,CAAC;IACzB,IAAI,EAAE;QACF,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,0CAA0C;KAC1D;IACD,IAAI,EAAE;QACF,GAAG,QAAQ;QACX,GAAG,SAAS;QACZ,MAAM,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,6CAA6C,WAAW,GAAG;SAC3E;QACD,IAAI,EAAE;YACF,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,2CAA2C,gBAAgB,sBAAsB;SACjG;QACD,GAAG,EAAE;YACD,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,gEAAgE;SAChF;QACD,iBAAiB,EAAE;YACf,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,yEAAyE;SACzF;QACD,YAAY,EAAE;YACV,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,wDAAwD;SACxE;KACJ;IACD,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QACd,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAE3E,MAAM,SAAS,CAAC;YACZ,KAAK;YACL,GAAG;YACH,UAAU;YACV,OAAO,EAAE,IAAI,CAAC,MAAM;YACpB,MAAM,EAAE,IAAI,CAAC,IAAI;YACjB,MAAM,EAAE,IAAI,CAAC,GAAG;YAChB,oBAAoB,EAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI;YACtD,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI;SAC/C,CAAC,CAAC;IACP,CAAC;CACJ,CAAC,CAAC;AAEH,OAAO,EAAE,MAAM,EAAE,CAAC","sourcesContent":["import { defineCommand } from \"citty\";\nimport { KNOWN_NAMES } from \"../deploy/registry.js\";\nimport { runDeploy } from \"../deploy/run-deploy.js\";\nimport { KNOWN_ARCH_NAMES } from \"../deploy/settings/arch.js\";\nimport { configArg, entryArg } from \"../internal/entry-arg.js\";\nimport { resolveProject } from \"../internal/prepare-project.js\";\n\nconst DEPLOY_MODE = \"production\";\n\nconst deploy = defineCommand({\n meta: {\n name: \"deploy\",\n description: \"Package the application for distribution\",\n },\n args: {\n ...entryArg,\n ...configArg,\n target: {\n type: \"string\",\n description: `Comma-separated package formats to build (${KNOWN_NAMES})`,\n },\n arch: {\n type: \"string\",\n description: `Comma-separated architectures to build (${KNOWN_ARCH_NAMES}; default: the host)`,\n },\n out: {\n type: \"string\",\n description: \"Output directory relative to the project root (default: build)\",\n },\n \"print-manifests\": {\n type: \"boolean\",\n description: \"Write the generated manifests and metadata, then stop without packaging\",\n },\n \"skip-build\": {\n type: \"boolean\",\n description: \"Package what is already in dist/ instead of rebuilding\",\n },\n },\n async run({ args }) {\n const { cwd, entry, configFile } = await resolveProject(args, DEPLOY_MODE);\n\n await runDeploy({\n entry,\n cwd,\n configFile,\n targets: args.target,\n arches: args.arch,\n outDir: args.out,\n shouldPrintManifests: args[\"print-manifests\"] === true,\n shouldSkipBuild: args[\"skip-build\"] === true,\n });\n },\n});\n\nexport { deploy };\n"]}
@@ -1,4 +1,13 @@
1
1
  declare const dev: import("citty").CommandDef<{
2
+ readonly headless: {
3
+ readonly type: "boolean";
4
+ readonly description: "Run on an isolated headless Wayland display";
5
+ };
6
+ readonly size: {
7
+ readonly type: "string";
8
+ readonly description: "Headless display size as WIDTHxHEIGHT";
9
+ };
10
+ readonly config: import("citty").StringArgDef;
2
11
  readonly entry: import("citty").PositionalArgDef;
3
12
  readonly cwd: import("citty").StringArgDef;
4
13
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AASA,QAAA,MAAM,GAAG;;;EAcP,CAAC;AAEH,OAAO,EAAE,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAaA,QAAA,MAAM,GAAG;;;;;;;;;;;;EAmDP,CAAC;AAEH,OAAO,EAAE,GAAG,EAAE,CAAC"}
@@ -1,8 +1,12 @@
1
+ import { armParentDeath } from "@gtkx/native/internal";
2
+ import { reapStaleHeadlessDisplaysAtStartup } from "@gtkx/vitest/headless";
1
3
  import { defineCommand } from "citty";
2
4
  import { resolveConfigWatch } from "../codegen/run-codegen.js";
5
+ import { startHeadlessDevDisplay } from "../dev/headless.js";
3
6
  import { runDevSupervisor } from "../dev/supervisor.js";
4
7
  import { splitApplicationArgs } from "../internal/application-args.js";
5
- import { entryArg } from "../internal/entry-arg.js";
8
+ import { configArg, entryArg } from "../internal/entry-arg.js";
9
+ import { getInitialProcessGroupOwner, initialParentId } from "../internal/parent-process.js";
6
10
  import { prepareProject } from "../internal/prepare-project.js";
7
11
  const DEV_MODE = "development";
8
12
  const dev = defineCommand({
@@ -12,12 +16,35 @@ const dev = defineCommand({
12
16
  },
13
17
  args: {
14
18
  ...entryArg,
19
+ ...configArg,
20
+ headless: {
21
+ type: "boolean",
22
+ description: "Run on an isolated headless Wayland display",
23
+ },
24
+ size: {
25
+ type: "string",
26
+ description: "Headless display size as WIDTHxHEIGHT",
27
+ },
15
28
  },
16
29
  async run({ args }) {
17
- const { cwd, entry: entryPath } = await prepareProject(args, DEV_MODE);
18
- const watch = await resolveConfigWatch(cwd, DEV_MODE);
30
+ reapStaleHeadlessDisplaysAtStartup();
31
+ const initialProcessGroupOwner = getInitialProcessGroupOwner();
32
+ if (!armParentDeath(initialParentId, initialProcessGroupOwner?.pid, initialProcessGroupOwner?.startTime)) {
33
+ throw new Error("The process that launched gtkx dev exited during startup");
34
+ }
35
+ if (args.size !== undefined && !args.headless) {
36
+ throw new Error("--size requires --headless");
37
+ }
38
+ const { cwd, entry: entryPath, configFile, configDependencies } = await prepareProject(args, DEV_MODE);
39
+ const watch = await resolveConfigWatch(cwd, DEV_MODE, configFile, configDependencies);
19
40
  const { applicationArgs } = splitApplicationArgs(process.argv.slice(2));
20
- await runDevSupervisor({ entryPath, cwd, args: applicationArgs, watch });
41
+ const stopHeadless = args.headless ? await startHeadlessDevDisplay(args.size) : undefined;
42
+ try {
43
+ await runDevSupervisor({ entryPath, cwd, configFile, args: applicationArgs, watch });
44
+ }
45
+ finally {
46
+ stopHeadless?.();
47
+ }
21
48
  },
22
49
  });
23
50
  export { dev };
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAiB,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,MAAM,QAAQ,GAAG,aAAa,CAAC;AAE/B,MAAM,GAAG,GAAG,aAAa,CAAC;IACtB,IAAI,EAAE;QACF,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,mCAAmC;KACnD;IACD,IAAI,EAAE;QACF,GAAG,QAAQ;KACd;IACD,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QACd,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACvE,MAAM,KAAK,GAAyB,MAAM,kBAAkB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC5E,MAAM,EAAE,eAAe,EAAE,GAAG,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,gBAAgB,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7E,CAAC;CACJ,CAAC,CAAC;AAEH,OAAO,EAAE,GAAG,EAAE,CAAC","sourcesContent":["import { defineCommand } from \"citty\";\nimport { resolveConfigWatch } from \"../codegen/run-codegen.js\";\nimport { type DevWatch, runDevSupervisor } from \"../dev/supervisor.js\";\nimport { splitApplicationArgs } from \"../internal/application-args.js\";\nimport { entryArg } from \"../internal/entry-arg.js\";\nimport { prepareProject } from \"../internal/prepare-project.js\";\n\nconst DEV_MODE = \"development\";\n\nconst dev = defineCommand({\n meta: {\n name: \"dev\",\n description: \"Start development server with HMR\",\n },\n args: {\n ...entryArg,\n },\n async run({ args }) {\n const { cwd, entry: entryPath } = await prepareProject(args, DEV_MODE);\n const watch: DevWatch | undefined = await resolveConfigWatch(cwd, DEV_MODE);\n const { applicationArgs } = splitApplicationArgs(process.argv.slice(2));\n await runDevSupervisor({ entryPath, cwd, args: applicationArgs, watch });\n },\n});\n\nexport { dev };\n"]}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,kCAAkC,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAiB,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC7F,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,MAAM,QAAQ,GAAG,aAAa,CAAC;AAE/B,MAAM,GAAG,GAAG,aAAa,CAAC;IACtB,IAAI,EAAE;QACF,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,mCAAmC;KACnD;IACD,IAAI,EAAE;QACF,GAAG,QAAQ;QACX,GAAG,SAAS;QACZ,QAAQ,EAAE;YACN,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,6CAA6C;SAC7D;QACD,IAAI,EAAE;YACF,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,uCAAuC;SACvD;KACJ;IACD,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QACd,kCAAkC,EAAE,CAAC;QACrC,MAAM,wBAAwB,GAAG,2BAA2B,EAAE,CAAC;QAE/D,IACI,CAAC,cAAc,CACX,eAAe,EACf,wBAAwB,EAAE,GAAG,EAC7B,wBAAwB,EAAE,SAAS,CACtC,EACH,CAAC;YACC,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAChF,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,kBAAkB,EAAE,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACvG,MAAM,KAAK,GAAyB,MAAM,kBAAkB,CACxD,GAAG,EACH,QAAQ,EACR,UAAU,EACV,kBAAkB,CACrB,CAAC;QACF,MAAM,EAAE,eAAe,EAAE,GAAG,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE1F,IAAI,CAAC;YACD,MAAM,gBAAgB,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC;QACzF,CAAC;gBAAS,CAAC;YACP,YAAY,EAAE,EAAE,CAAC;QACrB,CAAC;IACL,CAAC;CACJ,CAAC,CAAC;AAEH,OAAO,EAAE,GAAG,EAAE,CAAC","sourcesContent":["import { armParentDeath } from \"@gtkx/native/internal\";\nimport { reapStaleHeadlessDisplaysAtStartup } from \"@gtkx/vitest/headless\";\nimport { defineCommand } from \"citty\";\nimport { resolveConfigWatch } from \"../codegen/run-codegen.js\";\nimport { startHeadlessDevDisplay } from \"../dev/headless.js\";\nimport { type DevWatch, runDevSupervisor } from \"../dev/supervisor.js\";\nimport { splitApplicationArgs } from \"../internal/application-args.js\";\nimport { configArg, entryArg } from \"../internal/entry-arg.js\";\nimport { getInitialProcessGroupOwner, initialParentId } from \"../internal/parent-process.js\";\nimport { prepareProject } from \"../internal/prepare-project.js\";\n\nconst DEV_MODE = \"development\";\n\nconst dev = defineCommand({\n meta: {\n name: \"dev\",\n description: \"Start development server with HMR\",\n },\n args: {\n ...entryArg,\n ...configArg,\n headless: {\n type: \"boolean\",\n description: \"Run on an isolated headless Wayland display\",\n },\n size: {\n type: \"string\",\n description: \"Headless display size as WIDTHxHEIGHT\",\n },\n },\n async run({ args }) {\n reapStaleHeadlessDisplaysAtStartup();\n const initialProcessGroupOwner = getInitialProcessGroupOwner();\n\n if (\n !armParentDeath(\n initialParentId,\n initialProcessGroupOwner?.pid,\n initialProcessGroupOwner?.startTime,\n )\n ) {\n throw new Error(\"The process that launched gtkx dev exited during startup\");\n }\n\n if (args.size !== undefined && !args.headless) {\n throw new Error(\"--size requires --headless\");\n }\n\n const { cwd, entry: entryPath, configFile, configDependencies } = await prepareProject(args, DEV_MODE);\n const watch: DevWatch | undefined = await resolveConfigWatch(\n cwd,\n DEV_MODE,\n configFile,\n configDependencies,\n );\n const { applicationArgs } = splitApplicationArgs(process.argv.slice(2));\n const stopHeadless = args.headless ? await startHeadlessDevDisplay(args.size) : undefined;\n\n try {\n await runDevSupervisor({ entryPath, cwd, configFile, args: applicationArgs, watch });\n } finally {\n stopHeadless?.();\n }\n },\n});\n\nexport { dev };\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AAUA,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;EAmFR,CAAC;AAiCH,OAAO,EAAE,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AAUA,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;EA8ER,CAAC;AA2BH,OAAO,EAAE,IAAI,EAAE,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import { mergeOmittedProps, resolveGirPath, resolveLibraries } from "@gtkx/codegen";
2
2
  import { writeDocs } from "@gtkx/codegen/internal";
3
3
  import { loadConfig } from "@gtkx/config";
4
- import { resolveFuture, resolveOmittedProps } from "@gtkx/config/internal";
5
- import { info } from "@gtkx/utils";
4
+ import { resolveOmittedProps } from "@gtkx/config/internal";
5
+ import { info, isPathInside } from "@gtkx/utils";
6
6
  import { defineCommand } from "citty";
7
- import { isAbsolute, relative, resolve, sep } from "node:path";
7
+ import { resolve } from "node:path";
8
8
  import { resolveDocsElements } from "../internal/docs-elements.js";
9
9
  import { cwdArg, resolveCwd } from "../internal/entry-arg.js";
10
10
  const docs = defineCommand({
@@ -45,8 +45,7 @@ const docs = defineCommand({
45
45
  "(Linux: `sudo dnf install gobject-introspection-devel` or " +
46
46
  "`sudo apt install libgirepository1.0-dev`), or set `girPath` in gtkx.config.ts.");
47
47
  }
48
- const future = resolveFuture(config.future);
49
- const libraries = resolveLibraries(config.libraries, girPath, future.isAdwaitaDefault);
48
+ const libraries = resolveLibraries(config.libraries);
50
49
  const startedAt = Date.now();
51
50
  const outDir = resolveOutDir(cwd, args.out);
52
51
  const builtin = await resolveDocsElements(cwd);
@@ -56,13 +55,9 @@ const docs = defineCommand({
56
55
  outDir,
57
56
  basePath: args["base-path"],
58
57
  props: builtin.props,
58
+ acceptedChildTypes: builtin.acceptedChildTypes,
59
59
  omittedProps: mergeOmittedProps(builtin.omittedProps, resolveOmittedProps(config.elements)),
60
60
  isForced: args.force,
61
- isByteArrayTyped: future.isByteArrayTyped,
62
- isValueUnwrapped: future.isValueUnwrapped,
63
- isFinishTrimmed: future.isFinishTrimmed,
64
- isInoutInPlace: future.isInoutInPlace,
65
- isTreeShaken: future.isTreeShaken,
66
61
  });
67
62
  if (!isRegenerated) {
68
63
  info(`docs: pages in ${outDir} are up to date`);
@@ -73,10 +68,6 @@ const docs = defineCommand({
73
68
  `to ${outDir} in ${String(Date.now() - startedAt)}ms`);
74
69
  },
75
70
  });
76
- const isBelow = (parent, child) => {
77
- const path = relative(parent, child);
78
- return path !== "" && path !== ".." && !path.startsWith(`..${sep}`) && !isAbsolute(path);
79
- };
80
71
  const outDirReason = (cwd, out, outDir) => {
81
72
  if (out.trim() === "") {
82
73
  return "it was empty, which names the project root itself";
@@ -88,7 +79,7 @@ const outDirReason = (cwd, out, outDir) => {
88
79
  };
89
80
  const resolveOutDir = (cwd, out) => {
90
81
  const outDir = out.trim() === "" ? cwd : resolve(cwd, out);
91
- if (isBelow(cwd, outDir)) {
82
+ if (isPathInside(cwd, outDir)) {
92
83
  return outDir;
93
84
  }
94
85
  throw new Error(`--out must name a directory below the project root ${cwd}, and ${outDirReason(cwd, out, outDir)}. ` +
@@ -1 +1 @@
1
- {"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"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","sourcesContent":["import { mergeOmittedProps, resolveGirPath, resolveLibraries } from \"@gtkx/codegen\";\nimport { writeDocs } from \"@gtkx/codegen/internal\";\nimport { loadConfig } from \"@gtkx/config\";\nimport { resolveFuture, resolveOmittedProps } from \"@gtkx/config/internal\";\nimport { info } from \"@gtkx/utils\";\nimport { defineCommand } from \"citty\";\nimport { isAbsolute, relative, resolve, sep } from \"node:path\";\nimport { resolveDocsElements } from \"../internal/docs-elements.js\";\nimport { cwdArg, resolveCwd } from \"../internal/entry-arg.js\";\n\nconst docs = defineCommand({\n meta: {\n name: \"docs\",\n description:\n \"Generate markdown reference pages for the JSX elements of the GIR libraries declared in gtkx.config.ts\",\n },\n args: {\n out: {\n type: \"string\",\n description:\n \"Output directory for the generated markdown pages, below the project root. It must be empty \" +\n \"or hold an earlier `gtkx docs` run, whose pages are replaced\",\n default: \"docs/reference\",\n },\n \"base-path\": {\n type: \"string\",\n description: \"URL base path used for links between generated pages\",\n default: \"/reference\",\n },\n force: {\n type: \"boolean\",\n description:\n \"Regenerate even when the pages are up to date with the GIR libraries, the base path, \" +\n \"and the element props the project configures\",\n default: false,\n },\n ...cwdArg,\n },\n async run({ args }) {\n const cwd = resolveCwd(args);\n const { config } = await loadConfig(cwd);\n\n if (config.codegen === false) {\n throw new Error(\n \"codegen is disabled for this project, so there are no GIR libraries to document. \" +\n \"Remove `codegen: false` from gtkx.config.ts to use `gtkx docs`.\",\n );\n }\n\n const girPath = resolveGirPath(config.girPath);\n\n if (girPath.length === 0) {\n throw new Error(\n \"No GIR search paths available. Install gobject-introspection \" +\n \"(Linux: `sudo dnf install gobject-introspection-devel` or \" +\n \"`sudo apt install libgirepository1.0-dev`), or set `girPath` in gtkx.config.ts.\",\n );\n }\n\n const future = resolveFuture(config.future);\n const libraries = resolveLibraries(config.libraries, girPath, future.isAdwaitaDefault);\n const startedAt = Date.now();\n const outDir = resolveOutDir(cwd, args.out);\n const builtin = await resolveDocsElements(cwd);\n\n const { isRegenerated, namespaces } = writeDocs({\n libraries,\n girPath,\n outDir,\n basePath: args[\"base-path\"],\n props: builtin.props,\n omittedProps: mergeOmittedProps(builtin.omittedProps, resolveOmittedProps(config.elements)),\n isForced: args.force,\n isByteArrayTyped: future.isByteArrayTyped,\n isValueUnwrapped: future.isValueUnwrapped,\n isFinishTrimmed: future.isFinishTrimmed,\n isInoutInPlace: future.isInoutInPlace,\n isTreeShaken: future.isTreeShaken,\n });\n\n if (!isRegenerated) {\n info(`docs: pages in ${outDir} are up to date`);\n\n return;\n }\n\n const count = namespaces.reduce((total, namespace) => total + namespace.elements.length, 0);\n\n info(\n `docs: wrote ${String(count)} element pages across ${String(namespaces.length)} namespaces ` +\n `to ${outDir} in ${String(Date.now() - startedAt)}ms`,\n );\n },\n});\n\nconst isBelow = (parent: string, child: string): boolean => {\n const path = relative(parent, child);\n\n return path !== \"\" && path !== \"..\" && !path.startsWith(`..${sep}`) && !isAbsolute(path);\n};\n\nconst outDirReason = (cwd: string, out: string, outDir: string): string => {\n if (out.trim() === \"\") {\n return \"it was empty, which names the project root itself\";\n }\n\n if (outDir === cwd) {\n return \"it names the project root itself\";\n }\n\n return `${outDir} is outside it`;\n};\n\nconst resolveOutDir = (cwd: string, out: string): string => {\n const outDir = out.trim() === \"\" ? cwd : resolve(cwd, out);\n\n if (isBelow(cwd, outDir)) {\n return outDir;\n }\n\n throw new Error(\n `--out must name a directory below the project root ${cwd}, and ${outDirReason(cwd, out, outDir)}. ` +\n \"Pass a path such as --out=docs/reference.\",\n );\n};\n\nexport { docs };\n"]}
1
+ {"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"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","sourcesContent":["import { mergeOmittedProps, resolveGirPath, resolveLibraries } from \"@gtkx/codegen\";\nimport { writeDocs } from \"@gtkx/codegen/internal\";\nimport { loadConfig } from \"@gtkx/config\";\nimport { resolveOmittedProps } from \"@gtkx/config/internal\";\nimport { info, isPathInside } from \"@gtkx/utils\";\nimport { defineCommand } from \"citty\";\nimport { resolve } from \"node:path\";\nimport { resolveDocsElements } from \"../internal/docs-elements.js\";\nimport { cwdArg, resolveCwd } from \"../internal/entry-arg.js\";\n\nconst docs = defineCommand({\n meta: {\n name: \"docs\",\n description:\n \"Generate markdown reference pages for the JSX elements of the GIR libraries declared in gtkx.config.ts\",\n },\n args: {\n out: {\n type: \"string\",\n description:\n \"Output directory for the generated markdown pages, below the project root. It must be empty \" +\n \"or hold an earlier `gtkx docs` run, whose pages are replaced\",\n default: \"docs/reference\",\n },\n \"base-path\": {\n type: \"string\",\n description: \"URL base path used for links between generated pages\",\n default: \"/reference\",\n },\n force: {\n type: \"boolean\",\n description:\n \"Regenerate even when the pages are up to date with the GIR libraries, the base path, \" +\n \"and the element props the project configures\",\n default: false,\n },\n ...cwdArg,\n },\n async run({ args }) {\n const cwd = resolveCwd(args);\n const { config } = await loadConfig(cwd);\n\n if (config.codegen === false) {\n throw new Error(\n \"codegen is disabled for this project, so there are no GIR libraries to document. \" +\n \"Remove `codegen: false` from gtkx.config.ts to use `gtkx docs`.\",\n );\n }\n\n const girPath = resolveGirPath(config.girPath);\n\n if (girPath.length === 0) {\n throw new Error(\n \"No GIR search paths available. Install gobject-introspection \" +\n \"(Linux: `sudo dnf install gobject-introspection-devel` or \" +\n \"`sudo apt install libgirepository1.0-dev`), or set `girPath` in gtkx.config.ts.\",\n );\n }\n\n const libraries = resolveLibraries(config.libraries);\n const startedAt = Date.now();\n const outDir = resolveOutDir(cwd, args.out);\n const builtin = await resolveDocsElements(cwd);\n\n const { isRegenerated, namespaces } = writeDocs({\n libraries,\n girPath,\n outDir,\n basePath: args[\"base-path\"],\n props: builtin.props,\n acceptedChildTypes: builtin.acceptedChildTypes,\n omittedProps: mergeOmittedProps(builtin.omittedProps, resolveOmittedProps(config.elements)),\n isForced: args.force,\n });\n\n if (!isRegenerated) {\n info(`docs: pages in ${outDir} are up to date`);\n\n return;\n }\n\n const count = namespaces.reduce((total, namespace) => total + namespace.elements.length, 0);\n\n info(\n `docs: wrote ${String(count)} element pages across ${String(namespaces.length)} namespaces ` +\n `to ${outDir} in ${String(Date.now() - startedAt)}ms`,\n );\n },\n});\n\nconst outDirReason = (cwd: string, out: string, outDir: string): string => {\n if (out.trim() === \"\") {\n return \"it was empty, which names the project root itself\";\n }\n\n if (outDir === cwd) {\n return \"it names the project root itself\";\n }\n\n return `${outDir} is outside it`;\n};\n\nconst resolveOutDir = (cwd: string, out: string): string => {\n const outDir = out.trim() === \"\" ? cwd : resolve(cwd, out);\n\n if (isPathInside(cwd, outDir)) {\n return outDir;\n }\n\n throw new Error(\n `--out must name a directory below the project root ${cwd}, and ${outDirReason(cwd, out, outDir)}. ` +\n \"Pass a path such as --out=docs/reference.\",\n );\n};\n\nexport { docs };\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"depends.d.ts","sourceRoot":"","sources":["../../src/deploy/depends.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,KAAK,SAAS,GAAG;IACb,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,GAAG,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAsDF,QAAA,MAAM,cAAc,GAAI,UAAU,cAAc,EAAE,cAAc,MAAM,GAAG,IAAI,KAAG,SAS/E,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"depends.d.ts","sourceRoot":"","sources":["../../src/deploy/depends.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGjD,KAAK,SAAS,GAAG;IACb,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,GAAG,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAoEF,QAAA,MAAM,cAAc,GAAI,UAAU,cAAc,EAAE,cAAc,MAAM,GAAG,IAAI,KAAG,SAqB/E,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { PACKAGED_SONAMES } from "./node-runtime/sonames.js";
1
2
  const SONAME_SUFFIX = "()(64bit)";
2
3
  const GLES_SONAME = `libGLESv2.so.2${SONAME_SUFFIX}`;
3
4
  const NO_EXTRA = { deb: [], rpm: [] };
@@ -9,6 +10,15 @@ const DEPENDS_BY_LIBRARY = {
9
10
  "Adw-1": { deb: "libadwaita-1-0", rpm: "libadwaita", extra: NO_EXTRA },
10
11
  "Gtk-4.0": { deb: "libgtk-4-1", rpm: "gtk4", extra: { deb: [], rpm: [GLES_SONAME] } },
11
12
  };
13
+ const RUNTIME_PACKAGES = {
14
+ "libatomic.so.1": { deb: "libatomic1", rpm: `libatomic.so.1${SONAME_SUFFIX}` },
15
+ "libgcc_s.so.1": { deb: "libgcc-s1", rpm: `libgcc_s.so.1${SONAME_SUFFIX}` },
16
+ "libstdc++.so.6": { deb: "libstdc++6", rpm: `libstdc++.so.6${SONAME_SUFFIX}` },
17
+ };
18
+ const RUNTIME_DEPENDS = {
19
+ deb: PACKAGED_SONAMES.map((soname) => RUNTIME_PACKAGES[soname].deb),
20
+ rpm: PACKAGED_SONAMES.map((soname) => RUNTIME_PACKAGES[soname].rpm),
21
+ };
12
22
  const debRelation = (name, minimum) => minimum === undefined ? name : `${name} (>= ${minimum})`;
13
23
  const rpmRelation = (name, minimum) => minimum === undefined ? name : `${name} >= ${minimum}`;
14
24
  const libraryDepends = (settings) => {
@@ -34,8 +44,20 @@ const resolveDepends = (settings, glibcMinimum) => {
34
44
  const fromGlibc = glibcDepends(glibcMinimum);
35
45
  const extra = settings.deploy.depends ?? {};
36
46
  return {
37
- deb: dedupe([...fromLibraries.deb, ...BASE_DEPENDS.deb, ...fromGlibc.deb, ...(extra.deb ?? [])]),
38
- rpm: dedupe([...fromLibraries.rpm, ...BASE_DEPENDS.rpm, ...fromGlibc.rpm, ...(extra.rpm ?? [])]),
47
+ deb: dedupe([
48
+ ...fromLibraries.deb,
49
+ ...BASE_DEPENDS.deb,
50
+ ...fromGlibc.deb,
51
+ ...RUNTIME_DEPENDS.deb,
52
+ ...(extra.deb ?? []),
53
+ ]),
54
+ rpm: dedupe([
55
+ ...fromLibraries.rpm,
56
+ ...BASE_DEPENDS.rpm,
57
+ ...fromGlibc.rpm,
58
+ ...RUNTIME_DEPENDS.rpm,
59
+ ...(extra.rpm ?? []),
60
+ ]),
39
61
  };
40
62
  };
41
63
  export { resolveDepends };