@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.
- package/README.md +182 -152
- package/out-tsc/api.d.ts +180 -0
- package/out-tsc/api.d.ts.map +1 -0
- package/out-tsc/api.js +286 -0
- package/out-tsc/api.js.map +1 -0
- package/out-tsc/bin/index.d.ts +12 -0
- package/out-tsc/bin/index.d.ts.map +1 -0
- package/out-tsc/bin/index.js +20 -54
- package/out-tsc/bin/index.js.map +1 -0
- package/out-tsc/examples/basic-usage.d.ts +8 -0
- package/out-tsc/examples/basic-usage.d.ts.map +1 -0
- package/out-tsc/examples/basic-usage.js +113 -0
- package/out-tsc/examples/basic-usage.js.map +1 -0
- package/out-tsc/index.d.ts +19 -5
- package/out-tsc/index.d.ts.map +1 -0
- package/out-tsc/index.js +24 -6
- package/out-tsc/index.js.map +1 -0
- package/out-tsc/scripts/copy-wasm-dts.d.ts +7 -0
- package/out-tsc/scripts/copy-wasm-dts.d.ts.map +1 -0
- package/out-tsc/scripts/copy-wasm-dts.js +36 -32
- package/out-tsc/scripts/copy-wasm-dts.js.map +1 -0
- package/out-tsc/scripts/postinstall.d.ts +1 -0
- package/out-tsc/scripts/postinstall.d.ts.map +1 -0
- package/out-tsc/scripts/postinstall.js +4 -1
- package/out-tsc/scripts/postinstall.js.map +1 -0
- package/out-tsc/scripts/version/bump.d.ts +5 -1
- package/out-tsc/scripts/version/bump.d.ts.map +1 -0
- package/out-tsc/scripts/version/bump.js +114 -44
- package/out-tsc/scripts/version/bump.js.map +1 -0
- package/out-tsc/scripts/version/fetch.d.ts +12 -1
- package/out-tsc/scripts/version/fetch.d.ts.map +1 -0
- package/out-tsc/scripts/version/fetch.js +68 -24
- package/out-tsc/scripts/version/fetch.js.map +1 -0
- package/out-tsc/scripts/version/index.d.ts +6 -0
- package/out-tsc/scripts/version/index.d.ts.map +1 -0
- package/out-tsc/scripts/version/index.js +44 -22
- package/out-tsc/scripts/version/index.js.map +1 -0
- package/out-tsc/scripts/version/sync.d.ts +5 -1
- package/out-tsc/scripts/version/sync.d.ts.map +1 -0
- package/out-tsc/scripts/version/sync.js +78 -29
- package/out-tsc/scripts/version/sync.js.map +1 -0
- package/out-tsc/types.d.ts +68 -0
- package/out-tsc/types.d.ts.map +1 -0
- package/out-tsc/{core/types/value.js → types.js} +4 -0
- package/out-tsc/types.js.map +1 -0
- package/out-tsc/wasm.d.ts +8 -0
- package/out-tsc/wasm.d.ts.map +1 -0
- package/out-tsc/{core/index.js → wasm.js} +9 -6
- package/out-tsc/wasm.js.map +1 -0
- package/package.json +42 -42
- package/.cargo/config.toml +0 -2
- package/.devalang +0 -9
- package/.github/workflows/ci.yml +0 -103
- package/Cargo.toml +0 -84
- package/docs/CHANGELOG.md +0 -622
- package/docs/CONTRIBUTING.md +0 -101
- package/docs/ROADMAP.md +0 -38
- package/docs/TODO.md +0 -71
- package/examples/automation.deva +0 -42
- package/examples/bank.deva +0 -7
- package/examples/bus.deva +0 -10
- package/examples/chain.deva +0 -19
- package/examples/condition.deva +0 -20
- package/examples/duration.deva +0 -9
- package/examples/effect.deva +0 -2
- package/examples/events.deva +0 -12
- package/examples/filter.deva +0 -11
- package/examples/function.deva +0 -15
- package/examples/group.deva +0 -12
- package/examples/index.deva +0 -63
- package/examples/lfo.deva +0 -9
- package/examples/loop.deva +0 -10
- package/examples/pattern.deva +0 -8
- package/examples/plugin.deva +0 -16
- package/examples/routing.deva +0 -23
- package/examples/samples/hat-808.wav +0 -0
- package/examples/samples/kick-808.wav +0 -0
- package/examples/synth.deva +0 -24
- package/examples/synth_types.deva +0 -17
- package/examples/variables.deva +0 -9
- package/out-tsc/bin/project-version.json +0 -6
- package/out-tsc/core/functions/index.d.ts +0 -42
- package/out-tsc/core/functions/index.js +0 -87
- package/out-tsc/core/index.d.ts +0 -6
- package/out-tsc/core/types/index.d.ts +0 -4
- package/out-tsc/core/types/index.js +0 -20
- package/out-tsc/core/types/plugin.d.ts +0 -18
- package/out-tsc/core/types/plugin.js +0 -2
- package/out-tsc/core/types/result.d.ts +0 -27
- package/out-tsc/core/types/result.js +0 -2
- package/out-tsc/core/types/statement.d.ts +0 -106
- package/out-tsc/core/types/statement.js +0 -2
- package/out-tsc/core/types/value.d.ts +0 -43
- package/out-tsc/pkg/devalang_core.d.ts +0 -15
- package/out-tsc/pkg/devalang_core.js +0 -65
- package/out-tsc/pkg/devalang_core_bg.wasm.d.ts +0 -34
- package/out-tsc/scripts/version/copy-to-binary.d.ts +0 -1
- package/out-tsc/scripts/version/copy-to-binary.js +0 -79
- package/project-version.json +0 -6
- package/rust/bindings/Cargo.toml +0 -9
- package/rust/bindings/src/lib.rs +0 -86
- package/rust/cli/addon/commands.rs +0 -35
- package/rust/cli/addon/download.rs +0 -234
- package/rust/cli/addon/install.rs +0 -33
- package/rust/cli/addon/list.rs +0 -224
- package/rust/cli/addon/metadata.rs +0 -124
- package/rust/cli/addon/mod.rs +0 -8
- package/rust/cli/addon/remove.rs +0 -271
- package/rust/cli/addon/update.rs +0 -305
- package/rust/cli/addon/utils.rs +0 -109
- package/rust/cli/build/commands.rs +0 -153
- package/rust/cli/build/mod.rs +0 -2
- package/rust/cli/build/process.rs +0 -165
- package/rust/cli/check/mod.rs +0 -208
- package/rust/cli/discover/commands.rs +0 -275
- package/rust/cli/discover/config.rs +0 -109
- package/rust/cli/discover/fs.rs +0 -19
- package/rust/cli/discover/install.rs +0 -214
- package/rust/cli/discover/metadata.rs +0 -48
- package/rust/cli/discover/mod.rs +0 -5
- package/rust/cli/init/commands.rs +0 -88
- package/rust/cli/init/mod.rs +0 -1
- package/rust/cli/login/commands.rs +0 -124
- package/rust/cli/login/mod.rs +0 -1
- package/rust/cli/me/commands.rs +0 -52
- package/rust/cli/me/mod.rs +0 -1
- package/rust/cli/mod.rs +0 -12
- package/rust/cli/parser.rs +0 -320
- package/rust/cli/play/commands.rs +0 -375
- package/rust/cli/play/io.rs +0 -17
- package/rust/cli/play/mod.rs +0 -5
- package/rust/cli/play/process.rs +0 -159
- package/rust/cli/play/realtime.rs +0 -91
- package/rust/cli/play/utils.rs +0 -23
- package/rust/cli/telemetry/commands.rs +0 -22
- package/rust/cli/telemetry/event_creator.rs +0 -80
- package/rust/cli/telemetry/mod.rs +0 -3
- package/rust/cli/telemetry/send.rs +0 -51
- package/rust/cli/template/commands.rs +0 -69
- package/rust/cli/template/mod.rs +0 -1
- package/rust/cli/update/commands.rs +0 -6
- package/rust/cli/update/mod.rs +0 -1
- package/rust/config/driver.rs +0 -112
- package/rust/config/mod.rs +0 -3
- package/rust/config/ops.rs +0 -26
- package/rust/config/settings.rs +0 -101
- package/rust/core/audio/engine/driver.rs +0 -237
- package/rust/core/audio/engine/export.rs +0 -169
- package/rust/core/audio/engine/helpers.rs +0 -178
- package/rust/core/audio/engine/mod.rs +0 -56
- package/rust/core/audio/engine/notes/dsp.rs +0 -88
- package/rust/core/audio/engine/notes/mod.rs +0 -53
- package/rust/core/audio/engine/notes/params.rs +0 -294
- package/rust/core/audio/engine/sample/insert.rs +0 -300
- package/rust/core/audio/engine/sample/mod.rs +0 -40
- package/rust/core/audio/engine/sample/padding.rs +0 -170
- package/rust/core/audio/evaluator/condition.rs +0 -61
- package/rust/core/audio/evaluator/mod.rs +0 -9
- package/rust/core/audio/evaluator/numeric.rs +0 -152
- package/rust/core/audio/evaluator/rhs.rs +0 -16
- package/rust/core/audio/evaluator/string_expr.rs +0 -94
- package/rust/core/audio/interpreter/driver.rs +0 -574
- package/rust/core/audio/interpreter/mod.rs +0 -2
- package/rust/core/audio/interpreter/statements/arrow_call/interprete.rs +0 -179
- package/rust/core/audio/interpreter/statements/arrow_call/methods/chord.rs +0 -398
- package/rust/core/audio/interpreter/statements/arrow_call/methods/effects.rs +0 -323
- package/rust/core/audio/interpreter/statements/arrow_call/methods/mod.rs +0 -3
- package/rust/core/audio/interpreter/statements/arrow_call/methods/note.rs +0 -371
- package/rust/core/audio/interpreter/statements/arrow_call/mod.rs +0 -3
- package/rust/core/audio/interpreter/statements/arrow_call/types/arp.rs +0 -192
- package/rust/core/audio/interpreter/statements/arrow_call/types/mod.rs +0 -24
- package/rust/core/audio/interpreter/statements/arrow_call/types/pad.rs +0 -116
- package/rust/core/audio/interpreter/statements/arrow_call/types/pluck.rs +0 -97
- package/rust/core/audio/interpreter/statements/arrow_call/types/sub.rs +0 -100
- package/rust/core/audio/interpreter/statements/automate.rs +0 -16
- package/rust/core/audio/interpreter/statements/call.rs +0 -325
- package/rust/core/audio/interpreter/statements/condition.rs +0 -72
- package/rust/core/audio/interpreter/statements/function.rs +0 -24
- package/rust/core/audio/interpreter/statements/let_.rs +0 -36
- package/rust/core/audio/interpreter/statements/load.rs +0 -17
- package/rust/core/audio/interpreter/statements/loop_.rs +0 -115
- package/rust/core/audio/interpreter/statements/mod.rs +0 -12
- package/rust/core/audio/interpreter/statements/sleep.rs +0 -28
- package/rust/core/audio/interpreter/statements/spawn.rs +0 -302
- package/rust/core/audio/interpreter/statements/tempo.rs +0 -40
- package/rust/core/audio/interpreter/statements/trigger.rs +0 -242
- package/rust/core/audio/loader/mod.rs +0 -1
- package/rust/core/audio/loader/trigger.rs +0 -98
- package/rust/core/audio/mod.rs +0 -6
- package/rust/core/audio/player.rs +0 -70
- package/rust/core/audio/special/easing.rs +0 -189
- package/rust/core/audio/special/env.rs +0 -45
- package/rust/core/audio/special/math.rs +0 -134
- package/rust/core/audio/special/mod.rs +0 -9
- package/rust/core/audio/special/modulator.rs +0 -143
- package/rust/core/builder/mod.rs +0 -129
- package/rust/core/debugger/lexer.rs +0 -27
- package/rust/core/debugger/logs.rs +0 -52
- package/rust/core/debugger/mod.rs +0 -30
- package/rust/core/debugger/preprocessor.rs +0 -27
- package/rust/core/debugger/store.rs +0 -38
- package/rust/core/error/mod.rs +0 -269
- package/rust/core/lexer/driver.rs +0 -59
- package/rust/core/lexer/handler/arrow.rs +0 -82
- package/rust/core/lexer/handler/at.rs +0 -21
- package/rust/core/lexer/handler/brace.rs +0 -41
- package/rust/core/lexer/handler/colon.rs +0 -21
- package/rust/core/lexer/handler/comment.rs +0 -30
- package/rust/core/lexer/handler/dot.rs +0 -21
- package/rust/core/lexer/handler/driver.rs +0 -337
- package/rust/core/lexer/handler/identifier.rs +0 -47
- package/rust/core/lexer/handler/indent.rs +0 -66
- package/rust/core/lexer/handler/mod.rs +0 -15
- package/rust/core/lexer/handler/newline.rs +0 -23
- package/rust/core/lexer/handler/number.rs +0 -31
- package/rust/core/lexer/handler/operator.rs +0 -46
- package/rust/core/lexer/handler/parenthesis.rs +0 -41
- package/rust/core/lexer/handler/slash.rs +0 -21
- package/rust/core/lexer/handler/string.rs +0 -63
- package/rust/core/lexer/mod.rs +0 -3
- package/rust/core/lexer/token.rs +0 -91
- package/rust/core/mod.rs +0 -9
- package/rust/core/parser/driver/block.rs +0 -111
- package/rust/core/parser/driver/cursor.rs +0 -82
- package/rust/core/parser/driver/driver_impl.rs +0 -159
- package/rust/core/parser/driver/mod.rs +0 -6
- package/rust/core/parser/driver/parse_array.rs +0 -120
- package/rust/core/parser/driver/parse_map.rs +0 -247
- package/rust/core/parser/driver/parser.rs +0 -160
- package/rust/core/parser/handler/arrow_call.rs +0 -328
- package/rust/core/parser/handler/at.rs +0 -279
- package/rust/core/parser/handler/bank.rs +0 -104
- package/rust/core/parser/handler/condition.rs +0 -83
- package/rust/core/parser/handler/dot.rs +0 -148
- package/rust/core/parser/handler/identifier/automate.rs +0 -254
- package/rust/core/parser/handler/identifier/call.rs +0 -91
- package/rust/core/parser/handler/identifier/emit.rs +0 -70
- package/rust/core/parser/handler/identifier/function.rs +0 -113
- package/rust/core/parser/handler/identifier/group.rs +0 -89
- package/rust/core/parser/handler/identifier/let_.rs +0 -173
- package/rust/core/parser/handler/identifier/mod.rs +0 -55
- package/rust/core/parser/handler/identifier/on.rs +0 -107
- package/rust/core/parser/handler/identifier/print.rs +0 -49
- package/rust/core/parser/handler/identifier/sleep.rs +0 -96
- package/rust/core/parser/handler/identifier/spawn.rs +0 -91
- package/rust/core/parser/handler/identifier/synth.rs +0 -171
- package/rust/core/parser/handler/loop_.rs +0 -194
- package/rust/core/parser/handler/mod.rs +0 -9
- package/rust/core/parser/handler/pattern.rs +0 -97
- package/rust/core/parser/handler/tempo.rs +0 -105
- package/rust/core/parser/mod.rs +0 -3
- package/rust/core/parser/statement.rs +0 -10
- package/rust/core/plugin/loader.rs +0 -137
- package/rust/core/plugin/mod.rs +0 -2
- package/rust/core/plugin/runner/mod.rs +0 -11
- package/rust/core/plugin/runner/non_wasm.rs +0 -481
- package/rust/core/plugin/runner/wasm32.rs +0 -44
- package/rust/core/preprocessor/loader/inject.rs +0 -313
- package/rust/core/preprocessor/loader/loader_helpers.rs +0 -110
- package/rust/core/preprocessor/loader/mod.rs +0 -235
- package/rust/core/preprocessor/mod.rs +0 -4
- package/rust/core/preprocessor/module.rs +0 -55
- package/rust/core/preprocessor/processor/handlers.rs +0 -107
- package/rust/core/preprocessor/processor/mod.rs +0 -1
- package/rust/core/preprocessor/resolver/bank.rs +0 -49
- package/rust/core/preprocessor/resolver/call.rs +0 -124
- package/rust/core/preprocessor/resolver/condition.rs +0 -95
- package/rust/core/preprocessor/resolver/driver.rs +0 -324
- package/rust/core/preprocessor/resolver/function.rs +0 -69
- package/rust/core/preprocessor/resolver/group.rs +0 -122
- package/rust/core/preprocessor/resolver/let_.rs +0 -32
- package/rust/core/preprocessor/resolver/loop_.rs +0 -318
- package/rust/core/preprocessor/resolver/mod.rs +0 -16
- package/rust/core/preprocessor/resolver/pattern.rs +0 -95
- package/rust/core/preprocessor/resolver/spawn.rs +0 -99
- package/rust/core/preprocessor/resolver/synth.rs +0 -54
- package/rust/core/preprocessor/resolver/tempo.rs +0 -48
- package/rust/core/preprocessor/resolver/trigger.rs +0 -116
- package/rust/core/preprocessor/resolver/value.rs +0 -176
- package/rust/core/store/global.rs +0 -57
- package/rust/core/store/mod.rs +0 -1
- package/rust/lib.rs +0 -323
- package/rust/macros/Cargo.toml +0 -14
- package/rust/macros/src/lib.rs +0 -52
- package/rust/main.rs +0 -557
- package/rust/types/Cargo.toml +0 -11
- package/rust/types/src/addons.rs +0 -57
- package/rust/types/src/ast.rs +0 -202
- package/rust/types/src/config.rs +0 -82
- package/rust/types/src/lib.rs +0 -15
- package/rust/types/src/plugin.rs +0 -20
- package/rust/types/src/store.rs +0 -139
- package/rust/types/src/telemetry.rs +0 -85
- package/rust/utils/Cargo.toml +0 -29
- package/rust/utils/src/error.rs +0 -186
- package/rust/utils/src/file.rs +0 -477
- package/rust/utils/src/first_usage.rs +0 -97
- package/rust/utils/src/lib.rs +0 -9
- package/rust/utils/src/logger.rs +0 -200
- package/rust/utils/src/path.rs +0 -158
- package/rust/utils/src/signature.rs +0 -41
- package/rust/utils/src/spinner.rs +0 -20
- package/rust/utils/src/version.rs +0 -58
- package/rust/utils/src/watcher.rs +0 -46
- package/rust/web/api.rs +0 -5
- package/rust/web/auth.rs +0 -5
- package/rust/web/cdn.rs +0 -34
- package/rust/web/forge.rs +0 -5
- package/rust/web/mod.rs +0 -5
- package/rust/web/sso.rs +0 -5
- package/templates/minimal/.devalang +0 -5
- package/templates/minimal/README.md +0 -218
- package/templates/minimal/src/index.deva +0 -2
- package/templates/welcome/.devalang +0 -5
- package/templates/welcome/README.md +0 -218
- package/templates/welcome/samples/kick-808.wav +0 -0
- package/templates/welcome/src/index.deva +0 -61
- package/templates/welcome/src/variables.deva +0 -3
- package/tests/integration.rs +0 -21
- package/tests/rust/cli_check_build.rs +0 -21
- package/tests/rust/cli_help.rs +0 -12
- package/tests/rust/cli_template_list.rs +0 -10
- package/tests/rust/cli_version.rs +0 -11
- package/tests/typescript/index.spec.ts +0 -136
- package/tests/typescript/playhead.spec.ts +0 -36
- package/tests/typescript/render_e2e.spec.ts +0 -77
- package/tsconfig.json +0 -115
- package/typescript/bin/index.ts +0 -28
- package/typescript/core/functions/index.ts +0 -94
- package/typescript/core/index.ts +0 -6
- package/typescript/core/types/index.ts +0 -4
- package/typescript/core/types/plugin.ts +0 -19
- package/typescript/core/types/result.ts +0 -29
- package/typescript/core/types/statement.ts +0 -47
- package/typescript/core/types/value.ts +0 -29
- package/typescript/index.ts +0 -8
- package/typescript/pkg/devalang_core.d.ts +0 -4
- package/typescript/pkg/devalang_core.ts +0 -65
- package/typescript/scripts/copy-wasm-dts.ts +0 -41
- package/typescript/scripts/postinstall.ts +0 -85
- package/typescript/scripts/version/bump.ts +0 -44
- package/typescript/scripts/version/copy-to-binary.ts +0 -82
- package/typescript/scripts/version/fetch.ts +0 -18
- package/typescript/scripts/version/index.ts +0 -25
- 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
|
-
}
|