@devaloop/devalang 0.0.1-beta.2 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (329) hide show
  1. package/README.md +177 -146
  2. package/out-tsc/api.d.ts +180 -0
  3. package/out-tsc/api.d.ts.map +1 -0
  4. package/out-tsc/api.js +286 -0
  5. package/out-tsc/api.js.map +1 -0
  6. package/out-tsc/bin/index.d.ts +12 -0
  7. package/out-tsc/bin/index.d.ts.map +1 -0
  8. package/out-tsc/bin/index.js +20 -54
  9. package/out-tsc/bin/index.js.map +1 -0
  10. package/out-tsc/examples/basic-usage.d.ts +8 -0
  11. package/out-tsc/examples/basic-usage.d.ts.map +1 -0
  12. package/out-tsc/examples/basic-usage.js +113 -0
  13. package/out-tsc/examples/basic-usage.js.map +1 -0
  14. package/out-tsc/index.d.ts +19 -5
  15. package/out-tsc/index.d.ts.map +1 -0
  16. package/out-tsc/index.js +24 -6
  17. package/out-tsc/index.js.map +1 -0
  18. package/out-tsc/scripts/copy-wasm-dts.d.ts +7 -0
  19. package/out-tsc/scripts/copy-wasm-dts.d.ts.map +1 -0
  20. package/out-tsc/scripts/copy-wasm-dts.js +36 -32
  21. package/out-tsc/scripts/copy-wasm-dts.js.map +1 -0
  22. package/out-tsc/scripts/postinstall.d.ts +1 -0
  23. package/out-tsc/scripts/postinstall.d.ts.map +1 -0
  24. package/out-tsc/scripts/postinstall.js +4 -1
  25. package/out-tsc/scripts/postinstall.js.map +1 -0
  26. package/out-tsc/scripts/version/bump.d.ts +5 -1
  27. package/out-tsc/scripts/version/bump.d.ts.map +1 -0
  28. package/out-tsc/scripts/version/bump.js +114 -44
  29. package/out-tsc/scripts/version/bump.js.map +1 -0
  30. package/out-tsc/scripts/version/fetch.d.ts +12 -1
  31. package/out-tsc/scripts/version/fetch.d.ts.map +1 -0
  32. package/out-tsc/scripts/version/fetch.js +68 -24
  33. package/out-tsc/scripts/version/fetch.js.map +1 -0
  34. package/out-tsc/scripts/version/index.d.ts +6 -0
  35. package/out-tsc/scripts/version/index.d.ts.map +1 -0
  36. package/out-tsc/scripts/version/index.js +44 -22
  37. package/out-tsc/scripts/version/index.js.map +1 -0
  38. package/out-tsc/scripts/version/sync.d.ts +5 -1
  39. package/out-tsc/scripts/version/sync.d.ts.map +1 -0
  40. package/out-tsc/scripts/version/sync.js +78 -29
  41. package/out-tsc/scripts/version/sync.js.map +1 -0
  42. package/out-tsc/types.d.ts +68 -0
  43. package/out-tsc/types.d.ts.map +1 -0
  44. package/out-tsc/{core/types/value.js → types.js} +4 -0
  45. package/out-tsc/types.js.map +1 -0
  46. package/out-tsc/wasm.d.ts +8 -0
  47. package/out-tsc/wasm.d.ts.map +1 -0
  48. package/out-tsc/{core/index.js → wasm.js} +9 -6
  49. package/out-tsc/wasm.js.map +1 -0
  50. package/package.json +50 -37
  51. package/.cargo/config.toml +0 -2
  52. package/.devalang +0 -9
  53. package/.github/workflows/ci.yml +0 -103
  54. package/Cargo.toml +0 -81
  55. package/docs/CHANGELOG.md +0 -581
  56. package/docs/CONTRIBUTING.md +0 -101
  57. package/docs/ROADMAP.md +0 -38
  58. package/docs/TODO.md +0 -71
  59. package/examples/automation.deva +0 -42
  60. package/examples/bank.deva +0 -7
  61. package/examples/bus.deva +0 -10
  62. package/examples/condition.deva +0 -20
  63. package/examples/duration.deva +0 -9
  64. package/examples/effect.deva +0 -2
  65. package/examples/events.deva +0 -12
  66. package/examples/filter.deva +0 -11
  67. package/examples/function.deva +0 -15
  68. package/examples/group.deva +0 -12
  69. package/examples/index.deva +0 -63
  70. package/examples/lfo.deva +0 -9
  71. package/examples/loop.deva +0 -10
  72. package/examples/pattern.deva +0 -8
  73. package/examples/plugin.deva +0 -16
  74. package/examples/samples/hat-808.wav +0 -0
  75. package/examples/samples/kick-808.wav +0 -0
  76. package/examples/synth.deva +0 -24
  77. package/examples/synth_types.deva +0 -17
  78. package/examples/variables.deva +0 -9
  79. package/out-tsc/core/functions/index.d.ts +0 -42
  80. package/out-tsc/core/functions/index.js +0 -87
  81. package/out-tsc/core/index.d.ts +0 -6
  82. package/out-tsc/core/types/index.d.ts +0 -4
  83. package/out-tsc/core/types/index.js +0 -20
  84. package/out-tsc/core/types/plugin.d.ts +0 -18
  85. package/out-tsc/core/types/plugin.js +0 -2
  86. package/out-tsc/core/types/result.d.ts +0 -27
  87. package/out-tsc/core/types/result.js +0 -2
  88. package/out-tsc/core/types/statement.d.ts +0 -106
  89. package/out-tsc/core/types/statement.js +0 -2
  90. package/out-tsc/core/types/value.d.ts +0 -43
  91. package/out-tsc/pkg/devalang_core.d.ts +0 -15
  92. package/out-tsc/pkg/devalang_core.js +0 -65
  93. package/out-tsc/pkg/devalang_core_bg.wasm.d.ts +0 -34
  94. package/project-version.json +0 -6
  95. package/rust/cli/bank/api.rs +0 -122
  96. package/rust/cli/bank/commands.rs +0 -306
  97. package/rust/cli/bank/mod.rs +0 -29
  98. package/rust/cli/build/commands.rs +0 -153
  99. package/rust/cli/build/mod.rs +0 -2
  100. package/rust/cli/build/process.rs +0 -165
  101. package/rust/cli/check/mod.rs +0 -208
  102. package/rust/cli/discover/commands.rs +0 -253
  103. package/rust/cli/discover/config.rs +0 -111
  104. package/rust/cli/discover/fs.rs +0 -19
  105. package/rust/cli/discover/install.rs +0 -103
  106. package/rust/cli/discover/metadata.rs +0 -48
  107. package/rust/cli/discover/mod.rs +0 -5
  108. package/rust/cli/init/commands.rs +0 -88
  109. package/rust/cli/init/mod.rs +0 -1
  110. package/rust/cli/install/addon.rs +0 -118
  111. package/rust/cli/install/bank.rs +0 -72
  112. package/rust/cli/install/commands.rs +0 -35
  113. package/rust/cli/install/mod.rs +0 -4
  114. package/rust/cli/install/plugin.rs +0 -80
  115. package/rust/cli/login/commands.rs +0 -124
  116. package/rust/cli/login/mod.rs +0 -1
  117. package/rust/cli/mod.rs +0 -12
  118. package/rust/cli/parser.rs +0 -359
  119. package/rust/cli/play/commands.rs +0 -375
  120. package/rust/cli/play/io.rs +0 -17
  121. package/rust/cli/play/mod.rs +0 -5
  122. package/rust/cli/play/process.rs +0 -159
  123. package/rust/cli/play/realtime.rs +0 -91
  124. package/rust/cli/play/utils.rs +0 -23
  125. package/rust/cli/telemetry/commands.rs +0 -22
  126. package/rust/cli/telemetry/event_creator.rs +0 -80
  127. package/rust/cli/telemetry/mod.rs +0 -3
  128. package/rust/cli/telemetry/send.rs +0 -51
  129. package/rust/cli/template/commands.rs +0 -69
  130. package/rust/cli/template/mod.rs +0 -1
  131. package/rust/cli/update/commands.rs +0 -6
  132. package/rust/cli/update/mod.rs +0 -1
  133. package/rust/config/driver.rs +0 -112
  134. package/rust/config/mod.rs +0 -3
  135. package/rust/config/ops.rs +0 -26
  136. package/rust/config/settings.rs +0 -101
  137. package/rust/core/audio/engine/driver.rs +0 -220
  138. package/rust/core/audio/engine/export.rs +0 -169
  139. package/rust/core/audio/engine/helpers.rs +0 -178
  140. package/rust/core/audio/engine/mod.rs +0 -56
  141. package/rust/core/audio/engine/notes/dsp.rs +0 -85
  142. package/rust/core/audio/engine/notes/mod.rs +0 -44
  143. package/rust/core/audio/engine/notes/params.rs +0 -294
  144. package/rust/core/audio/engine/sample/insert.rs +0 -199
  145. package/rust/core/audio/engine/sample/mod.rs +0 -40
  146. package/rust/core/audio/engine/sample/padding.rs +0 -170
  147. package/rust/core/audio/evaluator/condition.rs +0 -61
  148. package/rust/core/audio/evaluator/mod.rs +0 -9
  149. package/rust/core/audio/evaluator/numeric.rs +0 -152
  150. package/rust/core/audio/evaluator/rhs.rs +0 -16
  151. package/rust/core/audio/evaluator/string_expr.rs +0 -94
  152. package/rust/core/audio/interpreter/driver.rs +0 -574
  153. package/rust/core/audio/interpreter/mod.rs +0 -2
  154. package/rust/core/audio/interpreter/statements/arrow_call/interprete.rs +0 -175
  155. package/rust/core/audio/interpreter/statements/arrow_call/methods/chord.rs +0 -384
  156. package/rust/core/audio/interpreter/statements/arrow_call/methods/mod.rs +0 -2
  157. package/rust/core/audio/interpreter/statements/arrow_call/methods/note.rs +0 -316
  158. package/rust/core/audio/interpreter/statements/arrow_call/mod.rs +0 -3
  159. package/rust/core/audio/interpreter/statements/arrow_call/types/arp.rs +0 -192
  160. package/rust/core/audio/interpreter/statements/arrow_call/types/mod.rs +0 -24
  161. package/rust/core/audio/interpreter/statements/arrow_call/types/pad.rs +0 -116
  162. package/rust/core/audio/interpreter/statements/arrow_call/types/pluck.rs +0 -97
  163. package/rust/core/audio/interpreter/statements/arrow_call/types/sub.rs +0 -100
  164. package/rust/core/audio/interpreter/statements/automate.rs +0 -16
  165. package/rust/core/audio/interpreter/statements/call.rs +0 -295
  166. package/rust/core/audio/interpreter/statements/condition.rs +0 -72
  167. package/rust/core/audio/interpreter/statements/function.rs +0 -24
  168. package/rust/core/audio/interpreter/statements/let_.rs +0 -36
  169. package/rust/core/audio/interpreter/statements/load.rs +0 -17
  170. package/rust/core/audio/interpreter/statements/loop_.rs +0 -115
  171. package/rust/core/audio/interpreter/statements/mod.rs +0 -12
  172. package/rust/core/audio/interpreter/statements/sleep.rs +0 -28
  173. package/rust/core/audio/interpreter/statements/spawn.rs +0 -253
  174. package/rust/core/audio/interpreter/statements/tempo.rs +0 -40
  175. package/rust/core/audio/interpreter/statements/trigger.rs +0 -239
  176. package/rust/core/audio/loader/mod.rs +0 -1
  177. package/rust/core/audio/loader/trigger.rs +0 -98
  178. package/rust/core/audio/mod.rs +0 -6
  179. package/rust/core/audio/player.rs +0 -70
  180. package/rust/core/audio/special/easing.rs +0 -189
  181. package/rust/core/audio/special/env.rs +0 -45
  182. package/rust/core/audio/special/math.rs +0 -134
  183. package/rust/core/audio/special/mod.rs +0 -9
  184. package/rust/core/audio/special/modulator.rs +0 -143
  185. package/rust/core/builder/mod.rs +0 -129
  186. package/rust/core/debugger/lexer.rs +0 -27
  187. package/rust/core/debugger/logs.rs +0 -52
  188. package/rust/core/debugger/mod.rs +0 -30
  189. package/rust/core/debugger/preprocessor.rs +0 -27
  190. package/rust/core/debugger/store.rs +0 -38
  191. package/rust/core/error/mod.rs +0 -269
  192. package/rust/core/lexer/driver.rs +0 -59
  193. package/rust/core/lexer/handler/arrow.rs +0 -82
  194. package/rust/core/lexer/handler/at.rs +0 -21
  195. package/rust/core/lexer/handler/brace.rs +0 -41
  196. package/rust/core/lexer/handler/colon.rs +0 -21
  197. package/rust/core/lexer/handler/comment.rs +0 -30
  198. package/rust/core/lexer/handler/dot.rs +0 -21
  199. package/rust/core/lexer/handler/driver.rs +0 -337
  200. package/rust/core/lexer/handler/identifier.rs +0 -47
  201. package/rust/core/lexer/handler/indent.rs +0 -66
  202. package/rust/core/lexer/handler/mod.rs +0 -15
  203. package/rust/core/lexer/handler/newline.rs +0 -23
  204. package/rust/core/lexer/handler/number.rs +0 -31
  205. package/rust/core/lexer/handler/operator.rs +0 -46
  206. package/rust/core/lexer/handler/parenthesis.rs +0 -41
  207. package/rust/core/lexer/handler/slash.rs +0 -21
  208. package/rust/core/lexer/handler/string.rs +0 -63
  209. package/rust/core/lexer/mod.rs +0 -3
  210. package/rust/core/lexer/token.rs +0 -91
  211. package/rust/core/mod.rs +0 -9
  212. package/rust/core/parser/driver/block.rs +0 -111
  213. package/rust/core/parser/driver/cursor.rs +0 -82
  214. package/rust/core/parser/driver/driver_impl.rs +0 -139
  215. package/rust/core/parser/driver/mod.rs +0 -6
  216. package/rust/core/parser/driver/parse_array.rs +0 -120
  217. package/rust/core/parser/driver/parse_map.rs +0 -223
  218. package/rust/core/parser/driver/parser.rs +0 -160
  219. package/rust/core/parser/handler/arrow_call.rs +0 -277
  220. package/rust/core/parser/handler/at.rs +0 -279
  221. package/rust/core/parser/handler/bank.rs +0 -104
  222. package/rust/core/parser/handler/condition.rs +0 -83
  223. package/rust/core/parser/handler/dot.rs +0 -148
  224. package/rust/core/parser/handler/identifier/automate.rs +0 -254
  225. package/rust/core/parser/handler/identifier/call.rs +0 -91
  226. package/rust/core/parser/handler/identifier/emit.rs +0 -70
  227. package/rust/core/parser/handler/identifier/function.rs +0 -113
  228. package/rust/core/parser/handler/identifier/group.rs +0 -89
  229. package/rust/core/parser/handler/identifier/let_.rs +0 -173
  230. package/rust/core/parser/handler/identifier/mod.rs +0 -55
  231. package/rust/core/parser/handler/identifier/on.rs +0 -107
  232. package/rust/core/parser/handler/identifier/print.rs +0 -49
  233. package/rust/core/parser/handler/identifier/sleep.rs +0 -96
  234. package/rust/core/parser/handler/identifier/spawn.rs +0 -91
  235. package/rust/core/parser/handler/identifier/synth.rs +0 -135
  236. package/rust/core/parser/handler/loop_.rs +0 -194
  237. package/rust/core/parser/handler/mod.rs +0 -9
  238. package/rust/core/parser/handler/pattern.rs +0 -74
  239. package/rust/core/parser/handler/tempo.rs +0 -105
  240. package/rust/core/parser/mod.rs +0 -3
  241. package/rust/core/parser/statement.rs +0 -10
  242. package/rust/core/plugin/loader.rs +0 -137
  243. package/rust/core/plugin/mod.rs +0 -2
  244. package/rust/core/plugin/runner/mod.rs +0 -11
  245. package/rust/core/plugin/runner/non_wasm.rs +0 -297
  246. package/rust/core/plugin/runner/wasm32.rs +0 -43
  247. package/rust/core/preprocessor/loader/inject.rs +0 -278
  248. package/rust/core/preprocessor/loader/loader_helpers.rs +0 -110
  249. package/rust/core/preprocessor/loader/mod.rs +0 -235
  250. package/rust/core/preprocessor/mod.rs +0 -4
  251. package/rust/core/preprocessor/module.rs +0 -55
  252. package/rust/core/preprocessor/processor/handlers.rs +0 -107
  253. package/rust/core/preprocessor/processor/mod.rs +0 -1
  254. package/rust/core/preprocessor/resolver/bank.rs +0 -49
  255. package/rust/core/preprocessor/resolver/call.rs +0 -124
  256. package/rust/core/preprocessor/resolver/condition.rs +0 -95
  257. package/rust/core/preprocessor/resolver/driver.rs +0 -324
  258. package/rust/core/preprocessor/resolver/function.rs +0 -69
  259. package/rust/core/preprocessor/resolver/group.rs +0 -122
  260. package/rust/core/preprocessor/resolver/let_.rs +0 -32
  261. package/rust/core/preprocessor/resolver/loop_.rs +0 -318
  262. package/rust/core/preprocessor/resolver/mod.rs +0 -16
  263. package/rust/core/preprocessor/resolver/pattern.rs +0 -83
  264. package/rust/core/preprocessor/resolver/spawn.rs +0 -99
  265. package/rust/core/preprocessor/resolver/synth.rs +0 -54
  266. package/rust/core/preprocessor/resolver/tempo.rs +0 -48
  267. package/rust/core/preprocessor/resolver/trigger.rs +0 -116
  268. package/rust/core/preprocessor/resolver/value.rs +0 -176
  269. package/rust/core/store/global.rs +0 -57
  270. package/rust/core/store/mod.rs +0 -1
  271. package/rust/lib.rs +0 -323
  272. package/rust/main.rs +0 -388
  273. package/rust/types/Cargo.toml +0 -11
  274. package/rust/types/src/addons.rs +0 -55
  275. package/rust/types/src/ast.rs +0 -202
  276. package/rust/types/src/config.rs +0 -84
  277. package/rust/types/src/lib.rs +0 -15
  278. package/rust/types/src/plugin.rs +0 -20
  279. package/rust/types/src/store.rs +0 -139
  280. package/rust/types/src/telemetry.rs +0 -85
  281. package/rust/utils/Cargo.toml +0 -26
  282. package/rust/utils/src/error.rs +0 -186
  283. package/rust/utils/src/file.rs +0 -94
  284. package/rust/utils/src/first_usage.rs +0 -97
  285. package/rust/utils/src/lib.rs +0 -9
  286. package/rust/utils/src/logger.rs +0 -200
  287. package/rust/utils/src/path.rs +0 -129
  288. package/rust/utils/src/signature.rs +0 -41
  289. package/rust/utils/src/spinner.rs +0 -20
  290. package/rust/utils/src/version.rs +0 -27
  291. package/rust/utils/src/watcher.rs +0 -46
  292. package/rust/web/api.rs +0 -5
  293. package/rust/web/cdn.rs +0 -34
  294. package/rust/web/mod.rs +0 -3
  295. package/rust/web/sso.rs +0 -5
  296. package/templates/minimal/.devalang +0 -5
  297. package/templates/minimal/README.md +0 -218
  298. package/templates/minimal/src/index.deva +0 -2
  299. package/templates/welcome/.devalang +0 -5
  300. package/templates/welcome/README.md +0 -218
  301. package/templates/welcome/samples/kick-808.wav +0 -0
  302. package/templates/welcome/src/index.deva +0 -61
  303. package/templates/welcome/src/variables.deva +0 -3
  304. package/tests/integration.rs +0 -21
  305. package/tests/rust/cli_check_build.rs +0 -21
  306. package/tests/rust/cli_help.rs +0 -12
  307. package/tests/rust/cli_template_list.rs +0 -10
  308. package/tests/rust/cli_version.rs +0 -11
  309. package/tests/typescript/index.spec.ts +0 -136
  310. package/tests/typescript/playhead.spec.ts +0 -36
  311. package/tests/typescript/render_e2e.spec.ts +0 -77
  312. package/tsconfig.json +0 -115
  313. package/typescript/bin/index.ts +0 -28
  314. package/typescript/core/functions/index.ts +0 -94
  315. package/typescript/core/index.ts +0 -6
  316. package/typescript/core/types/index.ts +0 -4
  317. package/typescript/core/types/plugin.ts +0 -19
  318. package/typescript/core/types/result.ts +0 -29
  319. package/typescript/core/types/statement.ts +0 -47
  320. package/typescript/core/types/value.ts +0 -29
  321. package/typescript/index.ts +0 -8
  322. package/typescript/pkg/devalang_core.d.ts +0 -4
  323. package/typescript/pkg/devalang_core.ts +0 -65
  324. package/typescript/scripts/copy-wasm-dts.ts +0 -41
  325. package/typescript/scripts/postinstall.ts +0 -85
  326. package/typescript/scripts/version/bump.ts +0 -44
  327. package/typescript/scripts/version/fetch.ts +0 -18
  328. package/typescript/scripts/version/index.ts +0 -25
  329. package/typescript/scripts/version/sync.ts +0 -24
@@ -1,65 +0,0 @@
1
- /**
2
- * Shim TypeScript source that re-exports the runtime wasm-pack package when
3
- * available, or provides safe stubs when not present. Compiles to
4
- * out-tsc/pkg/devalang_core.js so compiled code can require("./pkg/devalang_core").
5
- */
6
- let runtimePkg: any;
7
- try {
8
- // prefer runtime pkg generated by wasm-pack when available
9
- // require at runtime so the package can be used even if wasm hasn't been built
10
- // (this keeps tests and consumers robust).
11
- // eslint-disable-next-line @typescript-eslint/no-var-requires
12
- runtimePkg = require("../../pkg/devalang_core");
13
- } catch (e) {
14
- runtimePkg = undefined;
15
- }
16
-
17
- export function parse(...args: any[]) {
18
- if (runtimePkg && typeof runtimePkg.parse === "function")
19
- return runtimePkg.parse(...args);
20
- throw new Error("WASM package not built: pkg/devalang_core not found");
21
- }
22
-
23
- export function debug_render(...args: any[]) {
24
- if (runtimePkg && typeof runtimePkg.debug_render === "function")
25
- return runtimePkg.debug_render(...args);
26
- throw new Error("WASM package not built: pkg/devalang_core not found");
27
- }
28
-
29
- export function render_audio(...args: any[]) {
30
- if (runtimePkg && typeof runtimePkg.render_audio === "function")
31
- return runtimePkg.render_audio(...args);
32
- return new Float32Array(0);
33
- }
34
-
35
- export function register_playhead_callback(cb?: any) {
36
- if (runtimePkg && typeof runtimePkg.register_playhead_callback === "function")
37
- return runtimePkg.register_playhead_callback(cb);
38
- return;
39
- }
40
-
41
- export function collect_playhead_events() {
42
- if (runtimePkg && typeof runtimePkg.collect_playhead_events === "function") {
43
- return runtimePkg.collect_playhead_events();
44
- }
45
- return [];
46
- }
47
-
48
- export function unregister_playhead_callback() {
49
- if (
50
- runtimePkg &&
51
- typeof runtimePkg.unregister_playhead_callback === "function"
52
- )
53
- return runtimePkg.unregister_playhead_callback();
54
- return;
55
- }
56
-
57
- const pkg = {
58
- parse,
59
- debug_render,
60
- render_audio,
61
- register_playhead_callback,
62
- collect_playhead_events,
63
- unregister_playhead_callback,
64
- };
65
- export default pkg;
@@ -1,41 +0,0 @@
1
- import * as fs from 'fs';
2
- import * as path from 'path';
3
-
4
- // Copies .d.ts files from pkg/ (wasm-pack output) into out-tsc/pkg/
5
- const ROOT = path.resolve(__dirname, '..', '..');
6
- const PKG_DIR = path.join(ROOT, 'pkg');
7
- const OUT_DIR = path.join(ROOT, 'out-tsc', 'pkg');
8
-
9
- function ensureDir(p: string): void {
10
- if (!fs.existsSync(p)) fs.mkdirSync(p, { recursive: true });
11
- }
12
-
13
- function copyDir(src: string, dest: string): void {
14
- ensureDir(dest);
15
- const items = fs.readdirSync(src, { withFileTypes: true });
16
- for (const item of items) {
17
- const srcPath = path.join(src, item.name);
18
- const destPath = path.join(dest, item.name);
19
- if (item.isDirectory()) {
20
- copyDir(srcPath, destPath);
21
- } else if (item.isFile() && item.name.endsWith('.d.ts')) {
22
- fs.copyFileSync(srcPath, destPath);
23
- console.log('copied', srcPath, '->', destPath);
24
- }
25
- }
26
- }
27
-
28
- function main(): number {
29
- if (!fs.existsSync(PKG_DIR)) {
30
- console.error('pkg directory not found at', PKG_DIR);
31
- return 1;
32
- }
33
-
34
- ensureDir(OUT_DIR);
35
- copyDir(PKG_DIR, OUT_DIR);
36
- console.log('done');
37
- return 0;
38
- }
39
-
40
- const exitCode = main();
41
- if (exitCode !== 0) process.exit(exitCode);
@@ -1,85 +0,0 @@
1
- import { createWriteStream, mkdirSync } from "fs";
2
- import { join } from "path";
3
- import { https } from "follow-redirects";
4
- import fs from "fs";
5
- import path from "path";
6
-
7
- const projectVersionPath = path.join(__dirname, "../../project-version.json");
8
- let versionString = "";
9
- try {
10
- if (!fs.existsSync(projectVersionPath)) {
11
- console.warn(`⚠️ project-version.json not found at ${projectVersionPath}. Skipping postinstall binary download.`);
12
- } else {
13
- const version = fs.readFileSync(projectVersionPath, "utf-8").trim();
14
- try {
15
- versionString = JSON.parse(version).version;
16
- } catch (e: any) {
17
- console.warn(`⚠️ Failed to parse project-version.json: ${e.message}. Skipping binary download.`);
18
- versionString = "";
19
- }
20
- }
21
- } catch (e: any) {
22
- console.warn(`⚠️ Could not read project-version.json: ${e.message}. Skipping binary download.`);
23
- versionString = "";
24
- }
25
-
26
- const platform = process.platform;
27
-
28
- let binaryName: string = "";
29
-
30
- switch (platform) {
31
- case "win32":
32
- binaryName = "devalang-x86_64-pc-windows-msvc.exe";
33
- break;
34
- case "darwin":
35
- binaryName = "devalang-x86_64-apple-darwin";
36
- break;
37
- case "linux":
38
- binaryName = "devalang-x86_64-unknown-linux-gnu";
39
- break;
40
- }
41
-
42
- if (binaryName !== "" && versionString) {
43
- const destDir = join(__dirname, "..", "..", "out-tsc", "bin");
44
- const dest = join(destDir, binaryName);
45
- const url = `https://github.com/devaloop-labs/devalang/releases/download/v${versionString}/${binaryName}`;
46
-
47
- mkdirSync(destDir, { recursive: true });
48
-
49
- console.log(`⬇️ Downloading ${binaryName} from ${url}`);
50
-
51
- const req = https.get(url, (res: any) => {
52
- if (res.statusCode === 404) {
53
- console.warn(`⚠️ Asset not found (HTTP 404). Skipping binary download.`);
54
- res.resume();
55
- return;
56
- }
57
-
58
- if (res.statusCode !== 200) {
59
- console.warn(`⚠️ Failed (HTTP ${res.statusCode}). Skipping binary download.`);
60
- res.resume();
61
- return;
62
- }
63
-
64
- const file = createWriteStream(dest, { mode: 0o755 });
65
- res.pipe(file);
66
- file.on("finish", () => {
67
- file.close();
68
- console.log(`✅ Downloaded ${binaryName} to ${dest}`);
69
- });
70
- });
71
-
72
- req.setTimeout(30000, () => {
73
- console.warn(`⚠️ Download timed out after 30s. Skipping binary download for ${binaryName}.`);
74
- try {
75
- req.destroy();
76
- } catch (e) {}
77
- });
78
-
79
- req.on("error", (err: any) => {
80
- // Network or other errors should not fail CI; log and continue
81
- console.warn(`⚠️ Error downloading binary: ${err.message}. Skipping binary download.`);
82
- });
83
- } else {
84
- console.warn(`⚠️ Unsupported platform: ${platform}. Skipping binary download.`);
85
- }
@@ -1,44 +0,0 @@
1
- import fs from "fs";
2
-
3
- export const bumpVersion = async (bumpType: string, projectVersionPath: string) => {
4
- const versionData = JSON.parse(fs.readFileSync(projectVersionPath, "utf-8"));
5
-
6
- const versionRegex = /^(\d+)\.(\d+)\.(\d+)(?:-([\w.]+))?$/;
7
- const match = versionData.version.match(versionRegex);
8
-
9
- if (!match) {
10
- throw new Error("Invalid version format in project-version.json");
11
- }
12
-
13
- if (!bumpType) {
14
- console.error("❌ Please specify a version type (major, minor, patch, pre)");
15
- process.exit(1);
16
- }
17
-
18
- let [_, major, minor, patch, pre] = match;
19
- let nextVersion = "";
20
-
21
- switch (bumpType) {
22
- case "major":
23
- nextVersion = `${+major + 1}.0.0`;
24
- break;
25
- case "minor":
26
- nextVersion = `${major}.${+minor + 1}.0`;
27
- break;
28
- case "patch":
29
- nextVersion = `${major}.${minor}.${+patch + 1}`;
30
- break;
31
- case "pre":
32
- const [preid, prenumber] = (pre || "alpha.0").split(".");
33
- nextVersion = `${major}.${minor}.${patch}-${preid}.${+prenumber + 1}`;
34
- break;
35
- default:
36
- console.error("❌ Version type non-recognized (major, minor, patch, pre)");
37
- process.exit(1);
38
- }
39
-
40
- versionData.version = nextVersion;
41
- fs.writeFileSync(projectVersionPath, JSON.stringify(versionData, null, 2));
42
-
43
- return nextVersion;
44
- }
@@ -1,18 +0,0 @@
1
- import fs from "fs";
2
- import { execSync } from "child_process";
3
-
4
- export const fetchVersion = async (projectVersionPath: string) => {
5
- const data = JSON.parse(fs.readFileSync(projectVersionPath, "utf-8"));
6
-
7
- data.build = (data.build || 0) + 1;
8
-
9
- try {
10
- const commit = execSync("git rev-parse HEAD").toString().trim();
11
- data.lastCommit = commit;
12
- } catch (err) {
13
- console.warn("⚠️ Unable to fetch git commit hash. Ensure you are in a git repository.");
14
- }
15
-
16
- fs.writeFileSync(projectVersionPath, JSON.stringify(data, null, 2));
17
- }
18
-
@@ -1,25 +0,0 @@
1
- import path from "path";
2
-
3
- import { bumpVersion } from "./bump";
4
- import { syncVersion } from "./sync";
5
- import { fetchVersion } from "./fetch";
6
-
7
- const bumpType = process.argv[2] || "patch";
8
-
9
- (async () => {
10
- const projectVersionPath = path.join(__dirname, "../../../project-version.json");
11
-
12
- try {
13
- const newVersion = await bumpVersion(bumpType, projectVersionPath);
14
-
15
- await fetchVersion(projectVersionPath);
16
- await syncVersion(projectVersionPath);
17
-
18
- console.log(`✅ Project version updated to : ${newVersion}`);
19
- }
20
- catch (error) {
21
- console.error(`❌ Error updating project version: ${error}`);
22
- process.exit(1);
23
- }
24
-
25
- })();
@@ -1,24 +0,0 @@
1
- import fs from "fs";
2
- import path from "path";
3
-
4
- export const syncVersion = async (projectVersionPath: string) => {
5
- const version = fs.readFileSync(projectVersionPath, "utf-8").trim();
6
- const versionString = JSON.parse(version).version;
7
-
8
- // Package.json
9
- const pkgPath = path.join(__dirname, "..", "..", "..", "package.json");
10
- const pkgJson = JSON.parse(fs.readFileSync(pkgPath, "utf-8"));
11
- pkgJson.version = versionString;
12
-
13
- fs.writeFileSync(pkgPath, JSON.stringify(pkgJson, null, 2));
14
-
15
- // Cargo.toml
16
- const cargoPath = path.join(__dirname, "..", "..", "..", "Cargo.toml");
17
- const cargoToml = fs.readFileSync(cargoPath, "utf-8");
18
- const updatedCargo = cargoToml.replace(
19
- /(version\s*=\s*")[^"]*(")/,
20
- `$1${versionString}$2`
21
- );
22
-
23
- fs.writeFileSync(cargoPath, updatedCargo);
24
- }