@reventlessdev/rescript-node 2.0.0-alpha.10 → 2.0.0-alpha.12
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/CHANGELOG.md +23 -0
- package/package.json +1 -1
- package/src/NodeBuffer.res +5 -0
- package/src/NodeChildProcess.res +16 -1
- package/src/NodeCrypto.res +0 -1
- package/src/NodeFs.res +3 -4
- package/src/NodeImportMeta.res +0 -1
- package/src/NodeModule.res +0 -1
- package/src/NodeNet.res +0 -1
- package/src/NodeOs.res +0 -1
- package/src/NodePath.res +0 -1
- package/src/NodeProcess.res +4 -1
- package/src/NodeUrl.res +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,29 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# 2.0.0-alpha.12 (2026-09-16)
|
|
7
|
+
|
|
8
|
+
* fix(aws)!: stop a deploy that finds no Lambda layer ([62957f4](https://github.com/ReventlessDev/reventless-core/commit/62957f444ab2120f672b9ac0564f786d64090864))
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **aws:** bake the component manifest with a command, in CI and by hand ([4b0dccc](https://github.com/ReventlessDev/reventless-core/commit/4b0dccc8fc3b99874108c82db282d73cc93a48e9))
|
|
12
|
+
* **aws:** deploy and remove a whole app with deploy-app up and down ([b7d0587](https://github.com/ReventlessDev/reventless-core/commit/b7d0587bd02a4b067a3a9fa21b5f77ea5210d792))
|
|
13
|
+
|
|
14
|
+
### BREAKING CHANGES
|
|
15
|
+
|
|
16
|
+
* PulumiAws.Lambda.reventlessLayerArn is now a function that
|
|
17
|
+
returns the ARN and throws when there is none. Use Lambda.reventlessLayers()
|
|
18
|
+
for a function's layers argument.
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
# 2.0.0-alpha.11 (2026-09-09)
|
|
23
|
+
|
|
24
|
+
### Bug Fixes
|
|
25
|
+
|
|
26
|
+
* **spec:** let the formatter settle the lifecycle model's layout ([09e1742](https://github.com/ReventlessDev/reventless-core/commit/09e17429c24d3b84ee6d324b0641d62db4f0d9f9))
|
|
27
|
+
|
|
28
|
+
|
|
6
29
|
# 2.0.0-alpha.10 (2026-09-08)
|
|
7
30
|
|
|
8
31
|
### Features
|
package/package.json
CHANGED
package/src/NodeBuffer.res
CHANGED
|
@@ -23,6 +23,11 @@ external fromStringUtf8: (string, @as("utf8") _) => t = "from"
|
|
|
23
23
|
@val @scope("Buffer")
|
|
24
24
|
external fromStringBase64Url: (string, @as("base64url") _) => t = "from"
|
|
25
25
|
|
|
26
|
+
/** A `Buffer` over a copy of the bytes. A plain `Uint8Array` — what the AWS SDK
|
|
27
|
+
hands back — has only the array's own `toString`, which joins the numbers. */
|
|
28
|
+
@val @scope("Buffer")
|
|
29
|
+
external fromBytes: Uint8Array.t => t = "from"
|
|
30
|
+
|
|
26
31
|
@send
|
|
27
32
|
external toStringUtf8: (t, @as("utf8") _) => string = "toString"
|
|
28
33
|
|
package/src/NodeChildProcess.res
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/** Bindings for
|
|
2
2
|
[`node:child_process`](https://nodejs.org/api/child_process.html). */
|
|
3
|
-
|
|
4
3
|
type execOptions = {
|
|
5
4
|
cwd?: string,
|
|
6
5
|
encoding?: string,
|
|
7
6
|
env?: dict<string>,
|
|
8
7
|
stdio?: array<string>,
|
|
9
8
|
maxBuffer?: int,
|
|
9
|
+
/** Written to the child's stdin, which is then closed. */
|
|
10
|
+
input?: string,
|
|
10
11
|
}
|
|
11
12
|
|
|
12
13
|
@module("node:child_process")
|
|
@@ -17,6 +18,20 @@ external execSync: (string, execOptions) => string = "execSync"
|
|
|
17
18
|
@module("node:child_process")
|
|
18
19
|
external execFileSync: (string, array<string>, execOptions) => string = "execFileSync"
|
|
19
20
|
|
|
21
|
+
/** Pass `encoding` to get `stdout` / `stderr` as strings. All three stay null
|
|
22
|
+
when the program could not be started at all; `error` then says why. */
|
|
23
|
+
type spawnSyncResult = {
|
|
24
|
+
status: Nullable.t<int>,
|
|
25
|
+
stdout: Nullable.t<string>,
|
|
26
|
+
stderr: Nullable.t<string>,
|
|
27
|
+
error: Nullable.t<JsExn.t>,
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/** Unlike `execFileSync`, never throws: a non-zero exit comes back as `status`
|
|
31
|
+
with the child's `stderr`, so a caller can tell one failure from another. */
|
|
32
|
+
@module("node:child_process")
|
|
33
|
+
external spawnSync: (string, array<string>, execOptions) => spawnSyncResult = "spawnSync"
|
|
34
|
+
|
|
20
35
|
/** A running child process. Unlike the `*Sync` calls above, `spawn` returns
|
|
21
36
|
while the child is still alive, so the caller keeps working alongside it —
|
|
22
37
|
which is the whole reason to reach for this over `execFileSync`. */
|
package/src/NodeCrypto.res
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
/** Bindings for [`node:crypto`](https://nodejs.org/api/crypto.html). */
|
|
2
|
-
|
|
3
2
|
/** A Node `Buffer`. Abstract rather than aliased to `Uint8Array.t`: a digest
|
|
4
3
|
buffer is only ever fed back into `createHmac` or stringified, and giving it
|
|
5
4
|
its own type keeps those two uses from being confused with file bytes. */
|
package/src/NodeFs.res
CHANGED
|
@@ -8,11 +8,10 @@
|
|
|
8
8
|
passed wrongly — the `(string, string)` form is the one that permits
|
|
9
9
|
`readFileSync(path, "utf-8")`, a different string, silently. Use
|
|
10
10
|
{!readFileSyncBuffer} when the bytes are wanted rather than text. */
|
|
11
|
-
|
|
12
|
-
// ── Existence and metadata ───────────────────────────────────────────────────
|
|
13
|
-
|
|
14
11
|
@module("node:fs")
|
|
15
|
-
external
|
|
12
|
+
external // ── Existence and metadata ───────────────────────────────────────────────────
|
|
13
|
+
|
|
14
|
+
existsSync: string => bool = "existsSync"
|
|
16
15
|
|
|
17
16
|
@module("node:fs")
|
|
18
17
|
external realpathSync: string => string = "realpathSync"
|
package/src/NodeImportMeta.res
CHANGED
|
@@ -9,7 +9,6 @@
|
|
|
9
9
|
`dirname` and `filename` are Node's own additions and are defined only for
|
|
10
10
|
`file:` URLs; a bundler that rewrites modules to CommonJS drops them. `url`
|
|
11
11
|
is the portable form and the one to reach for when either could apply. */
|
|
12
|
-
|
|
13
12
|
@val @scope(("import", "meta"))
|
|
14
13
|
external url: string = "url"
|
|
15
14
|
|
package/src/NodeModule.res
CHANGED
package/src/NodeNet.res
CHANGED
package/src/NodeOs.res
CHANGED
package/src/NodePath.res
CHANGED
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
two-argument `join` and a variadic one are not duplicates of each other —
|
|
6
6
|
they are different functions with the same name, and which one a call site
|
|
7
7
|
got used to depend on which inline binding block it happened to sit near. */
|
|
8
|
-
|
|
9
8
|
@module("node:path") @variadic
|
|
10
9
|
external join: array<string> => string = "join"
|
|
11
10
|
|
package/src/NodeProcess.res
CHANGED
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
"process.env"` and `@val @scope("process") external env: dict<string> =
|
|
6
6
|
"env"` compile to the same access, and the tree had both spellings. This is
|
|
7
7
|
the one. */
|
|
8
|
-
|
|
9
8
|
@val @scope("process")
|
|
10
9
|
external argv: array<string> = "argv"
|
|
11
10
|
|
|
@@ -24,6 +23,10 @@ external exit: int => unit = "exit"
|
|
|
24
23
|
@val @scope("process")
|
|
25
24
|
external pid: int = "pid"
|
|
26
25
|
|
|
26
|
+
/** `versions["node"]` is the running Node's version, without the leading `v`. */
|
|
27
|
+
@val @scope("process")
|
|
28
|
+
external versions: dict<string> = "versions"
|
|
29
|
+
|
|
27
30
|
/** Signalling another process — or, with signal `0`, asking whether it is still
|
|
28
31
|
there without disturbing it. Throws when the pid is gone (`ESRCH`) or not
|
|
29
32
|
ours to signal (`EPERM`), so a liveness check is a `try`. */
|
package/src/NodeUrl.res
CHANGED