Skip to content

Commit 377a02f

Browse files
committed
[new release] melange (5.0.0-53)
CHANGES: - Make the `unprocessed` alert fatal by default ([melange-re/melange#1135](melange-re/melange#1135)) - support `-H` for hidden include dirs in OCaml 5.2 ([melange-re/melange#1137](melange-re/melange#1137)) - support `[@mel.*]` attributes in uncurried externals ([melange-re/melange#1140](melange-re/melange#1140)) - add Worker types to `melange.dom` ([melange-re/melange#1147](melange-re/melange#1147)) - Add support for dynamic `import()` ([melange-re/melange#1164](melange-re/melange#1164)) - Fix code generation of custom `true` / `false` constructors ([melange-re/melange#1175](melange-re/melange#1175)) - Fix code generation of OCaml objects that refers to an init variable in scope ([melange-re/melange#1183](melange-re/melange#1183)) - Support `[@mel.as "string"]` in variant definitions ([melange-re/melange#884](melange-re/melange#884)) - BREAKING: remove `[@@deriving jsConverter]` for variant definitions ([melange-re/melange#884](melange-re/melange#884)). Use `[@mel.as "string here"]` instead. - Support OCaml 5.3 ([melange-re/melange#1168](melange-re/melange#1168)) - Upgrade Stdlib to the OCaml 5.3 Stdlib ([melange-re/melange#1182](melange-re/melange#1182)) - Support `[@mel.tag "the_tag"]` in variant definitions ([melange-re/melange#1189](melange-re/melange#1189)) - combined with `[@mel.as ..]` in variant definitions and inline record payloads, Melange can now express types for discriminated union object shapes. - melange-ppx: don't silence warning 20 (`ignored-extra-argument`) for `%mel.raw` application ([melange-re/melange#1166](melange-re/melange#1166)). - This change reverts the behavior introduced in ([melange-re/melange#915](melange-re/melange#915)). - The new recommendation is to annotate `%mel.raw` functions or disable warning 20 at the project level. - ppx,core: propagate internal FFI information via attributes instead of adding marshalled data in the native primitive name ([melange-re/melange#1222](melange-re/melange#1222)) - melange-ppx: allow `@mel.unwrap` polyvariants not to have a payload ([melange-re/melange#1239](melange-re/melange#1239)) - `melange.node`: fix `Buffer.fromString` and add `Buffer.fromStringWithEncoding` ([melange-re/melange#1246](melange-re/melange#1246)) - `melange.node`: bind to all supported Node.js `Buffer` encodings in `Node.Buffer` ([melange-re/melange#1246](melange-re/melange#1246)) - `melange.js`: Add `Js.FormData` with bindings to the [FormData](https://developer.mozilla.org/en-US/docs/Web/API/FormData) API ([melange-re/melange#1153](melange-re/melange#1153), [melange-re/melange#1270](melange-re/melange#1270), [melange-re/melange#1281](melange-re/melange#1281) - `melange.js`: Add `Js.Blob` and `Js.File` with bindings to the [Blob](https://developer.mozilla.org/en-US/docs/Web/API/Blob) and [File](https://developer.mozilla.org/en-US/docs/Web/API/File) APIs ([melange-re/melange#1218](melange-re/melange#1218)) - `melange.js`: add `TypedArray` types at the toplevel in the `Js` module ([melange-re/melange#1248](melange-re/melange#1248)) - BREAKING: remove `--mel-g` ([melange-re/melange#1234](melange-re/melange#1234)) - runtime(`melange.js`): port `[@mel.send.pipe]` functions to `[@mel.send]`, taking advantage of the `@mel.send` + labeled argument improvement (see above) ([melange-re/melange#1260](melange-re/melange#1260), [melange-re/melange#1264](melange-re/melange#1264), [melange-re/melange#1265](melange-re/melange#1265), [melange-re/melange#1266](melange-re/melange#1266), [melange-re/melange#1280](melange-re/melange#1280), [melange-re/melange#1278](melange-re/melange#1278)) - core: fix a crash related to finding constructor names in pattern matching triggered by dune's earlier implementation of `(implicit_transitive_deps false)` ([melange-re/melange#1238](melange-re/melange#1238), [melange-re/melange#1262](melange-re/melange#1262)) - core: pre-compute the closure param map for functions inlined with `--mel-cross-module-opt` ([melange-re/melange#1219](melange-re/melange#1219)) - BREAKING: ppx: print the `deprecated` alert for `@@deriving abstract` at the declaration site rather than at (all) usages ([melange-re/melange#1269](melange-re/melange#1269)) - JS generation: prettify `for` loops ([melange-re/melange#1275](melange-re/melange#1275)) - JS generation: improve formatting for `throw` and `return` statements, JS objects ([melange-re/melange#1286](melange-re/melange#1286), [melange-re/melange#1289](melange-re/melange#1289)) - JS generation: improve formatting for empty return and continue statements ([melange-re/melange#1288](melange-re/melange#1288)) - JS generation: remove trailing spaces before commas in `export` ([melange-re/melange#1287](melange-re/melange#1287)) - JS generation: remove redundant switch cases branches ([melange-re/melange#1295](melange-re/melange#1295)) - JS generation: move space before comma inside `for` definition ([melange-re/melange#1296](melange-re/melange#1296)) - JS generation: add space before while loop condition ([melange-re/melange#1297](melange-re/melange#1297)) - JS generation: improve indentation of parenthesized blocks ([melange-re/melange#1293](melange-re/melange#1293)) - JS generation: add space after constructor comments ([melange-re/melange#1294](melange-re/melange#1294)) - JS generation: improve identation of `switch` cases ([melange-re/melange#1299](melange-re/melange#1299)) - JS generation: don't generate empty `default:` cases in `switch` ([melange-re/melange#1300](melange-re/melange#1300)) - JS generation: emit `module.exports` in CommonJS instead of `exports.x` ([melange-re/melange#1314](melange-re/melange#1314)) - JS generation: remove trailing newline after `switch` ([melange-re/melange#1313](melange-re/melange#1313)) - ffi: allow annotating `@mel.send` FFI with `@mel.this` to specify which parameter should represent the "self" argument. ([melange-re/melange#1303](melange-re/melange#1285), [melange-re/melange#1310](melange-re/melange#1310)) - This improvement to the FFI allows expressing more FFI constructs via labeled and optionally labeled arguments, e.g. `external foo: value:string -> (t [@mel.this]) -> unit = "foo" [@@mel.send]` will now produce `t.foo(value)` instead of `value.foo(t)`. - It also allows removing usages of `[@mel.send.pipe: t]` in favor of `[@mel.send]` with `[@mel.this]`, including when used with `@mel.variadic`. - ppx: deprecate `[@mel.send.pipe]` ([melange-re/melange#1321](melange-re/melange#1321)) - core: fix missed optimization on OCaml versions 5.2 and above, caused by [ocaml/ocaml#12236](ocaml/ocaml#12236) generating multiple function nodes for `fun a -> fun b -> ...` in the Lambda IR.
1 parent 36f4d2d commit 377a02f

File tree

1 file changed

+45
-0
lines changed
  • packages/melange/melange.5.0.0-53

1 file changed

+45
-0
lines changed
+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
opam-version: "2.0"
2+
synopsis: "Toolchain to produce JS from Reason/OCaml"
3+
maintainer: ["Antonio Nuno Monteiro <[email protected]>"]
4+
authors: ["Antonio Nuno Monteiro <[email protected]>"]
5+
license: "LGPL-2.1-or-later"
6+
homepage: "https://github.com/melange-re/melange"
7+
bug-reports: "https://github.com/melange-re/melange/issues"
8+
depends: [
9+
"dune" {>= "3.13"}
10+
"ocaml" {>= "5.3"}
11+
"cmdliner" {>= "1.1.0"}
12+
"dune-build-info"
13+
"cppo" {build}
14+
"ounit" {with-test}
15+
"reason" {dev & with-test}
16+
"ppxlib" {>= "0.30.0"}
17+
"menhir" {>= "20201214"}
18+
"reason-react-ppx" {with-test & post}
19+
"merlin" {with-test}
20+
"odoc" {with-doc}
21+
]
22+
build: [
23+
["dune" "subst"] {dev}
24+
[
25+
"dune"
26+
"build"
27+
"-p"
28+
name
29+
"-j"
30+
jobs
31+
"@install"
32+
"@runtest" {with-test}
33+
"@doc" {with-doc}
34+
]
35+
]
36+
dev-repo: "git+https://github.com/melange-re/melange.git"
37+
url {
38+
src:
39+
"https://github.com/melange-re/melange/releases/download/5.0.0-53/melange-5.0.0-53.tbz"
40+
checksum: [
41+
"sha256=659dff4dd844250ef8437c09916aa888e3447d5eb1efbcf449bafc7008ab5db0"
42+
"sha512=1051b793452b3a7e053aa3ca6d2e3742d75eb39da04bce8e53fc8753fa593391446342604a6740f9c346e81b2781a709648bf6a8a97a2342e2549c7401a1b0eb"
43+
]
44+
}
45+
x-commit-hash: "db197fbdbc5d65599925ca35b125385a1b8d80c0"

0 commit comments

Comments
 (0)