diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0eb56a8..3f83f65 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -3,7 +3,7 @@ name: build on: pull_request: push: - branch: + branches: - master jobs: @@ -41,6 +41,7 @@ jobs: - name: Use OCaml ${{ matrix.ocaml-compiler }} uses: ocaml/setup-ocaml@v2 with: + cache-prefix: v2 ocaml-compiler: ${{ matrix.ocaml-compiler }} opam-depext-flags: --with-test opam-local-packages: | diff --git a/Makefile b/Makefile index a026454..437e303 100644 --- a/Makefile +++ b/Makefile @@ -34,9 +34,9 @@ clean: _opam: opam switch create . --empty - opam switch set-invariant ocaml-base-compiler.4.14.1 install-dependencies: _opam + opam switch set-invariant ocaml-base-compiler.5.1.1 opam install . --deps-only --with-test DOCS_WORKTREE_PATH=../ocaml-decoders-doc diff --git a/dune-project b/dune-project index ffb8f80..bf122b6 100644 --- a/dune-project +++ b/dune-project @@ -150,7 +150,7 @@ (ocaml (>= 4.14.1)) (odoc :with-doc) (decoders (= :version)) - melange + (melange (>= 3.0.0)) (melange-fetch :with-test) (melange-jest :with-test) (melange-webapi :with-test))) diff --git a/melange-decoders.opam b/melange-decoders.opam index 0bf3b0a..0397380 100644 --- a/melange-decoders.opam +++ b/melange-decoders.opam @@ -14,7 +14,7 @@ depends: [ "ocaml" {>= "4.14.1"} "odoc" {with-doc} "decoders" {= version} - "melange" + "melange" {>= "3.0.0"} "melange-fetch" {with-test} "melange-jest" {with-test} "melange-webapi" {with-test} diff --git a/src-js/js_json.ml b/src-js/js_json.ml index ddbb981..b2547de 100644 --- a/src-js/js_json.ml +++ b/src-js/js_json.ml @@ -70,10 +70,10 @@ module Decode = struct let oks, errs = arr |> Js.Array.reducei - (fun (oks, errs) x i -> + ~f:(fun (oks, errs) x i -> match decoder.dec x with | Ok a -> - let _ = Js.Array.push a oks in + let _ = Js.Array.push ~value:a oks in (oks, errs) | Error e -> let _ = @@ -82,7 +82,7 @@ module Decode = struct errs in (oks, errs) ) - ([||], [||]) + ~init:([||], [||]) in if Js.Array.length errs > 0 then @@ -123,5 +123,5 @@ module Encode = struct include Encode.Make (Json_encodeable) let array encoder xs = - xs |> Js.Array.map (fun x -> encoder x) |> Js.Json.array + xs |> Js.Array.map ~f:(fun x -> encoder x) |> Js.Json.array end diff --git a/src-js/js_xml.ml b/src-js/js_xml.ml index 7820661..fe6ee78 100644 --- a/src-js/js_xml.ml +++ b/src-js/js_xml.ml @@ -12,7 +12,7 @@ module DOMParser = struct [@@mel.get] external querySelector : - Dom.element -> string -> Dom.element Js.null_undefined = "querySelector" + Dom.element -> string -> Dom.element Js.nullable = "querySelector" [@@mel.send] external textContent : Dom.element -> string = "textContent" [@@mel.get] @@ -96,7 +96,7 @@ module Element = struct external append : Dom.element -> Dom.node array -> unit = "append" - [@@mel.send] [@@variadic] + [@@mel.send] [@@mel.variadic] external setAttribute : Dom.element -> string -> string -> unit = "setAttribute" @@ -114,10 +114,10 @@ end module Document = struct external createElementNS : string -> string -> Dom.element = "createElementNS" - [@@scope "window", "document"] + [@@mel.scope "window", "document"] external createTextNode : string -> Dom.text = "createTextNode" - [@@scope "window", "document"] + [@@mel.scope "window", "document"] end module Encode = struct