@devaloop/devalang 0.0.1-beta.3 → 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 (345) hide show
  1. package/README.md +182 -152
  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 +42 -42
  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 -84
  55. package/docs/CHANGELOG.md +0 -622
  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/chain.deva +0 -19
  63. package/examples/condition.deva +0 -20
  64. package/examples/duration.deva +0 -9
  65. package/examples/effect.deva +0 -2
  66. package/examples/events.deva +0 -12
  67. package/examples/filter.deva +0 -11
  68. package/examples/function.deva +0 -15
  69. package/examples/group.deva +0 -12
  70. package/examples/index.deva +0 -63
  71. package/examples/lfo.deva +0 -9
  72. package/examples/loop.deva +0 -10
  73. package/examples/pattern.deva +0 -8
  74. package/examples/plugin.deva +0 -16
  75. package/examples/routing.deva +0 -23
  76. package/examples/samples/hat-808.wav +0 -0
  77. package/examples/samples/kick-808.wav +0 -0
  78. package/examples/synth.deva +0 -24
  79. package/examples/synth_types.deva +0 -17
  80. package/examples/variables.deva +0 -9
  81. package/out-tsc/bin/project-version.json +0 -6
  82. package/out-tsc/core/functions/index.d.ts +0 -42
  83. package/out-tsc/core/functions/index.js +0 -87
  84. package/out-tsc/core/index.d.ts +0 -6
  85. package/out-tsc/core/types/index.d.ts +0 -4
  86. package/out-tsc/core/types/index.js +0 -20
  87. package/out-tsc/core/types/plugin.d.ts +0 -18
  88. package/out-tsc/core/types/plugin.js +0 -2
  89. package/out-tsc/core/types/result.d.ts +0 -27
  90. package/out-tsc/core/types/result.js +0 -2
  91. package/out-tsc/core/types/statement.d.ts +0 -106
  92. package/out-tsc/core/types/statement.js +0 -2
  93. package/out-tsc/core/types/value.d.ts +0 -43
  94. package/out-tsc/pkg/devalang_core.d.ts +0 -15
  95. package/out-tsc/pkg/devalang_core.js +0 -65
  96. package/out-tsc/pkg/devalang_core_bg.wasm.d.ts +0 -34
  97. package/out-tsc/scripts/version/copy-to-binary.d.ts +0 -1
  98. package/out-tsc/scripts/version/copy-to-binary.js +0 -79
  99. package/project-version.json +0 -6
  100. package/rust/bindings/Cargo.toml +0 -9
  101. package/rust/bindings/src/lib.rs +0 -86
  102. package/rust/cli/addon/commands.rs +0 -35
  103. package/rust/cli/addon/download.rs +0 -234
  104. package/rust/cli/addon/install.rs +0 -33
  105. package/rust/cli/addon/list.rs +0 -224
  106. package/rust/cli/addon/metadata.rs +0 -124
  107. package/rust/cli/addon/mod.rs +0 -8
  108. package/rust/cli/addon/remove.rs +0 -271
  109. package/rust/cli/addon/update.rs +0 -305
  110. package/rust/cli/addon/utils.rs +0 -109
  111. package/rust/cli/build/commands.rs +0 -153
  112. package/rust/cli/build/mod.rs +0 -2
  113. package/rust/cli/build/process.rs +0 -165
  114. package/rust/cli/check/mod.rs +0 -208
  115. package/rust/cli/discover/commands.rs +0 -275
  116. package/rust/cli/discover/config.rs +0 -109
  117. package/rust/cli/discover/fs.rs +0 -19
  118. package/rust/cli/discover/install.rs +0 -214
  119. package/rust/cli/discover/metadata.rs +0 -48
  120. package/rust/cli/discover/mod.rs +0 -5
  121. package/rust/cli/init/commands.rs +0 -88
  122. package/rust/cli/init/mod.rs +0 -1
  123. package/rust/cli/login/commands.rs +0 -124
  124. package/rust/cli/login/mod.rs +0 -1
  125. package/rust/cli/me/commands.rs +0 -52
  126. package/rust/cli/me/mod.rs +0 -1
  127. package/rust/cli/mod.rs +0 -12
  128. package/rust/cli/parser.rs +0 -320
  129. package/rust/cli/play/commands.rs +0 -375
  130. package/rust/cli/play/io.rs +0 -17
  131. package/rust/cli/play/mod.rs +0 -5
  132. package/rust/cli/play/process.rs +0 -159
  133. package/rust/cli/play/realtime.rs +0 -91
  134. package/rust/cli/play/utils.rs +0 -23
  135. package/rust/cli/telemetry/commands.rs +0 -22
  136. package/rust/cli/telemetry/event_creator.rs +0 -80
  137. package/rust/cli/telemetry/mod.rs +0 -3
  138. package/rust/cli/telemetry/send.rs +0 -51
  139. package/rust/cli/template/commands.rs +0 -69
  140. package/rust/cli/template/mod.rs +0 -1
  141. package/rust/cli/update/commands.rs +0 -6
  142. package/rust/cli/update/mod.rs +0 -1
  143. package/rust/config/driver.rs +0 -112
  144. package/rust/config/mod.rs +0 -3
  145. package/rust/config/ops.rs +0 -26
  146. package/rust/config/settings.rs +0 -101
  147. package/rust/core/audio/engine/driver.rs +0 -237
  148. package/rust/core/audio/engine/export.rs +0 -169
  149. package/rust/core/audio/engine/helpers.rs +0 -178
  150. package/rust/core/audio/engine/mod.rs +0 -56
  151. package/rust/core/audio/engine/notes/dsp.rs +0 -88
  152. package/rust/core/audio/engine/notes/mod.rs +0 -53
  153. package/rust/core/audio/engine/notes/params.rs +0 -294
  154. package/rust/core/audio/engine/sample/insert.rs +0 -300
  155. package/rust/core/audio/engine/sample/mod.rs +0 -40
  156. package/rust/core/audio/engine/sample/padding.rs +0 -170
  157. package/rust/core/audio/evaluator/condition.rs +0 -61
  158. package/rust/core/audio/evaluator/mod.rs +0 -9
  159. package/rust/core/audio/evaluator/numeric.rs +0 -152
  160. package/rust/core/audio/evaluator/rhs.rs +0 -16
  161. package/rust/core/audio/evaluator/string_expr.rs +0 -94
  162. package/rust/core/audio/interpreter/driver.rs +0 -574
  163. package/rust/core/audio/interpreter/mod.rs +0 -2
  164. package/rust/core/audio/interpreter/statements/arrow_call/interprete.rs +0 -179
  165. package/rust/core/audio/interpreter/statements/arrow_call/methods/chord.rs +0 -398
  166. package/rust/core/audio/interpreter/statements/arrow_call/methods/effects.rs +0 -323
  167. package/rust/core/audio/interpreter/statements/arrow_call/methods/mod.rs +0 -3
  168. package/rust/core/audio/interpreter/statements/arrow_call/methods/note.rs +0 -371
  169. package/rust/core/audio/interpreter/statements/arrow_call/mod.rs +0 -3
  170. package/rust/core/audio/interpreter/statements/arrow_call/types/arp.rs +0 -192
  171. package/rust/core/audio/interpreter/statements/arrow_call/types/mod.rs +0 -24
  172. package/rust/core/audio/interpreter/statements/arrow_call/types/pad.rs +0 -116
  173. package/rust/core/audio/interpreter/statements/arrow_call/types/pluck.rs +0 -97
  174. package/rust/core/audio/interpreter/statements/arrow_call/types/sub.rs +0 -100
  175. package/rust/core/audio/interpreter/statements/automate.rs +0 -16
  176. package/rust/core/audio/interpreter/statements/call.rs +0 -325
  177. package/rust/core/audio/interpreter/statements/condition.rs +0 -72
  178. package/rust/core/audio/interpreter/statements/function.rs +0 -24
  179. package/rust/core/audio/interpreter/statements/let_.rs +0 -36
  180. package/rust/core/audio/interpreter/statements/load.rs +0 -17
  181. package/rust/core/audio/interpreter/statements/loop_.rs +0 -115
  182. package/rust/core/audio/interpreter/statements/mod.rs +0 -12
  183. package/rust/core/audio/interpreter/statements/sleep.rs +0 -28
  184. package/rust/core/audio/interpreter/statements/spawn.rs +0 -302
  185. package/rust/core/audio/interpreter/statements/tempo.rs +0 -40
  186. package/rust/core/audio/interpreter/statements/trigger.rs +0 -242
  187. package/rust/core/audio/loader/mod.rs +0 -1
  188. package/rust/core/audio/loader/trigger.rs +0 -98
  189. package/rust/core/audio/mod.rs +0 -6
  190. package/rust/core/audio/player.rs +0 -70
  191. package/rust/core/audio/special/easing.rs +0 -189
  192. package/rust/core/audio/special/env.rs +0 -45
  193. package/rust/core/audio/special/math.rs +0 -134
  194. package/rust/core/audio/special/mod.rs +0 -9
  195. package/rust/core/audio/special/modulator.rs +0 -143
  196. package/rust/core/builder/mod.rs +0 -129
  197. package/rust/core/debugger/lexer.rs +0 -27
  198. package/rust/core/debugger/logs.rs +0 -52
  199. package/rust/core/debugger/mod.rs +0 -30
  200. package/rust/core/debugger/preprocessor.rs +0 -27
  201. package/rust/core/debugger/store.rs +0 -38
  202. package/rust/core/error/mod.rs +0 -269
  203. package/rust/core/lexer/driver.rs +0 -59
  204. package/rust/core/lexer/handler/arrow.rs +0 -82
  205. package/rust/core/lexer/handler/at.rs +0 -21
  206. package/rust/core/lexer/handler/brace.rs +0 -41
  207. package/rust/core/lexer/handler/colon.rs +0 -21
  208. package/rust/core/lexer/handler/comment.rs +0 -30
  209. package/rust/core/lexer/handler/dot.rs +0 -21
  210. package/rust/core/lexer/handler/driver.rs +0 -337
  211. package/rust/core/lexer/handler/identifier.rs +0 -47
  212. package/rust/core/lexer/handler/indent.rs +0 -66
  213. package/rust/core/lexer/handler/mod.rs +0 -15
  214. package/rust/core/lexer/handler/newline.rs +0 -23
  215. package/rust/core/lexer/handler/number.rs +0 -31
  216. package/rust/core/lexer/handler/operator.rs +0 -46
  217. package/rust/core/lexer/handler/parenthesis.rs +0 -41
  218. package/rust/core/lexer/handler/slash.rs +0 -21
  219. package/rust/core/lexer/handler/string.rs +0 -63
  220. package/rust/core/lexer/mod.rs +0 -3
  221. package/rust/core/lexer/token.rs +0 -91
  222. package/rust/core/mod.rs +0 -9
  223. package/rust/core/parser/driver/block.rs +0 -111
  224. package/rust/core/parser/driver/cursor.rs +0 -82
  225. package/rust/core/parser/driver/driver_impl.rs +0 -159
  226. package/rust/core/parser/driver/mod.rs +0 -6
  227. package/rust/core/parser/driver/parse_array.rs +0 -120
  228. package/rust/core/parser/driver/parse_map.rs +0 -247
  229. package/rust/core/parser/driver/parser.rs +0 -160
  230. package/rust/core/parser/handler/arrow_call.rs +0 -328
  231. package/rust/core/parser/handler/at.rs +0 -279
  232. package/rust/core/parser/handler/bank.rs +0 -104
  233. package/rust/core/parser/handler/condition.rs +0 -83
  234. package/rust/core/parser/handler/dot.rs +0 -148
  235. package/rust/core/parser/handler/identifier/automate.rs +0 -254
  236. package/rust/core/parser/handler/identifier/call.rs +0 -91
  237. package/rust/core/parser/handler/identifier/emit.rs +0 -70
  238. package/rust/core/parser/handler/identifier/function.rs +0 -113
  239. package/rust/core/parser/handler/identifier/group.rs +0 -89
  240. package/rust/core/parser/handler/identifier/let_.rs +0 -173
  241. package/rust/core/parser/handler/identifier/mod.rs +0 -55
  242. package/rust/core/parser/handler/identifier/on.rs +0 -107
  243. package/rust/core/parser/handler/identifier/print.rs +0 -49
  244. package/rust/core/parser/handler/identifier/sleep.rs +0 -96
  245. package/rust/core/parser/handler/identifier/spawn.rs +0 -91
  246. package/rust/core/parser/handler/identifier/synth.rs +0 -171
  247. package/rust/core/parser/handler/loop_.rs +0 -194
  248. package/rust/core/parser/handler/mod.rs +0 -9
  249. package/rust/core/parser/handler/pattern.rs +0 -97
  250. package/rust/core/parser/handler/tempo.rs +0 -105
  251. package/rust/core/parser/mod.rs +0 -3
  252. package/rust/core/parser/statement.rs +0 -10
  253. package/rust/core/plugin/loader.rs +0 -137
  254. package/rust/core/plugin/mod.rs +0 -2
  255. package/rust/core/plugin/runner/mod.rs +0 -11
  256. package/rust/core/plugin/runner/non_wasm.rs +0 -481
  257. package/rust/core/plugin/runner/wasm32.rs +0 -44
  258. package/rust/core/preprocessor/loader/inject.rs +0 -313
  259. package/rust/core/preprocessor/loader/loader_helpers.rs +0 -110
  260. package/rust/core/preprocessor/loader/mod.rs +0 -235
  261. package/rust/core/preprocessor/mod.rs +0 -4
  262. package/rust/core/preprocessor/module.rs +0 -55
  263. package/rust/core/preprocessor/processor/handlers.rs +0 -107
  264. package/rust/core/preprocessor/processor/mod.rs +0 -1
  265. package/rust/core/preprocessor/resolver/bank.rs +0 -49
  266. package/rust/core/preprocessor/resolver/call.rs +0 -124
  267. package/rust/core/preprocessor/resolver/condition.rs +0 -95
  268. package/rust/core/preprocessor/resolver/driver.rs +0 -324
  269. package/rust/core/preprocessor/resolver/function.rs +0 -69
  270. package/rust/core/preprocessor/resolver/group.rs +0 -122
  271. package/rust/core/preprocessor/resolver/let_.rs +0 -32
  272. package/rust/core/preprocessor/resolver/loop_.rs +0 -318
  273. package/rust/core/preprocessor/resolver/mod.rs +0 -16
  274. package/rust/core/preprocessor/resolver/pattern.rs +0 -95
  275. package/rust/core/preprocessor/resolver/spawn.rs +0 -99
  276. package/rust/core/preprocessor/resolver/synth.rs +0 -54
  277. package/rust/core/preprocessor/resolver/tempo.rs +0 -48
  278. package/rust/core/preprocessor/resolver/trigger.rs +0 -116
  279. package/rust/core/preprocessor/resolver/value.rs +0 -176
  280. package/rust/core/store/global.rs +0 -57
  281. package/rust/core/store/mod.rs +0 -1
  282. package/rust/lib.rs +0 -323
  283. package/rust/macros/Cargo.toml +0 -14
  284. package/rust/macros/src/lib.rs +0 -52
  285. package/rust/main.rs +0 -557
  286. package/rust/types/Cargo.toml +0 -11
  287. package/rust/types/src/addons.rs +0 -57
  288. package/rust/types/src/ast.rs +0 -202
  289. package/rust/types/src/config.rs +0 -82
  290. package/rust/types/src/lib.rs +0 -15
  291. package/rust/types/src/plugin.rs +0 -20
  292. package/rust/types/src/store.rs +0 -139
  293. package/rust/types/src/telemetry.rs +0 -85
  294. package/rust/utils/Cargo.toml +0 -29
  295. package/rust/utils/src/error.rs +0 -186
  296. package/rust/utils/src/file.rs +0 -477
  297. package/rust/utils/src/first_usage.rs +0 -97
  298. package/rust/utils/src/lib.rs +0 -9
  299. package/rust/utils/src/logger.rs +0 -200
  300. package/rust/utils/src/path.rs +0 -158
  301. package/rust/utils/src/signature.rs +0 -41
  302. package/rust/utils/src/spinner.rs +0 -20
  303. package/rust/utils/src/version.rs +0 -58
  304. package/rust/utils/src/watcher.rs +0 -46
  305. package/rust/web/api.rs +0 -5
  306. package/rust/web/auth.rs +0 -5
  307. package/rust/web/cdn.rs +0 -34
  308. package/rust/web/forge.rs +0 -5
  309. package/rust/web/mod.rs +0 -5
  310. package/rust/web/sso.rs +0 -5
  311. package/templates/minimal/.devalang +0 -5
  312. package/templates/minimal/README.md +0 -218
  313. package/templates/minimal/src/index.deva +0 -2
  314. package/templates/welcome/.devalang +0 -5
  315. package/templates/welcome/README.md +0 -218
  316. package/templates/welcome/samples/kick-808.wav +0 -0
  317. package/templates/welcome/src/index.deva +0 -61
  318. package/templates/welcome/src/variables.deva +0 -3
  319. package/tests/integration.rs +0 -21
  320. package/tests/rust/cli_check_build.rs +0 -21
  321. package/tests/rust/cli_help.rs +0 -12
  322. package/tests/rust/cli_template_list.rs +0 -10
  323. package/tests/rust/cli_version.rs +0 -11
  324. package/tests/typescript/index.spec.ts +0 -136
  325. package/tests/typescript/playhead.spec.ts +0 -36
  326. package/tests/typescript/render_e2e.spec.ts +0 -77
  327. package/tsconfig.json +0 -115
  328. package/typescript/bin/index.ts +0 -28
  329. package/typescript/core/functions/index.ts +0 -94
  330. package/typescript/core/index.ts +0 -6
  331. package/typescript/core/types/index.ts +0 -4
  332. package/typescript/core/types/plugin.ts +0 -19
  333. package/typescript/core/types/result.ts +0 -29
  334. package/typescript/core/types/statement.ts +0 -47
  335. package/typescript/core/types/value.ts +0 -29
  336. package/typescript/index.ts +0 -8
  337. package/typescript/pkg/devalang_core.d.ts +0 -4
  338. package/typescript/pkg/devalang_core.ts +0 -65
  339. package/typescript/scripts/copy-wasm-dts.ts +0 -41
  340. package/typescript/scripts/postinstall.ts +0 -85
  341. package/typescript/scripts/version/bump.ts +0 -44
  342. package/typescript/scripts/version/copy-to-binary.ts +0 -82
  343. package/typescript/scripts/version/fetch.ts +0 -18
  344. package/typescript/scripts/version/index.ts +0 -25
  345. 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,82 +0,0 @@
1
- import fs from "fs";
2
- import path from "path";
3
-
4
- const argv = process.argv.slice(2);
5
- let sourceArg: string | undefined;
6
- let binaryArg: string | undefined;
7
- let outDirArg: string | undefined;
8
-
9
- for (let i = 0; i < argv.length; i++) {
10
- const a = argv[i];
11
- if (a === "--source") {
12
- sourceArg = argv[++i];
13
- } else if (a === "--binary") {
14
- binaryArg = argv[++i];
15
- } else if (a === "--out-dir") {
16
- outDirArg = argv[++i];
17
- } else if (a === "--help" || a === "-h") {
18
- process.exit(0);
19
- } else {
20
- console.error(`Unknown arg: ${a}`);
21
- process.exit(1);
22
- }
23
- }
24
-
25
- // Default source: attempt to locate project-version.json at repo root
26
- const defaultSource = path.resolve(
27
- __dirname,
28
- "..",
29
- "..",
30
- "..",
31
- "project-version.json"
32
- );
33
- const sourcePath = sourceArg ? path.resolve(sourceArg) : defaultSource;
34
-
35
- if (!fs.existsSync(sourcePath)) {
36
- console.error(
37
- `Source project-version.json not found at '${sourcePath}'. Please provide --source or ensure file exists.`
38
- );
39
- process.exit(2);
40
- }
41
-
42
- let destDir: string | null = null;
43
-
44
- if (binaryArg) {
45
- const binPath = path.resolve(binaryArg);
46
- // If it's an existing file, use its directory, otherwise assume user passed target path and use its parent
47
- if (fs.existsSync(binPath) && fs.statSync(binPath).isFile()) {
48
- destDir = path.dirname(binPath);
49
- } else {
50
- // If binPath looks like a file path (has extension) use parent, else treat as dir
51
- const ext = path.extname(binPath);
52
- if (ext) {
53
- destDir = path.dirname(binPath);
54
- } else {
55
- destDir = binPath;
56
- }
57
- }
58
- } else if (outDirArg) {
59
- destDir = path.resolve(outDirArg);
60
- } else {
61
- // Default: try to copy next to the running node current working dir (useful when packaging)
62
- destDir = process.cwd();
63
- }
64
-
65
- if (!destDir) {
66
- console.error("Could not resolve destination directory");
67
- process.exit(3);
68
- }
69
-
70
- try {
71
- if (!fs.existsSync(destDir)) {
72
- fs.mkdirSync(destDir, { recursive: true });
73
- }
74
-
75
- const destPath = path.join(destDir, "project-version.json");
76
- fs.copyFileSync(sourcePath, destPath);
77
- console.log(`project-version.json copied to '${destPath}'`);
78
- process.exit(0);
79
- } catch (err) {
80
- console.error("Failed to copy project-version.json:", err);
81
- process.exit(4);
82
- }
@@ -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
- }