@devaloop/devalang 0.0.1-beta.3 → 0.1.2

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 (346) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +251 -221
  3. package/out-tsc/api.d.ts +180 -0
  4. package/out-tsc/api.d.ts.map +1 -0
  5. package/out-tsc/api.js +286 -0
  6. package/out-tsc/api.js.map +1 -0
  7. package/out-tsc/bin/index.d.ts +12 -0
  8. package/out-tsc/bin/index.d.ts.map +1 -0
  9. package/out-tsc/bin/index.js +20 -54
  10. package/out-tsc/bin/index.js.map +1 -0
  11. package/out-tsc/examples/basic-usage.d.ts +8 -0
  12. package/out-tsc/examples/basic-usage.d.ts.map +1 -0
  13. package/out-tsc/examples/basic-usage.js +113 -0
  14. package/out-tsc/examples/basic-usage.js.map +1 -0
  15. package/out-tsc/index.d.ts +19 -5
  16. package/out-tsc/index.d.ts.map +1 -0
  17. package/out-tsc/index.js +24 -6
  18. package/out-tsc/index.js.map +1 -0
  19. package/out-tsc/scripts/copy-wasm-dts.d.ts +7 -0
  20. package/out-tsc/scripts/copy-wasm-dts.d.ts.map +1 -0
  21. package/out-tsc/scripts/copy-wasm-dts.js +36 -32
  22. package/out-tsc/scripts/copy-wasm-dts.js.map +1 -0
  23. package/out-tsc/scripts/postinstall.d.ts +1 -0
  24. package/out-tsc/scripts/postinstall.d.ts.map +1 -0
  25. package/out-tsc/scripts/postinstall.js +4 -1
  26. package/out-tsc/scripts/postinstall.js.map +1 -0
  27. package/out-tsc/scripts/version/bump.d.ts +5 -1
  28. package/out-tsc/scripts/version/bump.d.ts.map +1 -0
  29. package/out-tsc/scripts/version/bump.js +122 -44
  30. package/out-tsc/scripts/version/bump.js.map +1 -0
  31. package/out-tsc/scripts/version/fetch.d.ts +12 -1
  32. package/out-tsc/scripts/version/fetch.d.ts.map +1 -0
  33. package/out-tsc/scripts/version/fetch.js +68 -24
  34. package/out-tsc/scripts/version/fetch.js.map +1 -0
  35. package/out-tsc/scripts/version/index.d.ts +6 -0
  36. package/out-tsc/scripts/version/index.d.ts.map +1 -0
  37. package/out-tsc/scripts/version/index.js +44 -22
  38. package/out-tsc/scripts/version/index.js.map +1 -0
  39. package/out-tsc/scripts/version/sync.d.ts +5 -1
  40. package/out-tsc/scripts/version/sync.d.ts.map +1 -0
  41. package/out-tsc/scripts/version/sync.js +95 -29
  42. package/out-tsc/scripts/version/sync.js.map +1 -0
  43. package/out-tsc/types.d.ts +68 -0
  44. package/out-tsc/types.d.ts.map +1 -0
  45. package/out-tsc/{core/types/value.js → types.js} +4 -0
  46. package/out-tsc/types.js.map +1 -0
  47. package/out-tsc/wasm.d.ts +8 -0
  48. package/out-tsc/wasm.d.ts.map +1 -0
  49. package/out-tsc/{core/index.js → wasm.js} +9 -6
  50. package/out-tsc/wasm.js.map +1 -0
  51. package/package.json +42 -42
  52. package/.cargo/config.toml +0 -2
  53. package/.devalang +0 -9
  54. package/.github/workflows/ci.yml +0 -103
  55. package/Cargo.toml +0 -84
  56. package/docs/CHANGELOG.md +0 -622
  57. package/docs/CONTRIBUTING.md +0 -101
  58. package/docs/ROADMAP.md +0 -38
  59. package/docs/TODO.md +0 -71
  60. package/examples/automation.deva +0 -42
  61. package/examples/bank.deva +0 -7
  62. package/examples/bus.deva +0 -10
  63. package/examples/chain.deva +0 -19
  64. package/examples/condition.deva +0 -20
  65. package/examples/duration.deva +0 -9
  66. package/examples/effect.deva +0 -2
  67. package/examples/events.deva +0 -12
  68. package/examples/filter.deva +0 -11
  69. package/examples/function.deva +0 -15
  70. package/examples/group.deva +0 -12
  71. package/examples/index.deva +0 -63
  72. package/examples/lfo.deva +0 -9
  73. package/examples/loop.deva +0 -10
  74. package/examples/pattern.deva +0 -8
  75. package/examples/plugin.deva +0 -16
  76. package/examples/routing.deva +0 -23
  77. package/examples/samples/hat-808.wav +0 -0
  78. package/examples/samples/kick-808.wav +0 -0
  79. package/examples/synth.deva +0 -24
  80. package/examples/synth_types.deva +0 -17
  81. package/examples/variables.deva +0 -9
  82. package/out-tsc/bin/project-version.json +0 -6
  83. package/out-tsc/core/functions/index.d.ts +0 -42
  84. package/out-tsc/core/functions/index.js +0 -87
  85. package/out-tsc/core/index.d.ts +0 -6
  86. package/out-tsc/core/types/index.d.ts +0 -4
  87. package/out-tsc/core/types/index.js +0 -20
  88. package/out-tsc/core/types/plugin.d.ts +0 -18
  89. package/out-tsc/core/types/plugin.js +0 -2
  90. package/out-tsc/core/types/result.d.ts +0 -27
  91. package/out-tsc/core/types/result.js +0 -2
  92. package/out-tsc/core/types/statement.d.ts +0 -106
  93. package/out-tsc/core/types/statement.js +0 -2
  94. package/out-tsc/core/types/value.d.ts +0 -43
  95. package/out-tsc/pkg/devalang_core.d.ts +0 -15
  96. package/out-tsc/pkg/devalang_core.js +0 -65
  97. package/out-tsc/pkg/devalang_core_bg.wasm.d.ts +0 -34
  98. package/out-tsc/scripts/version/copy-to-binary.d.ts +0 -1
  99. package/out-tsc/scripts/version/copy-to-binary.js +0 -79
  100. package/project-version.json +0 -6
  101. package/rust/bindings/Cargo.toml +0 -9
  102. package/rust/bindings/src/lib.rs +0 -86
  103. package/rust/cli/addon/commands.rs +0 -35
  104. package/rust/cli/addon/download.rs +0 -234
  105. package/rust/cli/addon/install.rs +0 -33
  106. package/rust/cli/addon/list.rs +0 -224
  107. package/rust/cli/addon/metadata.rs +0 -124
  108. package/rust/cli/addon/mod.rs +0 -8
  109. package/rust/cli/addon/remove.rs +0 -271
  110. package/rust/cli/addon/update.rs +0 -305
  111. package/rust/cli/addon/utils.rs +0 -109
  112. package/rust/cli/build/commands.rs +0 -153
  113. package/rust/cli/build/mod.rs +0 -2
  114. package/rust/cli/build/process.rs +0 -165
  115. package/rust/cli/check/mod.rs +0 -208
  116. package/rust/cli/discover/commands.rs +0 -275
  117. package/rust/cli/discover/config.rs +0 -109
  118. package/rust/cli/discover/fs.rs +0 -19
  119. package/rust/cli/discover/install.rs +0 -214
  120. package/rust/cli/discover/metadata.rs +0 -48
  121. package/rust/cli/discover/mod.rs +0 -5
  122. package/rust/cli/init/commands.rs +0 -88
  123. package/rust/cli/init/mod.rs +0 -1
  124. package/rust/cli/login/commands.rs +0 -124
  125. package/rust/cli/login/mod.rs +0 -1
  126. package/rust/cli/me/commands.rs +0 -52
  127. package/rust/cli/me/mod.rs +0 -1
  128. package/rust/cli/mod.rs +0 -12
  129. package/rust/cli/parser.rs +0 -320
  130. package/rust/cli/play/commands.rs +0 -375
  131. package/rust/cli/play/io.rs +0 -17
  132. package/rust/cli/play/mod.rs +0 -5
  133. package/rust/cli/play/process.rs +0 -159
  134. package/rust/cli/play/realtime.rs +0 -91
  135. package/rust/cli/play/utils.rs +0 -23
  136. package/rust/cli/telemetry/commands.rs +0 -22
  137. package/rust/cli/telemetry/event_creator.rs +0 -80
  138. package/rust/cli/telemetry/mod.rs +0 -3
  139. package/rust/cli/telemetry/send.rs +0 -51
  140. package/rust/cli/template/commands.rs +0 -69
  141. package/rust/cli/template/mod.rs +0 -1
  142. package/rust/cli/update/commands.rs +0 -6
  143. package/rust/cli/update/mod.rs +0 -1
  144. package/rust/config/driver.rs +0 -112
  145. package/rust/config/mod.rs +0 -3
  146. package/rust/config/ops.rs +0 -26
  147. package/rust/config/settings.rs +0 -101
  148. package/rust/core/audio/engine/driver.rs +0 -237
  149. package/rust/core/audio/engine/export.rs +0 -169
  150. package/rust/core/audio/engine/helpers.rs +0 -178
  151. package/rust/core/audio/engine/mod.rs +0 -56
  152. package/rust/core/audio/engine/notes/dsp.rs +0 -88
  153. package/rust/core/audio/engine/notes/mod.rs +0 -53
  154. package/rust/core/audio/engine/notes/params.rs +0 -294
  155. package/rust/core/audio/engine/sample/insert.rs +0 -300
  156. package/rust/core/audio/engine/sample/mod.rs +0 -40
  157. package/rust/core/audio/engine/sample/padding.rs +0 -170
  158. package/rust/core/audio/evaluator/condition.rs +0 -61
  159. package/rust/core/audio/evaluator/mod.rs +0 -9
  160. package/rust/core/audio/evaluator/numeric.rs +0 -152
  161. package/rust/core/audio/evaluator/rhs.rs +0 -16
  162. package/rust/core/audio/evaluator/string_expr.rs +0 -94
  163. package/rust/core/audio/interpreter/driver.rs +0 -574
  164. package/rust/core/audio/interpreter/mod.rs +0 -2
  165. package/rust/core/audio/interpreter/statements/arrow_call/interprete.rs +0 -179
  166. package/rust/core/audio/interpreter/statements/arrow_call/methods/chord.rs +0 -398
  167. package/rust/core/audio/interpreter/statements/arrow_call/methods/effects.rs +0 -323
  168. package/rust/core/audio/interpreter/statements/arrow_call/methods/mod.rs +0 -3
  169. package/rust/core/audio/interpreter/statements/arrow_call/methods/note.rs +0 -371
  170. package/rust/core/audio/interpreter/statements/arrow_call/mod.rs +0 -3
  171. package/rust/core/audio/interpreter/statements/arrow_call/types/arp.rs +0 -192
  172. package/rust/core/audio/interpreter/statements/arrow_call/types/mod.rs +0 -24
  173. package/rust/core/audio/interpreter/statements/arrow_call/types/pad.rs +0 -116
  174. package/rust/core/audio/interpreter/statements/arrow_call/types/pluck.rs +0 -97
  175. package/rust/core/audio/interpreter/statements/arrow_call/types/sub.rs +0 -100
  176. package/rust/core/audio/interpreter/statements/automate.rs +0 -16
  177. package/rust/core/audio/interpreter/statements/call.rs +0 -325
  178. package/rust/core/audio/interpreter/statements/condition.rs +0 -72
  179. package/rust/core/audio/interpreter/statements/function.rs +0 -24
  180. package/rust/core/audio/interpreter/statements/let_.rs +0 -36
  181. package/rust/core/audio/interpreter/statements/load.rs +0 -17
  182. package/rust/core/audio/interpreter/statements/loop_.rs +0 -115
  183. package/rust/core/audio/interpreter/statements/mod.rs +0 -12
  184. package/rust/core/audio/interpreter/statements/sleep.rs +0 -28
  185. package/rust/core/audio/interpreter/statements/spawn.rs +0 -302
  186. package/rust/core/audio/interpreter/statements/tempo.rs +0 -40
  187. package/rust/core/audio/interpreter/statements/trigger.rs +0 -242
  188. package/rust/core/audio/loader/mod.rs +0 -1
  189. package/rust/core/audio/loader/trigger.rs +0 -98
  190. package/rust/core/audio/mod.rs +0 -6
  191. package/rust/core/audio/player.rs +0 -70
  192. package/rust/core/audio/special/easing.rs +0 -189
  193. package/rust/core/audio/special/env.rs +0 -45
  194. package/rust/core/audio/special/math.rs +0 -134
  195. package/rust/core/audio/special/mod.rs +0 -9
  196. package/rust/core/audio/special/modulator.rs +0 -143
  197. package/rust/core/builder/mod.rs +0 -129
  198. package/rust/core/debugger/lexer.rs +0 -27
  199. package/rust/core/debugger/logs.rs +0 -52
  200. package/rust/core/debugger/mod.rs +0 -30
  201. package/rust/core/debugger/preprocessor.rs +0 -27
  202. package/rust/core/debugger/store.rs +0 -38
  203. package/rust/core/error/mod.rs +0 -269
  204. package/rust/core/lexer/driver.rs +0 -59
  205. package/rust/core/lexer/handler/arrow.rs +0 -82
  206. package/rust/core/lexer/handler/at.rs +0 -21
  207. package/rust/core/lexer/handler/brace.rs +0 -41
  208. package/rust/core/lexer/handler/colon.rs +0 -21
  209. package/rust/core/lexer/handler/comment.rs +0 -30
  210. package/rust/core/lexer/handler/dot.rs +0 -21
  211. package/rust/core/lexer/handler/driver.rs +0 -337
  212. package/rust/core/lexer/handler/identifier.rs +0 -47
  213. package/rust/core/lexer/handler/indent.rs +0 -66
  214. package/rust/core/lexer/handler/mod.rs +0 -15
  215. package/rust/core/lexer/handler/newline.rs +0 -23
  216. package/rust/core/lexer/handler/number.rs +0 -31
  217. package/rust/core/lexer/handler/operator.rs +0 -46
  218. package/rust/core/lexer/handler/parenthesis.rs +0 -41
  219. package/rust/core/lexer/handler/slash.rs +0 -21
  220. package/rust/core/lexer/handler/string.rs +0 -63
  221. package/rust/core/lexer/mod.rs +0 -3
  222. package/rust/core/lexer/token.rs +0 -91
  223. package/rust/core/mod.rs +0 -9
  224. package/rust/core/parser/driver/block.rs +0 -111
  225. package/rust/core/parser/driver/cursor.rs +0 -82
  226. package/rust/core/parser/driver/driver_impl.rs +0 -159
  227. package/rust/core/parser/driver/mod.rs +0 -6
  228. package/rust/core/parser/driver/parse_array.rs +0 -120
  229. package/rust/core/parser/driver/parse_map.rs +0 -247
  230. package/rust/core/parser/driver/parser.rs +0 -160
  231. package/rust/core/parser/handler/arrow_call.rs +0 -328
  232. package/rust/core/parser/handler/at.rs +0 -279
  233. package/rust/core/parser/handler/bank.rs +0 -104
  234. package/rust/core/parser/handler/condition.rs +0 -83
  235. package/rust/core/parser/handler/dot.rs +0 -148
  236. package/rust/core/parser/handler/identifier/automate.rs +0 -254
  237. package/rust/core/parser/handler/identifier/call.rs +0 -91
  238. package/rust/core/parser/handler/identifier/emit.rs +0 -70
  239. package/rust/core/parser/handler/identifier/function.rs +0 -113
  240. package/rust/core/parser/handler/identifier/group.rs +0 -89
  241. package/rust/core/parser/handler/identifier/let_.rs +0 -173
  242. package/rust/core/parser/handler/identifier/mod.rs +0 -55
  243. package/rust/core/parser/handler/identifier/on.rs +0 -107
  244. package/rust/core/parser/handler/identifier/print.rs +0 -49
  245. package/rust/core/parser/handler/identifier/sleep.rs +0 -96
  246. package/rust/core/parser/handler/identifier/spawn.rs +0 -91
  247. package/rust/core/parser/handler/identifier/synth.rs +0 -171
  248. package/rust/core/parser/handler/loop_.rs +0 -194
  249. package/rust/core/parser/handler/mod.rs +0 -9
  250. package/rust/core/parser/handler/pattern.rs +0 -97
  251. package/rust/core/parser/handler/tempo.rs +0 -105
  252. package/rust/core/parser/mod.rs +0 -3
  253. package/rust/core/parser/statement.rs +0 -10
  254. package/rust/core/plugin/loader.rs +0 -137
  255. package/rust/core/plugin/mod.rs +0 -2
  256. package/rust/core/plugin/runner/mod.rs +0 -11
  257. package/rust/core/plugin/runner/non_wasm.rs +0 -481
  258. package/rust/core/plugin/runner/wasm32.rs +0 -44
  259. package/rust/core/preprocessor/loader/inject.rs +0 -313
  260. package/rust/core/preprocessor/loader/loader_helpers.rs +0 -110
  261. package/rust/core/preprocessor/loader/mod.rs +0 -235
  262. package/rust/core/preprocessor/mod.rs +0 -4
  263. package/rust/core/preprocessor/module.rs +0 -55
  264. package/rust/core/preprocessor/processor/handlers.rs +0 -107
  265. package/rust/core/preprocessor/processor/mod.rs +0 -1
  266. package/rust/core/preprocessor/resolver/bank.rs +0 -49
  267. package/rust/core/preprocessor/resolver/call.rs +0 -124
  268. package/rust/core/preprocessor/resolver/condition.rs +0 -95
  269. package/rust/core/preprocessor/resolver/driver.rs +0 -324
  270. package/rust/core/preprocessor/resolver/function.rs +0 -69
  271. package/rust/core/preprocessor/resolver/group.rs +0 -122
  272. package/rust/core/preprocessor/resolver/let_.rs +0 -32
  273. package/rust/core/preprocessor/resolver/loop_.rs +0 -318
  274. package/rust/core/preprocessor/resolver/mod.rs +0 -16
  275. package/rust/core/preprocessor/resolver/pattern.rs +0 -95
  276. package/rust/core/preprocessor/resolver/spawn.rs +0 -99
  277. package/rust/core/preprocessor/resolver/synth.rs +0 -54
  278. package/rust/core/preprocessor/resolver/tempo.rs +0 -48
  279. package/rust/core/preprocessor/resolver/trigger.rs +0 -116
  280. package/rust/core/preprocessor/resolver/value.rs +0 -176
  281. package/rust/core/store/global.rs +0 -57
  282. package/rust/core/store/mod.rs +0 -1
  283. package/rust/lib.rs +0 -323
  284. package/rust/macros/Cargo.toml +0 -14
  285. package/rust/macros/src/lib.rs +0 -52
  286. package/rust/main.rs +0 -557
  287. package/rust/types/Cargo.toml +0 -11
  288. package/rust/types/src/addons.rs +0 -57
  289. package/rust/types/src/ast.rs +0 -202
  290. package/rust/types/src/config.rs +0 -82
  291. package/rust/types/src/lib.rs +0 -15
  292. package/rust/types/src/plugin.rs +0 -20
  293. package/rust/types/src/store.rs +0 -139
  294. package/rust/types/src/telemetry.rs +0 -85
  295. package/rust/utils/Cargo.toml +0 -29
  296. package/rust/utils/src/error.rs +0 -186
  297. package/rust/utils/src/file.rs +0 -477
  298. package/rust/utils/src/first_usage.rs +0 -97
  299. package/rust/utils/src/lib.rs +0 -9
  300. package/rust/utils/src/logger.rs +0 -200
  301. package/rust/utils/src/path.rs +0 -158
  302. package/rust/utils/src/signature.rs +0 -41
  303. package/rust/utils/src/spinner.rs +0 -20
  304. package/rust/utils/src/version.rs +0 -58
  305. package/rust/utils/src/watcher.rs +0 -46
  306. package/rust/web/api.rs +0 -5
  307. package/rust/web/auth.rs +0 -5
  308. package/rust/web/cdn.rs +0 -34
  309. package/rust/web/forge.rs +0 -5
  310. package/rust/web/mod.rs +0 -5
  311. package/rust/web/sso.rs +0 -5
  312. package/templates/minimal/.devalang +0 -5
  313. package/templates/minimal/README.md +0 -218
  314. package/templates/minimal/src/index.deva +0 -2
  315. package/templates/welcome/.devalang +0 -5
  316. package/templates/welcome/README.md +0 -218
  317. package/templates/welcome/samples/kick-808.wav +0 -0
  318. package/templates/welcome/src/index.deva +0 -61
  319. package/templates/welcome/src/variables.deva +0 -3
  320. package/tests/integration.rs +0 -21
  321. package/tests/rust/cli_check_build.rs +0 -21
  322. package/tests/rust/cli_help.rs +0 -12
  323. package/tests/rust/cli_template_list.rs +0 -10
  324. package/tests/rust/cli_version.rs +0 -11
  325. package/tests/typescript/index.spec.ts +0 -136
  326. package/tests/typescript/playhead.spec.ts +0 -36
  327. package/tests/typescript/render_e2e.spec.ts +0 -77
  328. package/tsconfig.json +0 -115
  329. package/typescript/bin/index.ts +0 -28
  330. package/typescript/core/functions/index.ts +0 -94
  331. package/typescript/core/index.ts +0 -6
  332. package/typescript/core/types/index.ts +0 -4
  333. package/typescript/core/types/plugin.ts +0 -19
  334. package/typescript/core/types/result.ts +0 -29
  335. package/typescript/core/types/statement.ts +0 -47
  336. package/typescript/core/types/value.ts +0 -29
  337. package/typescript/index.ts +0 -8
  338. package/typescript/pkg/devalang_core.d.ts +0 -4
  339. package/typescript/pkg/devalang_core.ts +0 -65
  340. package/typescript/scripts/copy-wasm-dts.ts +0 -41
  341. package/typescript/scripts/postinstall.ts +0 -85
  342. package/typescript/scripts/version/bump.ts +0 -44
  343. package/typescript/scripts/version/copy-to-binary.ts +0 -82
  344. package/typescript/scripts/version/fetch.ts +0 -18
  345. package/typescript/scripts/version/index.ts +0 -25
  346. package/typescript/scripts/version/sync.ts +0 -24
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ /**
3
+ * Example: Using Devalang TypeScript API
4
+ *
5
+ * This example demonstrates how to use the Devalang API
6
+ * to parse, render, and export audio.
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
21
+ }) : function(o, v) {
22
+ o["default"] = v;
23
+ });
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ const devalang = __importStar(require("../index"));
43
+ async function main() {
44
+ console.log('🎵 Devalang TypeScript API Example\n');
45
+ // 1. Parse Devalang code
46
+ console.log('1️⃣ Parsing code...');
47
+ const parseResult = await devalang.parse('example.deva', `
48
+ bpm 120
49
+ let s = synth sine {}
50
+ s -> note(C4, { duration: 500 })
51
+ `);
52
+ if (parseResult.success) {
53
+ console.log(`✅ Parsed ${parseResult.statements.length} statements\n`);
54
+ }
55
+ else {
56
+ console.error('❌ Parse errors:', parseResult.errors);
57
+ return;
58
+ }
59
+ // 2. Render audio
60
+ console.log('2️⃣ Rendering audio...');
61
+ const audioCode = `
62
+ bpm 120
63
+ let mySynth = synth sine {
64
+ attack: 0.01,
65
+ release: 0.3
66
+ }
67
+ mySynth -> note(A4, { duration: 1000, velocity: 80 })
68
+ `;
69
+ const audioBuffer = await devalang.renderAudio(audioCode, {
70
+ sampleRate: 44100,
71
+ bpm: 120
72
+ });
73
+ console.log(`✅ Rendered ${audioBuffer.length} samples (${(audioBuffer.length / 44100).toFixed(2)}s)\n`);
74
+ // 3. Debug render with metadata
75
+ console.log('3️⃣ Debug render...');
76
+ const debugResult = await devalang.debugRender(audioCode);
77
+ console.log(`📊 Metadata:`);
78
+ console.log(` - Duration: ${debugResult.duration.toFixed(2)}s`);
79
+ console.log(` - Sample Rate: ${debugResult.sampleRate} Hz`);
80
+ console.log(` - Events: ${debugResult.eventCount}`);
81
+ console.log(` - BPM: ${debugResult.bpm}\n`);
82
+ // 4. Export MIDI
83
+ console.log('4️⃣ Exporting MIDI...');
84
+ const midiCode = `
85
+ bpm 140
86
+ let piano = synth sine {}
87
+ piano -> note(C4, { duration: 500 })
88
+ piano -> note(E4, { duration: 500 })
89
+ piano -> note(G4, { duration: 1000 })
90
+ `;
91
+ const midiBytes = await devalang.renderMidi(midiCode, {
92
+ bpm: 140
93
+ });
94
+ console.log(`✅ Exported MIDI: ${midiBytes.length} bytes\n`);
95
+ // 5. Export WAV
96
+ console.log('5️⃣ Exporting WAV...');
97
+ const wavBytes = await devalang.renderWavPreview(audioCode);
98
+ console.log(`✅ Exported WAV: ${wavBytes.length} bytes\n`);
99
+ // 6. Get metadata without rendering
100
+ console.log('6️⃣ Getting code metadata...');
101
+ const metadata = await devalang.getCodeMetadata(audioCode);
102
+ console.log(`📝 Code info:`);
103
+ console.log(` - Statements: ${metadata.statementCount}`);
104
+ console.log(` - BPM: ${metadata.bpm}`);
105
+ console.log(` - Sample Rate: ${metadata.sampleRate} Hz\n`);
106
+ console.log('✨ Example completed successfully!');
107
+ }
108
+ // Run example
109
+ main().catch(error => {
110
+ console.error('❌ Error:', error);
111
+ process.exit(1);
112
+ });
113
+ //# sourceMappingURL=basic-usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basic-usage.js","sourceRoot":"","sources":["../../src/typescript/examples/basic-usage.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,21 @@
1
1
  /**
2
- * Public TypeScript definitions for Devalang.
3
- * ————————————————————————————————————————
4
- * Used to provide TypeScript types for the Devalang WASM package.
2
+ * @devaloop/devalang - TypeScript API
3
+ *
4
+ * Main entry point for the Devalang TypeScript/JavaScript API.
5
+ * Provides access to WASM bindings and high-level wrappers.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import * as devalang from '@devaloop/devalang';
10
+ *
11
+ * // Parse Devalang code
12
+ * const result = devalang.parse('test.deva', 'bpm 120\nsleep 1b');
13
+ *
14
+ * // Render audio
15
+ * const audioBuffer = devalang.renderAudio('bpm 120\nlet s = synth sine {}\ns -> note(C4, { duration: 500 })');
16
+ * ```
5
17
  */
6
- export * as pkg from "./pkg/devalang_core";
7
- export * as core from "./core/index";
18
+ export * from './api';
19
+ export * from './types';
20
+ export * as wasm from './wasm';
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/typescript/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AAGxB,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC"}
package/out-tsc/index.js CHANGED
@@ -1,8 +1,20 @@
1
1
  "use strict";
2
2
  /**
3
- * Public TypeScript definitions for Devalang.
4
- * ————————————————————————————————————————
5
- * Used to provide TypeScript types for the Devalang WASM package.
3
+ * @devaloop/devalang - TypeScript API
4
+ *
5
+ * Main entry point for the Devalang TypeScript/JavaScript API.
6
+ * Provides access to WASM bindings and high-level wrappers.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * import * as devalang from '@devaloop/devalang';
11
+ *
12
+ * // Parse Devalang code
13
+ * const result = devalang.parse('test.deva', 'bpm 120\nsleep 1b');
14
+ *
15
+ * // Render audio
16
+ * const audioBuffer = devalang.renderAudio('bpm 120\nlet s = synth sine {}\ns -> note(C4, { duration: 500 })');
17
+ * ```
6
18
  */
7
19
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
20
  if (k2 === undefined) k2 = k;
@@ -20,6 +32,9 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
20
32
  }) : function(o, v) {
21
33
  o["default"] = v;
22
34
  });
35
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
36
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
37
+ };
23
38
  var __importStar = (this && this.__importStar) || (function () {
24
39
  var ownKeys = function(o) {
25
40
  ownKeys = Object.getOwnPropertyNames || function (o) {
@@ -38,6 +53,9 @@ var __importStar = (this && this.__importStar) || (function () {
38
53
  };
39
54
  })();
40
55
  Object.defineProperty(exports, "__esModule", { value: true });
41
- exports.core = exports.pkg = void 0;
42
- exports.pkg = __importStar(require("./pkg/devalang_core"));
43
- exports.core = __importStar(require("./core/index"));
56
+ exports.wasm = void 0;
57
+ __exportStar(require("./api"), exports);
58
+ __exportStar(require("./types"), exports);
59
+ // Re-export WASM bindings (when built)
60
+ exports.wasm = __importStar(require("./wasm"));
61
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/typescript/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,wCAAsB;AACtB,0CAAwB;AAExB,uCAAuC;AACvC,+CAA+B"}
@@ -1 +1,8 @@
1
+ /**
2
+ * Copy WASM TypeScript definitions
3
+ *
4
+ * This script copies the generated .d.ts files from wasm-pack build
5
+ * to a more accessible location for TypeScript consumption.
6
+ */
1
7
  export {};
8
+ //# sourceMappingURL=copy-wasm-dts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy-wasm-dts.d.ts","sourceRoot":"","sources":["../../src/typescript/scripts/copy-wasm-dts.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -1,4 +1,10 @@
1
1
  "use strict";
2
+ /**
3
+ * Copy WASM TypeScript definitions
4
+ *
5
+ * This script copies the generated .d.ts files from wasm-pack build
6
+ * to a more accessible location for TypeScript consumption.
7
+ */
2
8
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
9
  if (k2 === undefined) k2 = k;
4
10
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -35,39 +41,37 @@ var __importStar = (this && this.__importStar) || (function () {
35
41
  Object.defineProperty(exports, "__esModule", { value: true });
36
42
  const fs = __importStar(require("fs"));
37
43
  const path = __importStar(require("path"));
38
- // Copies .d.ts files from pkg/ (wasm-pack output) into out-tsc/pkg/
39
- const ROOT = path.resolve(__dirname, '..', '..');
40
- const PKG_DIR = path.join(ROOT, 'pkg');
41
- const OUT_DIR = path.join(ROOT, 'out-tsc', 'pkg');
42
- function ensureDir(p) {
43
- if (!fs.existsSync(p))
44
- fs.mkdirSync(p, { recursive: true });
45
- }
46
- function copyDir(src, dest) {
47
- ensureDir(dest);
48
- const items = fs.readdirSync(src, { withFileTypes: true });
49
- for (const item of items) {
50
- const srcPath = path.join(src, item.name);
51
- const destPath = path.join(dest, item.name);
52
- if (item.isDirectory()) {
53
- copyDir(srcPath, destPath);
44
+ const PKG_DIRS = ['pkg/web', 'pkg/node'];
45
+ const OUTPUT_DIR = 'typescript/generated';
46
+ function copyWasmDts() {
47
+ console.log('📦 Copying WASM TypeScript definitions...\n');
48
+ // Create output directory
49
+ if (!fs.existsSync(OUTPUT_DIR)) {
50
+ fs.mkdirSync(OUTPUT_DIR, { recursive: true });
51
+ }
52
+ for (const pkgDir of PKG_DIRS) {
53
+ const pkgPath = path.join(process.cwd(), pkgDir);
54
+ if (!fs.existsSync(pkgPath)) {
55
+ console.log(`⚠️ ${pkgDir} not found - skipping`);
56
+ continue;
54
57
  }
55
- else if (item.isFile() && item.name.endsWith('.d.ts')) {
56
- fs.copyFileSync(srcPath, destPath);
57
- console.log('copied', srcPath, '->', destPath);
58
+ // Find .d.ts files
59
+ const files = fs.readdirSync(pkgPath);
60
+ const dtsFiles = files.filter(f => f.endsWith('.d.ts'));
61
+ if (dtsFiles.length === 0) {
62
+ console.log(`⚠️ No .d.ts files found in ${pkgDir}`);
63
+ continue;
64
+ }
65
+ for (const file of dtsFiles) {
66
+ const sourcePath = path.join(pkgPath, file);
67
+ const targetName = file.replace('.d.ts', `_${path.basename(pkgDir)}.d.ts`);
68
+ const targetPath = path.join(OUTPUT_DIR, targetName);
69
+ fs.copyFileSync(sourcePath, targetPath);
70
+ console.log(`✅ Copied ${file} → ${targetName}`);
58
71
  }
59
72
  }
73
+ console.log('\n✨ Done!\n');
60
74
  }
61
- function main() {
62
- if (!fs.existsSync(PKG_DIR)) {
63
- console.error('pkg directory not found at', PKG_DIR);
64
- return 1;
65
- }
66
- ensureDir(OUT_DIR);
67
- copyDir(PKG_DIR, OUT_DIR);
68
- console.log('done');
69
- return 0;
70
- }
71
- const exitCode = main();
72
- if (exitCode !== 0)
73
- process.exit(exitCode);
75
+ // Run
76
+ copyWasmDts();
77
+ //# sourceMappingURL=copy-wasm-dts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy-wasm-dts.js","sourceRoot":"","sources":["../../src/typescript/scripts/copy-wasm-dts.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAE7B,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;AACzC,MAAM,UAAU,GAAG,sBAAsB,CAAC;AAE1C,SAAS,WAAW;IAClB,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAE3D,0BAA0B;IAC1B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;QAEjD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,OAAO,MAAM,uBAAuB,CAAC,CAAC;YAClD,SAAS;QACX,CAAC;QAED,mBAAmB;QACnB,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAExD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,+BAA+B,MAAM,EAAE,CAAC,CAAC;YACrD,SAAS;QACX,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAErD,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,MAAM,UAAU,EAAE,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM;AACN,WAAW,EAAE,CAAC"}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=postinstall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postinstall.d.ts","sourceRoot":"","sources":["../../src/typescript/scripts/postinstall.ts"],"names":[],"mappings":""}
@@ -8,6 +8,7 @@ const path_1 = require("path");
8
8
  const follow_redirects_1 = require("follow-redirects");
9
9
  const fs_2 = __importDefault(require("fs"));
10
10
  const path_2 = __importDefault(require("path"));
11
+ // From out-tsc/scripts/ we need to go up 2 levels to reach project root
11
12
  const projectVersionPath = path_2.default.join(__dirname, "../../project-version.json");
12
13
  let versionString = "";
13
14
  try {
@@ -43,7 +44,8 @@ switch (platform) {
43
44
  break;
44
45
  }
45
46
  if (binaryName !== "" && versionString) {
46
- const destDir = (0, path_1.join)(__dirname, "..", "..", "out-tsc", "bin");
47
+ // From out-tsc/scripts/ we need to go up 2 levels to reach project root
48
+ const destDir = (0, path_1.join)(__dirname, "../../out-tsc/bin");
47
49
  const dest = (0, path_1.join)(destDir, binaryName);
48
50
  const url = `https://github.com/devaloop-labs/devalang/releases/download/v${versionString}/${binaryName}`;
49
51
  (0, fs_1.mkdirSync)(destDir, { recursive: true });
@@ -81,3 +83,4 @@ if (binaryName !== "" && versionString) {
81
83
  else {
82
84
  console.warn(`⚠️ Unsupported platform: ${platform}. Skipping binary download.`);
83
85
  }
86
+ //# sourceMappingURL=postinstall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postinstall.js","sourceRoot":"","sources":["../../src/typescript/scripts/postinstall.ts"],"names":[],"mappings":"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"}
@@ -1 +1,5 @@
1
- export declare const bumpVersion: (bumpType: string, projectVersionPath: string) => Promise<string>;
1
+ /**
2
+ * Bumps the version across all project files
3
+ */
4
+ export declare function bumpVersion(type: 'major' | 'minor' | 'patch' | 'pre', preTag?: string): Promise<string>;
5
+ //# sourceMappingURL=bump.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bump.d.ts","sourceRoot":"","sources":["../../../src/typescript/scripts/version/bump.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,EACzC,MAAM,GAAE,MAAe,GACtB,OAAO,CAAC,MAAM,CAAC,CA0GjB"}
@@ -1,52 +1,130 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.bumpVersion = void 0;
16
- const fs_1 = __importDefault(require("fs"));
17
- const bumpVersion = (bumpType, projectVersionPath) => __awaiter(void 0, void 0, void 0, function* () {
18
- const versionData = JSON.parse(fs_1.default.readFileSync(projectVersionPath, "utf-8"));
19
- const versionRegex = /^(\d+)\.(\d+)\.(\d+)(?:-([\w.]+))?$/;
20
- const match = versionData.version.match(versionRegex);
21
- if (!match) {
22
- throw new Error("Invalid version format in project-version.json");
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
23
7
  }
24
- if (!bumpType) {
25
- console.error("❌ Please specify a version type (major, minor, patch, pre)");
26
- process.exit(1);
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.bumpVersion = bumpVersion;
37
+ const fs = __importStar(require("fs"));
38
+ const path = __importStar(require("path"));
39
+ const child_process_1 = require("child_process");
40
+ /**
41
+ * Bumps the version across all project files
42
+ */
43
+ async function bumpVersion(type, preTag = 'beta') {
44
+ const rootPath = path.resolve(__dirname, '../../../..');
45
+ // Read current versions
46
+ const packageJsonPath = path.join(rootPath, 'package.json');
47
+ const cargoTomlPath = path.join(rootPath, 'Cargo.toml');
48
+ const projectVersionPath = path.join(rootPath, 'project-version.json');
49
+ const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
50
+ const currentVersion = packageJson.version;
51
+ // Parse version
52
+ const versionMatch = currentVersion.match(/^(\d+)\.(\d+)\.(\d+)(?:-(.+))?$/);
53
+ if (!versionMatch) {
54
+ throw new Error(`Invalid version format: ${currentVersion}`);
27
55
  }
28
- let [_, major, minor, patch, pre] = match;
29
- let nextVersion = "";
30
- switch (bumpType) {
31
- case "major":
32
- nextVersion = `${+major + 1}.0.0`;
56
+ let [, major, minor, patch, pre] = versionMatch;
57
+ let majorNum = parseInt(major);
58
+ let minorNum = parseInt(minor);
59
+ let patchNum = parseInt(patch);
60
+ // Calculate new version
61
+ let newVersion;
62
+ let channel = 'stable';
63
+ switch (type) {
64
+ case 'major':
65
+ majorNum++;
66
+ minorNum = 0;
67
+ patchNum = 0;
68
+ newVersion = `${majorNum}.${minorNum}.${patchNum}`;
33
69
  break;
34
- case "minor":
35
- nextVersion = `${major}.${+minor + 1}.0`;
70
+ case 'minor':
71
+ minorNum++;
72
+ patchNum = 0;
73
+ newVersion = `${majorNum}.${minorNum}.${patchNum}`;
36
74
  break;
37
- case "patch":
38
- nextVersion = `${major}.${minor}.${+patch + 1}`;
75
+ case 'patch':
76
+ patchNum++;
77
+ newVersion = `${majorNum}.${minorNum}.${patchNum}`;
39
78
  break;
40
- case "pre":
41
- const [preid, prenumber] = (pre || "alpha.0").split(".");
42
- nextVersion = `${major}.${minor}.${patch}-${preid}.${+prenumber + 1}`;
79
+ case 'pre':
80
+ const preVersion = pre ? parseInt(pre.split('.')[1] || '0') + 1 : 0;
81
+ newVersion = `${majorNum}.${minorNum}.${patchNum}-${preTag}.${preVersion}`;
82
+ channel = preTag;
43
83
  break;
44
- default:
45
- console.error("❌ Version type non-recognized (major, minor, patch, pre)");
46
- process.exit(1);
47
84
  }
48
- versionData.version = nextVersion;
49
- fs_1.default.writeFileSync(projectVersionPath, JSON.stringify(versionData, null, 2));
50
- return nextVersion;
51
- });
52
- exports.bumpVersion = bumpVersion;
85
+ // Get git commit hash
86
+ let commit;
87
+ try {
88
+ commit = (0, child_process_1.execSync)('git rev-parse --short HEAD', { encoding: 'utf-8' }).trim();
89
+ }
90
+ catch (error) {
91
+ console.warn('⚠️ Could not get git commit hash');
92
+ }
93
+ // Update package.json
94
+ packageJson.version = newVersion;
95
+ fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2) + '\n');
96
+ console.log(`✅ Updated package.json to ${newVersion}`);
97
+ // Update Cargo.toml
98
+ let cargoToml = fs.readFileSync(cargoTomlPath, 'utf-8');
99
+ cargoToml = cargoToml.replace(/version = "[\d\.]+-?[a-z\.]*\d*"/, `version = "${newVersion}"`);
100
+ fs.writeFileSync(cargoTomlPath, cargoToml);
101
+ console.log(`✅ Updated Cargo.toml to ${newVersion}`);
102
+ // Update project-version.json
103
+ const projectVersion = {
104
+ version: newVersion,
105
+ channel,
106
+ build: 1, // Reset build number on version bump
107
+ commit
108
+ };
109
+ fs.writeFileSync(projectVersionPath, JSON.stringify(projectVersion, null, 2) + '\n');
110
+ console.log(`✅ Updated project-version.json to ${newVersion}`);
111
+ // Update installer/windows/devalang.wxs (WiX installer)
112
+ const wixFilePath = path.join(rootPath, 'installer', 'windows', 'devalang.wxs');
113
+ if (fs.existsSync(wixFilePath)) {
114
+ try {
115
+ let wixContent = fs.readFileSync(wixFilePath, 'utf-8');
116
+ // Update ProductVersion in the <?define ?> section
117
+ wixContent = wixContent.replace(/<\?define ProductVersion="[\d\.]+\-?[a-z\.]*\d*" \?>/, `<` + `?define ProductVersion="${newVersion}" ?` + `>`);
118
+ fs.writeFileSync(wixFilePath, wixContent);
119
+ console.log(`✅ Updated installer/windows/devalang.wxs to ${newVersion}`);
120
+ }
121
+ catch (error) {
122
+ console.warn('⚠️ Could not update installer/windows/devalang.wxs:', error);
123
+ }
124
+ }
125
+ else {
126
+ console.warn('⚠️ installer/windows/devalang.wxs not found, skipping');
127
+ }
128
+ return newVersion;
129
+ }
130
+ //# sourceMappingURL=bump.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bump.js","sourceRoot":"","sources":["../../../src/typescript/scripts/version/bump.ts"],"names":[],"mappings":"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"}
@@ -1 +1,12 @@
1
- export declare const fetchVersion: (projectVersionPath: string) => Promise<void>;
1
+ interface ProjectVersion {
2
+ version: string;
3
+ channel: 'stable' | 'preview' | 'beta' | 'alpha';
4
+ build: number;
5
+ commit?: string;
6
+ }
7
+ /**
8
+ * Fetches current version information and increments build number
9
+ */
10
+ export declare function fetchVersion(): Promise<ProjectVersion>;
11
+ export {};
12
+ //# sourceMappingURL=fetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/typescript/scripts/version/fetch.ts"],"names":[],"mappings":"AAIA,UAAU,cAAc;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,cAAc,CAAC,CAmC5D"}