Skip to content

Commit

Permalink
[new release] melange (2 packages) (2.0.0)
Browse files Browse the repository at this point in the history
CHANGES:

- Build executables for bytecode-only platforms too
  ([melange-re/melange#596](melange-re/melange#596))
- Move the entire builtin PPX to `melange.ppx`. Preprocessing with
  `melange.ppx` will needed in most cases going forward, as it's responsible
  for processing `external` declarations, `@deriving` attributes and more,
  compared to the previous release where `melange.ppx` just processed AST
  extension nodes ([melange-re/melange#583](melange-re/melange#583))
- Remove old BuckleScript-style conditional compilation
  ([melange-re/melange#605](melange-re/melange#605))
- Don't emit JS import / require paths with `foo/./bar.js`
  ([melange-re/melange#598](melange-re/melange#598),
  [melange-re/melange#612](melange-re/melange#612))
- Wrap the melange runtime
  ([melange-re/melange#624](melange-re/melange#624),
  [melange-re/melange#637](melange-re/melange#637)). After this change,
  Melange exposes fewer toplevel modules. Melange runtime / stdlib modules are
  now wrapped under:
    - `Caml*` / `Curry` modules are part of the runtime and keep being exposed
      as before
    - `Js.*` contains all the modules previously accessible via `Js_*`, e.g.
      `Js_int` -> `Js.Int`
    - `Belt.*` wraps all the `Belt` modules; `Belt_List` etc. are not exposed
      anymore, but rather nested under `Belt`, e.g. `Belt.List`
    - `Node.*`: we now ship a `melange.node` library that includes the modules
      containing Node.js bindings. After this change, users will have to depend
      on `melange.node` explicitly in order to use the `Node.*` modules
    - `Dom.*`: we now ship a `melange.dom` library that includes the modules
      containing Node.js bindings. This library is included by default so the
      `Dom` module will always be available in Melange projects.
- Disable warning 61 (`unboxable-type-in-prim-decl`) for externals generated by
  Melange ([melange-re/melange#641](melange-re/melange#641),
  [melange-re/melange#643](melange-re/melange#643))
- Add `--rectypes` ([melange-re/melange#644](melange-re/melange#644)) to
  enable [recursive
  types](https://v2.ocaml.org/releases/5.0/htmlman/types.html#sss:typexpr-aliased-recursive)
- [melange.ppx]: Deprecate `bs.*` attributes in favor of `mel.*`
  ([melange-re/melange#566](melange-re/melange#566),
  [melange-re/melange#662](melange-re/melange#662),
  [melange-re/melange#663](melange-re/melange#663))
- [melange]: Fix field access code generation when `open`in inline functor
  applications ([melange-re/melange#661](melange-re/melange#661),
  [melange-re/melange#664](melange-re/melange#664))
- [melange]: Upgrade the OCaml typechecker version to 5.1
  ([melange-re/melange#668](melange-re/melange#668))
- [melange.ppx]: Deprecate `[@@mel.val]` and suggest its removal. This
  attribute is redundant and unnecessary
  ([melange-re/melange#675](melange-re/melange#675),
  [melange-re/melange#678](melange-re/melange#678))
- [melange]: remove old, unused CLI flags: `-bs-ns`, `-bs-cmi`, `-bs-cmj`,
  `-bs-no-builtin-ppx`, `-bs-super-errors`
  ([melange-re/melange#686](melange-re/melange#686)).
- [melange]: generate correct code for types with the `option` shape
  ([melange-re/melange#700](melange-re/melange#700)).
- [melange]: stop exporting `$$default` in the generated JavaScript when using
  ES6 default exports `let default = ..`
  ([melange-re/melange#708](melange-re/melange#708)).
- [melange]: allow exporting invalid OCaml identifiers in the resulting
  JavaScript with `@mel.as`
  ([melange-re/melange#714](melange-re/melange#714), fixes
  [melange-re/melange#713](melange-re/melange#713)).
- [melange]: Allow using `@mel.as` in external declarations without explicitly
  annotating `@mel.{string,int}`
  ([melange-re/melange#722](melange-re/melange#722), fixes
  [melange-re/melange#578](melange-re/melange#578)).
- [melange]: Allow using `@mel.unwrap` in external declarations with `@mel.obj`
  ([melange-re/melange#724](melange-re/melange#724), fixes
  [melange-re/melange#679](melange-re/melange#679)).
- [melange]: Support renaming fields in inline records / record extensions with
  `@mel.as` ([melange-re/melange#732](melange-re/melange#732), fixes
  [melange-re/melange#730](melange-re/melange#730)).
  • Loading branch information
anmonteiro authored and mseri committed Sep 16, 2023
1 parent c4137ec commit 240c49a
Show file tree
Hide file tree
Showing 2 changed files with 87 additions and 0 deletions.
43 changes: 43 additions & 0 deletions packages/melange-playground/melange-playground.2.0.0/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
opam-version: "2.0"
synopsis: "The Melange compiler, bundled for the browser"
maintainer: ["Antonio Nuno Monteiro <anmonteiro@gmail.com>"]
authors: ["Antonio Nuno Monteiro <anmonteiro@gmail.com>"]
license: "LGPL-2.1-or-later"
homepage: "https://github.com/melange-re/melange"
bug-reports: "https://github.com/melange-re/melange/issues"
depends: [
"dune" {>= "3.8"}
"ocaml"
"js_of_ocaml"
"reason" {>= "3.9.0"}
"melange" {= version}
"reason-react-ppx" {= "dev"}
"odoc" {with-doc}
]
build: [
["dune" "subst"] {dev}
[
"dune"
"build"
"-p"
name
"-j"
jobs
"@install"
"@runtest" {with-test}
"@doc" {with-doc}
]
]
dev-repo: "git+https://github.com/melange-re/melange.git"
pin-depends: [
[ "reason-react-ppx.dev" "git+https://github.com/reasonml/reason-react.git#9e70d7548918816f1c0d8be8bdc66b6deabd339a" ]
]
url {
src:
"https://github.com/melange-re/melange/releases/download/2.0.0/melange-2.0.0.tbz"
checksum: [
"sha256=0e213624b1626428a181fa0fbb262eadffb24431e530ad06dca885c6f0cf1e55"
"sha512=a7517da8aaa5c9bb8690826af3f8ca6dbbf1bccaa3f76d8c522963f0f9d46dc5e280cc4739879fdb09674f178f5664b1ba42c774b533bc51e90332d8bf6722ae"
]
}
x-commit-hash: "465101328e0e1ec90e246b0a2e8622e6cbdc0584"
44 changes: 44 additions & 0 deletions packages/melange/melange.2.0.0/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
opam-version: "2.0"
synopsis: "Toolchain to produce JS from Reason/OCaml"
maintainer: ["Antonio Nuno Monteiro <anmonteiro@gmail.com>"]
authors: ["Antonio Nuno Monteiro <anmonteiro@gmail.com>"]
license: "LGPL-2.1-or-later"
homepage: "https://github.com/melange-re/melange"
bug-reports: "https://github.com/melange-re/melange/issues"
depends: [
"dune" {>= "3.8"}
"ocaml" {>= "5.1"}
"cmdliner" {>= "1.1.0"}
"dune-build-info"
"cppo" {build}
"ounit" {with-test}
"reason" {with-test & >= "3.9.0"}
"ppxlib" {>= "0.24.0"}
"menhir" {>= "20201214"}
"reactjs-jsx-ppx" {with-test}
"odoc" {with-doc}
]
build: [
["dune" "subst"] {dev}
[
"dune"
"build"
"-p"
name
"-j"
jobs
"@install"
"@runtest" {with-test}
"@doc" {with-doc}
]
]
dev-repo: "git+https://github.com/melange-re/melange.git"
url {
src:
"https://github.com/melange-re/melange/releases/download/2.0.0/melange-2.0.0.tbz"
checksum: [
"sha256=0e213624b1626428a181fa0fbb262eadffb24431e530ad06dca885c6f0cf1e55"
"sha512=a7517da8aaa5c9bb8690826af3f8ca6dbbf1bccaa3f76d8c522963f0f9d46dc5e280cc4739879fdb09674f178f5664b1ba42c774b533bc51e90332d8bf6722ae"
]
}
x-commit-hash: "465101328e0e1ec90e246b0a2e8622e6cbdc0584"

0 comments on commit 240c49a

Please sign in to comment.