@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
@@ -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
- }