Skip to content

Commit 2a5e858

Browse files
author
Hugo Heuzard
committed
[new release] js_of_ocaml, js_of_ocaml-tyxml, js_of_ocaml-toplevel, js_of_ocaml-ppx_deriving_json, js_of_ocaml-ppx, js_of_ocaml-lwt and js_of_ocaml-compiler (5.1.0)
CHANGES: ## Features/Changes * Lib: Added support for KeyboardEvent.getModifierState * Misc: bump min ocaml version to 4.08 * Misc: remove some old runtime files to support some external libs * Misc: switch to dune 3.7 * Effects: partial CPS transformation, resulting in much better performances, lower compilation time and smaller generated code * Compiler: separate compilation can now drops unused units when linking (similar to ocamlc). (ocsigen/js_of_ocaml#1378) * Compiler: specialize string to js-string conversion for all valid utf8 strings (previously just ascii) * Compiler: JavaScript files generated by `js_of_ocaml` are now UTF-8 encoded. * Compiler: use identifier for object literals when possible * Compiler: Cache function arity (the length prop of a function is slow with v8) * Compiler: The js lexer is now utf8 aware, recognize and emit utf8 ident * Compiler: Update the js lexer with new number literal syntax * Compiler: update js parser to support most es6 feature (ocsigen/js_of_ocaml#1391) * Compiler: stop parsing the builtin js runtime if not necessary * Compiler: improve js pretty printer (ocsigen/js_of_ocaml#1405) * Compiler: improve debug location and speedup compilation (ocsigen/js_of_ocaml#1407) * Toplevel: Enable separate compilation of toplevels * Runtime: js backtrace recording controled by OCAMLRUNPARAM * Runtime: support for zstd decompression of marshalled data (ocaml.5.1) (ocsigen/js_of_ocaml#12006) * Runtime: stub out custom runtime events symbols for OCaml 5.1 (ocsigen/js_of_ocaml#1414) ## Bug fixes * Effects: fix Js.export and Js.export_all to work with functions (ocsigen/js_of_ocaml#1417,ocsigen/js_of_ocaml#1377) * Sourcemap: fix incorrect sourcemap with separate compilation * Compiler: fix control flow analysis; some annotions were wrong in the runtime * Compiler: js backtrace recording respected in the js runtime and when using effects * Compiler: no longer fail on invalid source file (when the file is a directory) * Runtime: fix the compilation of some mutually recursive functions
1 parent 30146f6 commit 2a5e858

File tree

7 files changed

+328
-0
lines changed
  • packages
    • js_of_ocaml-compiler/js_of_ocaml-compiler.5.1.0
    • js_of_ocaml-lwt/js_of_ocaml-lwt.5.1.0
    • js_of_ocaml-ppx_deriving_json/js_of_ocaml-ppx_deriving_json.5.1.0
    • js_of_ocaml-ppx/js_of_ocaml-ppx.5.1.0
    • js_of_ocaml-toplevel/js_of_ocaml-toplevel.5.1.0
    • js_of_ocaml-tyxml/js_of_ocaml-tyxml.5.1.0
    • js_of_ocaml/js_of_ocaml.5.1.0

7 files changed

+328
-0
lines changed
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
opam-version: "2.0"
2+
synopsis: "Compiler from OCaml bytecode to JavaScript"
3+
description:
4+
"Js_of_ocaml is a compiler from OCaml bytecode to JavaScript. It makes it possible to run pure OCaml programs in JavaScript environment like browsers and Node.js"
5+
maintainer: ["Ocsigen team <[email protected]>"]
6+
authors: ["Ocsigen team <[email protected]>"]
7+
license:
8+
"GPL-2.0-or-later AND LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception"
9+
homepage: "https://ocsigen.org/js_of_ocaml/latest/manual/overview"
10+
doc: "https://ocsigen.org/js_of_ocaml/latest/manual/overview"
11+
bug-reports: "https://github.com/ocsigen/js_of_ocaml/issues"
12+
depends: [
13+
"dune" {>= "3.7"}
14+
"ocaml" {>= "4.08" & < "5.1"}
15+
"num" {with-test}
16+
"ppx_expect" {>= "v0.14.2" & with-test}
17+
"ppxlib" {>= "0.15.0"}
18+
"re" {with-test}
19+
"cmdliner" {>= "1.1.0"}
20+
"sedlex"
21+
"menhir"
22+
"menhirLib"
23+
"menhirSdk"
24+
"yojson"
25+
"odoc" {with-doc}
26+
]
27+
depopts: ["ocamlfind"]
28+
conflicts: [
29+
"ocamlfind" {< "1.5.1"}
30+
"js_of_ocaml" {< "3.0"}
31+
]
32+
dev-repo: "git+https://github.com/ocsigen/js_of_ocaml.git"
33+
build: [
34+
["dune" "subst"] {dev}
35+
[
36+
"dune"
37+
"build"
38+
"-p"
39+
name
40+
"-j"
41+
jobs
42+
"@install"
43+
"@doc" {with-doc}
44+
]
45+
]
46+
url {
47+
src:
48+
"https://github.com/ocsigen/js_of_ocaml/releases/download/5.1.0/js_of_ocaml-5.1.0.tbz"
49+
checksum: [
50+
"sha256=c17ad150772df43fc4e63ce1b9419f23c64169695a4cc4160eedcbc8f4d4c047"
51+
"sha512=a13d02b9dba9105c19852e69aeaa516f4cdd1efb1354b01b612e144c35df3cfc7dc432ab291568ed419bad1a9388339a528c2d799dcc45ccc761de48ae18b790"
52+
]
53+
}
54+
x-commit-hash: "fa1ae1e51cbe2ef49f1ee06f5273f79e96edc4b4"
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
opam-version: "2.0"
2+
synopsis: "Compiler from OCaml bytecode to JavaScript"
3+
description:
4+
"Js_of_ocaml is a compiler from OCaml bytecode to JavaScript. It makes it possible to run pure OCaml programs in JavaScript environment like browsers and Node.js"
5+
maintainer: ["Ocsigen team <[email protected]>"]
6+
authors: ["Ocsigen team <[email protected]>"]
7+
license:
8+
"GPL-2.0-or-later AND LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception"
9+
homepage: "https://ocsigen.org/js_of_ocaml/latest/manual/overview"
10+
doc: "https://ocsigen.org/js_of_ocaml/latest/manual/overview"
11+
bug-reports: "https://github.com/ocsigen/js_of_ocaml/issues"
12+
depends: [
13+
"dune" {>= "3.7"}
14+
"ocaml" {>= "4.08"}
15+
"js_of_ocaml" {= version}
16+
"js_of_ocaml-ppx" {= version}
17+
"lwt" {>= "2.4.4"}
18+
"num" {with-test}
19+
"ppx_expect" {>= "v0.14.2" & with-test}
20+
"ppxlib" {>= "0.22.0" & with-test}
21+
"re" {>= "1.9.0" & with-test}
22+
"odoc" {with-doc}
23+
]
24+
depopts: ["graphics" "lwt_log"]
25+
dev-repo: "git+https://github.com/ocsigen/js_of_ocaml.git"
26+
build: [
27+
["dune" "subst"] {dev}
28+
[
29+
"dune"
30+
"build"
31+
"-p"
32+
name
33+
"-j"
34+
jobs
35+
"@install"
36+
"@doc" {with-doc}
37+
]
38+
]
39+
url {
40+
src:
41+
"https://github.com/ocsigen/js_of_ocaml/releases/download/5.1.0/js_of_ocaml-5.1.0.tbz"
42+
checksum: [
43+
"sha256=c17ad150772df43fc4e63ce1b9419f23c64169695a4cc4160eedcbc8f4d4c047"
44+
"sha512=a13d02b9dba9105c19852e69aeaa516f4cdd1efb1354b01b612e144c35df3cfc7dc432ab291568ed419bad1a9388339a528c2d799dcc45ccc761de48ae18b790"
45+
]
46+
}
47+
x-commit-hash: "fa1ae1e51cbe2ef49f1ee06f5273f79e96edc4b4"
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
opam-version: "2.0"
2+
synopsis: "Compiler from OCaml bytecode to JavaScript"
3+
description:
4+
"Js_of_ocaml is a compiler from OCaml bytecode to JavaScript. It makes it possible to run pure OCaml programs in JavaScript environment like browsers and Node.js"
5+
maintainer: ["Ocsigen team <[email protected]>"]
6+
authors: ["Ocsigen team <[email protected]>"]
7+
license:
8+
"GPL-2.0-or-later AND LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception"
9+
homepage: "https://ocsigen.org/js_of_ocaml/latest/manual/overview"
10+
doc: "https://ocsigen.org/js_of_ocaml/latest/manual/overview"
11+
bug-reports: "https://github.com/ocsigen/js_of_ocaml/issues"
12+
depends: [
13+
"dune" {>= "3.7"}
14+
"ocaml" {>= "4.08"}
15+
"js_of_ocaml" {= version}
16+
"ppxlib" {>= "0.15.0"}
17+
"num" {with-test}
18+
"ppx_expect" {>= "v0.14.2" & with-test}
19+
"re" {>= "1.9.0" & with-test}
20+
"odoc" {with-doc}
21+
]
22+
dev-repo: "git+https://github.com/ocsigen/js_of_ocaml.git"
23+
build: [
24+
["dune" "subst"] {dev}
25+
[
26+
"dune"
27+
"build"
28+
"-p"
29+
name
30+
"-j"
31+
jobs
32+
"@install"
33+
"@doc" {with-doc}
34+
]
35+
]
36+
url {
37+
src:
38+
"https://github.com/ocsigen/js_of_ocaml/releases/download/5.1.0/js_of_ocaml-5.1.0.tbz"
39+
checksum: [
40+
"sha256=c17ad150772df43fc4e63ce1b9419f23c64169695a4cc4160eedcbc8f4d4c047"
41+
"sha512=a13d02b9dba9105c19852e69aeaa516f4cdd1efb1354b01b612e144c35df3cfc7dc432ab291568ed419bad1a9388339a528c2d799dcc45ccc761de48ae18b790"
42+
]
43+
}
44+
x-commit-hash: "fa1ae1e51cbe2ef49f1ee06f5273f79e96edc4b4"
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
opam-version: "2.0"
2+
synopsis: "Compiler from OCaml bytecode to JavaScript"
3+
description:
4+
"Js_of_ocaml is a compiler from OCaml bytecode to JavaScript. It makes it possible to run pure OCaml programs in JavaScript environment like browsers and Node.js"
5+
maintainer: ["Ocsigen team <[email protected]>"]
6+
authors: ["Ocsigen team <[email protected]>"]
7+
license:
8+
"GPL-2.0-or-later AND LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception"
9+
homepage: "https://ocsigen.org/js_of_ocaml/latest/manual/overview"
10+
doc: "https://ocsigen.org/js_of_ocaml/latest/manual/overview"
11+
bug-reports: "https://github.com/ocsigen/js_of_ocaml/issues"
12+
depends: [
13+
"dune" {>= "3.7"}
14+
"ocaml" {>= "4.08"}
15+
"js_of_ocaml" {= version}
16+
"ppxlib" {>= "0.15"}
17+
"num" {with-test}
18+
"ppx_expect" {>= "v0.14.2" & with-test}
19+
"re" {>= "1.9.0" & with-test}
20+
"odoc" {with-doc}
21+
]
22+
dev-repo: "git+https://github.com/ocsigen/js_of_ocaml.git"
23+
build: [
24+
["dune" "subst"] {dev}
25+
[
26+
"dune"
27+
"build"
28+
"-p"
29+
name
30+
"-j"
31+
jobs
32+
"@install"
33+
"@doc" {with-doc}
34+
]
35+
]
36+
url {
37+
src:
38+
"https://github.com/ocsigen/js_of_ocaml/releases/download/5.1.0/js_of_ocaml-5.1.0.tbz"
39+
checksum: [
40+
"sha256=c17ad150772df43fc4e63ce1b9419f23c64169695a4cc4160eedcbc8f4d4c047"
41+
"sha512=a13d02b9dba9105c19852e69aeaa516f4cdd1efb1354b01b612e144c35df3cfc7dc432ab291568ed419bad1a9388339a528c2d799dcc45ccc761de48ae18b790"
42+
]
43+
}
44+
x-commit-hash: "fa1ae1e51cbe2ef49f1ee06f5273f79e96edc4b4"
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
opam-version: "2.0"
2+
synopsis: "Compiler from OCaml bytecode to JavaScript"
3+
description:
4+
"Js_of_ocaml is a compiler from OCaml bytecode to JavaScript. It makes it possible to run pure OCaml programs in JavaScript environment like browsers and Node.js"
5+
maintainer: ["Ocsigen team <[email protected]>"]
6+
authors: ["Ocsigen team <[email protected]>"]
7+
license:
8+
"GPL-2.0-or-later AND LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception"
9+
homepage: "https://ocsigen.org/js_of_ocaml/latest/manual/overview"
10+
doc: "https://ocsigen.org/js_of_ocaml/latest/manual/overview"
11+
bug-reports: "https://github.com/ocsigen/js_of_ocaml/issues"
12+
depends: [
13+
"dune" {>= "3.7"}
14+
"ocaml" {>= "4.08"}
15+
"js_of_ocaml-compiler" {= version}
16+
"ocamlfind" {>= "1.5.1"}
17+
"cohttp-lwt-unix" {with-test}
18+
"graphics" {with-test}
19+
"num" {with-test}
20+
"ppx_expect" {>= "v0.14.2" & with-test}
21+
"ppxlib" {>= "0.15" & with-test}
22+
"re" {>= "1.9.0" & with-test}
23+
"odoc" {with-doc}
24+
]
25+
dev-repo: "git+https://github.com/ocsigen/js_of_ocaml.git"
26+
build: [
27+
["dune" "subst"] {dev}
28+
[
29+
"dune"
30+
"build"
31+
"-p"
32+
name
33+
"-j"
34+
jobs
35+
"@install"
36+
"@doc" {with-doc}
37+
]
38+
]
39+
url {
40+
src:
41+
"https://github.com/ocsigen/js_of_ocaml/releases/download/5.1.0/js_of_ocaml-5.1.0.tbz"
42+
checksum: [
43+
"sha256=c17ad150772df43fc4e63ce1b9419f23c64169695a4cc4160eedcbc8f4d4c047"
44+
"sha512=a13d02b9dba9105c19852e69aeaa516f4cdd1efb1354b01b612e144c35df3cfc7dc432ab291568ed419bad1a9388339a528c2d799dcc45ccc761de48ae18b790"
45+
]
46+
}
47+
x-commit-hash: "fa1ae1e51cbe2ef49f1ee06f5273f79e96edc4b4"
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
opam-version: "2.0"
2+
synopsis: "Compiler from OCaml bytecode to JavaScript"
3+
description:
4+
"Js_of_ocaml is a compiler from OCaml bytecode to JavaScript. It makes it possible to run pure OCaml programs in JavaScript environment like browsers and Node.js"
5+
maintainer: ["Ocsigen team <[email protected]>"]
6+
authors: ["Ocsigen team <[email protected]>"]
7+
license:
8+
"GPL-2.0-or-later AND LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception"
9+
homepage: "https://ocsigen.org/js_of_ocaml/latest/manual/overview"
10+
doc: "https://ocsigen.org/js_of_ocaml/latest/manual/overview"
11+
bug-reports: "https://github.com/ocsigen/js_of_ocaml/issues"
12+
depends: [
13+
"dune" {>= "3.7"}
14+
"ocaml" {>= "4.08"}
15+
"js_of_ocaml" {= version}
16+
"js_of_ocaml-ppx" {= version}
17+
"react" {>= "1.2.1"}
18+
"reactiveData" {>= "0.2"}
19+
"tyxml" {>= "4.3"}
20+
"num" {with-test}
21+
"ppx_expect" {>= "v0.14.2" & with-test}
22+
"ppxlib" {>= "0.22.0" & with-test}
23+
"re" {>= "1.9.0" & with-test}
24+
"odoc" {with-doc}
25+
]
26+
dev-repo: "git+https://github.com/ocsigen/js_of_ocaml.git"
27+
build: [
28+
["dune" "subst"] {dev}
29+
[
30+
"dune"
31+
"build"
32+
"-p"
33+
name
34+
"-j"
35+
jobs
36+
"@install"
37+
"@doc" {with-doc}
38+
]
39+
]
40+
url {
41+
src:
42+
"https://github.com/ocsigen/js_of_ocaml/releases/download/5.1.0/js_of_ocaml-5.1.0.tbz"
43+
checksum: [
44+
"sha256=c17ad150772df43fc4e63ce1b9419f23c64169695a4cc4160eedcbc8f4d4c047"
45+
"sha512=a13d02b9dba9105c19852e69aeaa516f4cdd1efb1354b01b612e144c35df3cfc7dc432ab291568ed419bad1a9388339a528c2d799dcc45ccc761de48ae18b790"
46+
]
47+
}
48+
x-commit-hash: "fa1ae1e51cbe2ef49f1ee06f5273f79e96edc4b4"
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
opam-version: "2.0"
2+
synopsis: "Compiler from OCaml bytecode to JavaScript"
3+
description:
4+
"Js_of_ocaml is a compiler from OCaml bytecode to JavaScript. It makes it possible to run pure OCaml programs in JavaScript environment like browsers and Node.js"
5+
maintainer: ["Ocsigen team <[email protected]>"]
6+
authors: ["Ocsigen team <[email protected]>"]
7+
license:
8+
"GPL-2.0-or-later AND LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception"
9+
homepage: "https://ocsigen.org/js_of_ocaml/latest/manual/overview"
10+
doc: "https://ocsigen.org/js_of_ocaml/latest/manual/overview"
11+
bug-reports: "https://github.com/ocsigen/js_of_ocaml/issues"
12+
depends: [
13+
"dune" {>= "3.7"}
14+
"ocaml" {>= "4.08"}
15+
"js_of_ocaml-compiler" {= version}
16+
"ppxlib" {>= "0.15"}
17+
"num" {with-test}
18+
"ppx_expect" {>= "v0.14.2" & with-test}
19+
"re" {>= "1.9.0" & with-test}
20+
"odoc" {with-doc}
21+
]
22+
dev-repo: "git+https://github.com/ocsigen/js_of_ocaml.git"
23+
build: [
24+
["dune" "subst"] {dev}
25+
[
26+
"dune"
27+
"build"
28+
"-p"
29+
name
30+
"-j"
31+
jobs
32+
"@install"
33+
"@doc" {with-doc}
34+
]
35+
]
36+
url {
37+
src:
38+
"https://github.com/ocsigen/js_of_ocaml/releases/download/5.1.0/js_of_ocaml-5.1.0.tbz"
39+
checksum: [
40+
"sha256=c17ad150772df43fc4e63ce1b9419f23c64169695a4cc4160eedcbc8f4d4c047"
41+
"sha512=a13d02b9dba9105c19852e69aeaa516f4cdd1efb1354b01b612e144c35df3cfc7dc432ab291568ed419bad1a9388339a528c2d799dcc45ccc761de48ae18b790"
42+
]
43+
}
44+
x-commit-hash: "fa1ae1e51cbe2ef49f1ee06f5273f79e96edc4b4"

0 commit comments

Comments
 (0)