├── .processes └── .gitkeep ├── dune ├── esy.lock ├── opam │ ├── seq.base │ │ ├── files │ │ │ ├── seq.install │ │ │ └── META.seq │ │ └── opam │ ├── conf-libev.4-12 │ │ ├── files │ │ │ └── build.sh │ │ └── opam │ ├── base-unix.base │ │ └── opam │ ├── base-threads.base │ │ └── opam │ ├── base-bytes.base │ │ └── opam │ ├── ocamlfind.1.9.6 │ │ ├── files │ │ │ └── 0001-Harden-test-for-OCaml-5.patch │ │ └── opam │ ├── faraday-lwt.0.8.2 │ │ └── opam │ ├── promise.1.1.2 │ │ └── opam │ ├── result.1.5 │ │ └── opam │ ├── ppx_derivers.1.2.1 │ │ └── opam │ ├── faraday-lwt-unix.0.8.2 │ │ └── opam │ ├── fix.20230505 │ │ └── opam │ ├── integers.0.7.0 │ │ └── opam │ ├── conf-libssl.4 │ │ ├── files │ │ │ └── homebrew.sh │ │ └── opam │ ├── lwt_ppx.2.1.0 │ │ └── opam │ ├── ppx_yojson_conv_lib.v0.17.0 │ │ └── opam │ ├── menhirCST.20231231 │ │ └── opam │ ├── menhir.20231231 │ │ └── opam │ ├── bigarray-compat.1.1.0 │ │ └── opam │ ├── menhirLib.20231231 │ │ └── opam │ ├── menhirSdk.20231231 │ │ └── opam │ ├── lwt_ssl.1.2.0 │ │ └── opam │ ├── stringext.1.6.0 │ │ └── opam │ ├── gen.1.1 │ │ └── opam │ ├── hmap.0.8.1 │ │ └── opam │ ├── ordering.3.15.3 │ │ └── opam │ ├── sexplib0.v0.17.0 │ │ └── opam │ ├── ssl.0.7.0 │ │ └── opam │ ├── fiber.3.7.0 │ │ └── opam │ ├── dyn.3.15.3 │ │ └── opam │ ├── graphql_parser.0.14.0 │ │ └── opam │ ├── merlin-extend.0.6.1 │ │ └── opam │ ├── ocaml-syntax-shims.1.0.0 │ │ └── opam │ ├── dream-pure.1.0.0~alpha2 │ │ └── opam │ ├── xdg.3.15.3 │ │ └── opam │ ├── faraday.0.8.2 │ │ └── opam │ ├── chrome-trace.3.15.3 │ │ └── opam │ ├── stdlib-shims.0.3.0 │ │ └── opam │ ├── duration.0.2.1 │ │ └── opam │ ├── merlin-lib.4.14-501 │ │ └── opam │ ├── dune-rpc.3.15.3 │ │ └── opam │ ├── ocaml-compiler-libs.v0.12.4 │ │ └── opam │ ├── psq.0.2.1 │ │ └── opam │ ├── ppx_deriving_yojson.3.8.0 │ │ └── opam │ ├── pecu.0.7 │ │ └── opam │ ├── cppo.1.6.9 │ │ └── opam │ ├── graphql-lwt.0.14.0 │ │ └── opam │ ├── ocamlbuild.0.14.3 │ │ └── opam │ ├── ocamlc-loc.3.15.3 │ │ └── opam │ ├── stdune.3.15.3 │ │ └── opam │ ├── quickjs.0.1.1 │ │ └── opam │ ├── mirage-crypto-rng-lwt.0.11.3 │ │ └── opam │ ├── mirage-clock.4.2.0 │ │ └── opam │ ├── reason-react-ppx.0.14.0 │ │ └── opam │ ├── uri.4.4.0 │ │ └── opam │ ├── melange.4.0.0-51 │ │ └── opam │ ├── rresult.0.7.0 │ │ └── opam │ ├── base64.3.5.1 │ │ └── opam │ ├── angstrom.0.16.0 │ │ └── opam │ ├── caqti-lwt.1.9.0 │ │ └── opam │ ├── astring.0.8.5 │ │ └── opam │ ├── eqaf.0.9 │ │ └── opam │ ├── prettym.0.0.3 │ │ └── opam │ ├── mirage-crypto.0.11.3 │ │ └── opam │ ├── mtime.2.0.0 │ │ └── opam │ ├── ppx_deriving.5.2.1 │ │ └── opam │ ├── yojson.2.1.2 │ │ └── opam │ ├── multipart_form-lwt.0.6.0 │ │ └── opam │ ├── re.1.11.0 │ │ └── opam │ ├── bigstringaf.0.9.1 │ │ └── opam │ ├── unstrctrd.0.4 │ │ └── opam │ ├── sedlex.3.2 │ │ └── opam │ ├── dream-httpaf.1.0.0~alpha2 │ │ └── opam │ ├── multipart_form.0.6.0 │ │ └── opam │ ├── dune-build-info.3.15.3 │ │ └── opam │ ├── ocamlformat-rpc-lib.0.26.2 │ │ └── opam │ ├── mirage-crypto-rng.0.11.3 │ │ └── opam │ ├── reason.3.11.0 │ │ └── opam │ ├── dune-configurator.3.15.3 │ │ └── opam │ ├── fmt.0.9.0 │ │ └── opam │ ├── ke.0.6 │ │ └── opam │ ├── magic-mime.1.3.1 │ │ └── opam │ ├── cstruct.6.2.0 │ │ └── opam │ ├── ptime.1.1.0 │ │ └── opam │ ├── cmdliner.1.3.0 │ │ └── opam │ ├── bigarray-overlap.0.2.1 │ │ └── opam │ ├── lwt.5.7.0 │ │ └── opam │ ├── styled-ppx.0.56.0 │ │ └── opam │ ├── ocplib-endian.1.2 │ │ └── opam │ ├── uutf.1.0.3 │ │ └── opam │ ├── graphql.0.14.0 │ │ └── opam │ ├── reason-react.0.14.0 │ │ └── opam │ ├── server-reason-react.0.2.0 │ │ └── opam │ ├── spawn.v0.15.1 │ │ └── opam │ ├── ctypes.0.22.0 │ │ └── opam │ ├── csexp.1.5.2 │ │ └── opam │ ├── topkg.1.0.7 │ │ └── opam │ ├── ocaml-lsp-server.1.17.0 │ │ └── opam │ ├── pp.1.2.0 │ │ └── opam │ ├── camlp-streams.5.0.1 │ │ └── opam │ ├── digestif.1.2.0 │ │ └── opam │ ├── ppxlib.0.32.1 │ │ └── opam │ ├── logs.0.7.0 │ │ └── opam │ ├── dune.3.15.3 │ │ └── opam │ ├── caqti.1.9.0 │ │ └── opam │ └── dream.1.0.0~alpha5 │ │ └── opam ├── overrides │ ├── opam__s__ocamlbuild_opam__c__0.14.3_opam_override │ │ ├── files │ │ │ ├── ocamlbuild-0.14.2.patch │ │ │ └── winpatch.patch │ │ └── package.json │ ├── feaa64344e452925e6ebbe0a3b417907 │ │ ├── esy-test │ │ │ ├── .gitignore │ │ │ ├── Readme.md │ │ │ └── package.json │ │ ├── .npmrc │ │ ├── .gitignore │ │ ├── .ci │ │ │ ├── yarnrc │ │ │ ├── steps.sh │ │ │ └── verdaccio-config.yaml │ │ ├── .github │ │ │ └── workflows │ │ │ │ └── workflow.yml │ │ ├── esy.json │ │ └── Readme.md │ ├── opam__s__mtime_opam__c__2.0.0_opam_override │ │ └── package.json │ ├── opam__s__ptime_opam__c__1.1.0_opam_override │ │ └── package.json │ ├── opam__s__ctypes_opam__c__0.22.0_opam_override │ │ └── package.json │ ├── opam__s__ssl_opam__c__0.7.0_opam_override │ │ ├── package.json │ │ └── files │ │ │ └── no-dynlink.patch │ ├── opam__s__melange_opam__c__4.0.0_51_opam_override │ │ ├── package.json │ │ └── files │ │ │ └── awk.patch │ ├── opam__s__conf_libev_opam__c__4_12_opam_override │ │ └── package.json │ └── opam__s__ocamlfind_opam__c__1.9.6_opam_override │ │ ├── files │ │ └── findlib.patch │ │ └── package.json ├── .gitignore └── .gitattributes ├── dune-project ├── shared ├── native │ ├── lib │ │ ├── SubHeader.re │ │ ├── Root.re │ │ ├── Link.re │ │ ├── Align.re │ │ ├── Spacer.re │ │ ├── Theme.re │ │ ├── Stack.re │ │ ├── Row.re │ │ ├── Counter.re │ │ └── App.re │ └── dune └── js │ └── dune ├── .dockerignore ├── .gitignore ├── benchmark └── README.md ├── docker-compose.yml ├── client ├── dune └── app.re ├── .vscode └── settings.json ├── package.json ├── webpack.config.js ├── server ├── dune └── server.re ├── .github └── workflows │ ├── deploy.yml │ └── build.yml ├── fly.toml ├── esy.json ├── Dockerfile ├── Makefile └── README.md /.processes/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dune: -------------------------------------------------------------------------------- 1 | (dirs static vendor shared server client) 2 | -------------------------------------------------------------------------------- /esy.lock/opam/seq.base/files/seq.install: -------------------------------------------------------------------------------- 1 | lib:[ 2 | "META.seq" {"META"} 3 | ] 4 | -------------------------------------------------------------------------------- /esy.lock/opam/conf-libev.4-12/files/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ocaml discover.ml 4 | -------------------------------------------------------------------------------- /dune-project: -------------------------------------------------------------------------------- 1 | (lang dune 3.8) 2 | (using directory-targets 0.1) 3 | (using melange 0.1) 4 | -------------------------------------------------------------------------------- /esy.lock/overrides/opam__s__ocamlbuild_opam__c__0.14.3_opam_override/files/ocamlbuild-0.14.2.patch: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /shared/native/lib/SubHeader.re: -------------------------------------------------------------------------------- 1 | [@react.component] 2 | let make = () => { 3 |
; 4 | }; 5 | -------------------------------------------------------------------------------- /esy.lock/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Reset any possible .gitignore, we want all esy.lock to be un-ignored. 3 | !* 4 | -------------------------------------------------------------------------------- /esy.lock/overrides/feaa64344e452925e6ebbe0a3b417907/esy-test/.gitignore: -------------------------------------------------------------------------------- 1 | esy.lock 2 | _esy 3 | node_modules -------------------------------------------------------------------------------- /esy.lock/overrides/feaa64344e452925e6ebbe0a3b417907/.npmrc: -------------------------------------------------------------------------------- 1 | //localhost:4873/:_authToken="+vVrDzq8gudTDDEoQOS+PQ==" -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- 1 | .git/ 2 | 3 | node_modules/ 4 | 5 | _build/ 6 | _esy/ 7 | .merlin 8 | 9 | static/ 10 | 11 | -------------------------------------------------------------------------------- /esy.lock/.gitattributes: -------------------------------------------------------------------------------- 1 | 2 | # Set eol to LF so files aren't converted to CRLF-eol on Windows. 3 | * text eol=lf linguist-generated 4 | -------------------------------------------------------------------------------- /esy.lock/overrides/feaa64344e452925e6ebbe0a3b417907/esy-test/Readme.md: -------------------------------------------------------------------------------- 1 | See [Readme in the root][../Readme.md#testing-and-making-sure-package-works-as-expected] 2 | -------------------------------------------------------------------------------- /esy.lock/overrides/feaa64344e452925e6ebbe0a3b417907/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | node_modules 3 | _esy 4 | _esy-package 5 | .log 6 | package.tar.gz 7 | package.tgz 8 | verdaccio-storage -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # npm. 2 | node_modules/ 3 | 4 | # Melange, Dune. 5 | _build/ 6 | _esy/ 7 | .melange.eobjs/ 8 | 9 | static/ 10 | 11 | .merlin 12 | 13 | .processes/last_built_at.txt 14 | -------------------------------------------------------------------------------- /esy.lock/opam/seq.base/files/META.seq: -------------------------------------------------------------------------------- 1 | name="seq" 2 | version="[distributed with OCaml 4.07 or above]" 3 | description="dummy backward-compatibility package for iterators" 4 | requires="" 5 | -------------------------------------------------------------------------------- /benchmark/README.md: -------------------------------------------------------------------------------- 1 | # Benchmark 2 | 3 | The benchmark has been moved to [ml-in-barcelona/server-reason-react/benchmark](https://github.com/ml-in-barcelona/fullstack-reason-react-demo/tree/main/benchmark). 4 | -------------------------------------------------------------------------------- /esy.lock/opam/base-unix.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Unix library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /esy.lock/opam/base-threads.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Threads library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3" 2 | 3 | services: 4 | web: 5 | build: . 6 | ports: 7 | - "8080:8080" 8 | restart: always 9 | logging: 10 | driver: ${LOGGING_DRIVER:-json-file} 11 | -------------------------------------------------------------------------------- /esy.lock/overrides/opam__s__mtime_opam__c__2.0.0_opam_override/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": "bash -c 'ocaml pkg/pkg.ml build --dev-pkg false || (./_build/sanitize.sh; ocaml pkg/pkg.ml build --dev-pkg false)'" 3 | } 4 | -------------------------------------------------------------------------------- /esy.lock/overrides/opam__s__ptime_opam__c__1.1.0_opam_override/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": "bash -c 'ocaml pkg/pkg.ml build --dev-pkg false || (./_build/sanitize.sh; ocaml pkg/pkg.ml build --dev-pkg false)'" 3 | } 4 | -------------------------------------------------------------------------------- /esy.lock/overrides/feaa64344e452925e6ebbe0a3b417907/.ci/yarnrc: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | email foo@bar.com 6 | username foo 7 | _password qweqwe 8 | password qweqwe -------------------------------------------------------------------------------- /shared/js/dune: -------------------------------------------------------------------------------- 1 | (library 2 | (name shared_js) 3 | (modes melange) 4 | (libraries melange reason-react styled-ppx.emotion) 5 | (preprocess 6 | (pps styled-ppx melange.ppx reason-react-ppx))) 7 | 8 | (copy_files# "../native/lib/*.re") 9 | -------------------------------------------------------------------------------- /client/dune: -------------------------------------------------------------------------------- 1 | (melange.emit 2 | (alias client) 3 | (target app) 4 | (modules app) 5 | (libraries melange shared_js reason-react styled-ppx.css styled-ppx.emotion) 6 | (preprocess 7 | (pps melange.ppx reason-react-ppx)) 8 | (module_systems commonjs)) 9 | -------------------------------------------------------------------------------- /esy.lock/overrides/opam__s__ctypes_opam__c__0.22.0_opam_override/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "exportedEnv": { 3 | "CAML_LD_LIBRARY_PATH": { 4 | "val": "#{self.lib / 'ctypes' : $CAML_LD_LIBRARY_PATH}", 5 | "scope": "global" 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /esy.lock/opam/base-bytes.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: " " 3 | authors: " " 4 | homepage: " " 5 | depends: [ 6 | "ocaml" {>= "4.02.0"} 7 | "ocamlfind" {>= "1.5.3"} 8 | ] 9 | synopsis: "Bytes library distributed with the OCaml compiler" 10 | -------------------------------------------------------------------------------- /esy.lock/overrides/opam__s__ssl_opam__c__0.7.0_opam_override/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": [ 3 | [ 4 | "bash", 5 | "-c", 6 | "#{os == 'linux' ? 'patch -p1 < no-dynlink.patch': 'true'}" 7 | ], 8 | "dune build -p ssl -j 4" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /esy.lock/overrides/opam__s__melange_opam__c__4.0.0_51_opam_override/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": [ 3 | [ 4 | "bash", 5 | "-c", 6 | "#{os == 'windows' ? 'patch -p1 < ./awk.patch': 'true'}" 7 | ], 8 | "dune build -p melange -j4" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /esy.lock/overrides/opam__s__ssl_opam__c__0.7.0_opam_override/files/no-dynlink.patch: -------------------------------------------------------------------------------- 1 | --- ./src/dune 2 | +++ ./src/dune 3 | @@ -1,6 +1,7 @@ 4 | (library 5 | (name ssl) 6 | (public_name ssl) 7 | + (no_dynlink) 8 | (libraries unix) 9 | (wrapped false) 10 | (foreign_stubs 11 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "ocaml.sandbox": { 3 | "kind": "esy", 4 | "root": "${workspaceFolder:fullstack-reason-react-demo}" 5 | }, 6 | "[reason]": { 7 | "editor.formatOnSave": true, 8 | "editor.defaultFormatter": "ocamllabs.ocaml-platform" 9 | }, 10 | } 11 | -------------------------------------------------------------------------------- /esy.lock/overrides/opam__s__conf_libev_opam__c__4_12_opam_override/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "buildEnv": { 3 | "LIBRARY_PATH": "#{esy-libev.lib}", 4 | "C_INCLUDE_PATH": "#{esy-libev.install / 'include'}" 5 | }, 6 | "build": "true", 7 | "dependencies": { 8 | "esy-libev": "*", 9 | "ocaml": "*" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /esy.lock/overrides/feaa64344e452925e6ebbe0a3b417907/esy-test/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "esy": { 3 | "build": "ls #{esy-openssl.lib}" 4 | }, 5 | "dependencies": { 6 | "esy-openssl": "1.1.1000-t" 7 | }, 8 | "resolutions": { 9 | "yarn-pkg-config": "esy-ocaml/yarn-pkg-config#9293b15f9f0e3dcac6f86ebb1e09a2fa766289ba" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /shared/native/lib/Root.re: -------------------------------------------------------------------------------- 1 | [@react.component] 2 | let make = (~children, ~background) => { 3 |
11 | children 12 |
; 13 | }; 14 | -------------------------------------------------------------------------------- /shared/native/lib/Link.re: -------------------------------------------------------------------------------- 1 | [@react.component] 2 | let make = (~url, ~txt) => { 3 | { 7 | React.Event.Mouse.preventDefault( 8 | e, 9 | /* ReasonReactRouter.push(url); */ 10 | ) 11 | }}> 12 | {React.string(txt)} 13 | ; 14 | }; 15 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "scripts": { 3 | "webpack:dev": "make webpack" 4 | }, 5 | "name": "fullstack-reason-react-demo", 6 | "dependencies": { 7 | "@emotion/css": "^11.10.6", 8 | "react": "18.x", 9 | "react-dom": "18.x", 10 | "webpack": "5.x", 11 | "webpack-cli": "5.x" 12 | }, 13 | "devDependencies": { 14 | "express": "^4.18.2" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /shared/native/dune: -------------------------------------------------------------------------------- 1 | (include_subdirs unqualified) 2 | 3 | (library 4 | (name shared_native) 5 | (libraries 6 | server-reason-react.react 7 | server-reason-react.reactDom 8 | server-reason-react.js 9 | server-reason-react.belt 10 | styled-ppx.emotion_native) 11 | (preprocess 12 | (pps styled-ppx melange.ppx server-reason-react.ppx))) 13 | 14 | (copy_files# "../*.re") 15 | -------------------------------------------------------------------------------- /esy.lock/opam/seq.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: " " 3 | authors: " " 4 | homepage: " " 5 | depends: [ 6 | "ocaml" {>= "4.07.0"} 7 | ] 8 | dev-repo: "git+https://github.com/ocaml/ocaml.git" 9 | bug-reports: "https://caml.inria.fr/mantis/main_page.php" 10 | synopsis: 11 | "Compatibility package for OCaml's standard iterator type starting from 4.07." 12 | extra-files: [ 13 | ["seq.install" "md5=026b31e1df290373198373d5aaa26e42"] 14 | ["META.seq" "md5=b33c8a1a6c7ed797816ce27df4855107"] 15 | ] 16 | -------------------------------------------------------------------------------- /esy.lock/overrides/opam__s__ocamlfind_opam__c__1.9.6_opam_override/files/findlib.patch: -------------------------------------------------------------------------------- 1 | --- ./Makefile 2 | +++ ./Makefile 3 | @@ -55,7 +55,7 @@ 4 | export USE_CYGPATH; \ 5 | cat findlib.conf.in | \ 6 | $(SH) tools/patch '@SITELIB@' '$(OCAML_SITELIB)' | \ 7 | - $(SH) tools/patch '@FINDLIB_PATH@' '$(FINDLIB_PATH)' -p >findlib.conf 8 | + $(SH) tools/patch '@FINDLIB_PATH@' '$(FINDLIB_PATH)' >findlib.conf 9 | if ./tools/cmd_from_same_dir ocamlc; then \ 10 | echo 'ocamlc="ocamlc.opt"' >>findlib.conf; \ 11 | fi 12 | -------------------------------------------------------------------------------- /webpack.config.js: -------------------------------------------------------------------------------- 1 | const Path = require("path"); 2 | 3 | let buildFolder = Path.join(__dirname, "_build/default/client"); 4 | 5 | module.exports = (env) => ({ 6 | devtool: env.production ? false : "inline-cheap-module-source-map", 7 | entry: { 8 | app: Path.join(buildFolder, "/app/client/app.js"), 9 | header: Path.join(buildFolder, "/header/client/header.js") 10 | }, 11 | mode: env.production ? "production" : "development", 12 | output: { 13 | path: Path.join(__dirname, "static"), 14 | filename: "[name].js", 15 | } 16 | }); 17 | -------------------------------------------------------------------------------- /esy.lock/opam/ocamlfind.1.9.6/files/0001-Harden-test-for-OCaml-5.patch: -------------------------------------------------------------------------------- 1 | diff a/configure b/configure 2 | --- a/configure 3 | +++ b/configure 4 | @@ -294,7 +294,7 @@ 5 | # If findlib has been configured -sitelib $(ocamlc -where) then there's 6 | # nothing to do, but otherwise we need to put OCaml's Standard Library 7 | # into the path setting. 8 | - if [ ! -e "${ocaml_sitelib}/stdlib/META" ]; then 9 | + if [ ! -e "${ocaml_sitelib}/stdlib.cmi" ]; then 10 | ocamlpath="${ocaml_core_stdlib}${path_sep}${ocamlpath}" 11 | fi 12 | fi 13 | -------------------------------------------------------------------------------- /esy.lock/overrides/opam__s__ocamlbuild_opam__c__0.14.3_opam_override/files/winpatch.patch: -------------------------------------------------------------------------------- 1 | --- ./Makefile 2 | +++ ./Makefile 3 | @@ -271,7 +271,7 @@ 4 | echo ' "ocamlbuild.byte" {"ocamlbuild.byte"}' >> ocamlbuild.install 5 | ifeq ($(OCAML_NATIVE), true) 6 | echo ' "ocamlbuild.native" {"ocamlbuild.native"}' >> ocamlbuild.install 7 | - echo ' "ocamlbuild.native" {"ocamlbuild"}' >> ocamlbuild.install 8 | + echo " \"ocamlbuild.native\" {\"ocamlbuild${EXE}\"}" >> ocamlbuild.install 9 | else 10 | echo ' "ocamlbuild.byte" {"ocamlbuild"}' >> ocamlbuild.install 11 | endif 12 | -------------------------------------------------------------------------------- /shared/native/lib/Align.re: -------------------------------------------------------------------------------- 1 | // Not sure why verticalAlign type cannot have `top and `bottom. 2 | type verticalAlign = [ | `center]; 3 | type horizontalAlign = [ | `left | `center | `right]; 4 | 5 | [@react.component] 6 | let make = (~h: horizontalAlign=`center, ~v: verticalAlign=`center, ~children) => { 7 | let className: string = [%cx 8 | {| 9 | display: flex; 10 | flex-direction: column; 11 | height: 100%; 12 | width: 100%; 13 | align-items: $(h); 14 | justify-content: $(v); 15 | |} 16 | ]; 17 | 18 |
children
; 19 | }; 20 | -------------------------------------------------------------------------------- /server/dune: -------------------------------------------------------------------------------- 1 | (executable 2 | (name server) 3 | (libraries 4 | dream 5 | shared_native 6 | server-reason-react.react 7 | server-reason-react.reactDom 8 | styled-ppx.css) 9 | (preprocess 10 | (pps server-reason-react.melange_ppx server-reason-react.ppx lwt_ppx))) 11 | 12 | (rule 13 | (alias server) 14 | (deps ./server.exe) 15 | (action 16 | ; we want dune to write the file but not attach any fsevents listeners to it, 17 | ; so that watchexec can read from it without issues. 18 | ; this means no (target), no (with-stdout-to), just a bash command with stdout 19 | ; redirect inside a string 20 | (bash "date > %{project_root}/../../.processes/last_built_at.txt"))) 21 | -------------------------------------------------------------------------------- /shared/native/lib/Spacer.re: -------------------------------------------------------------------------------- 1 | let unsafeWhenNotZero = (prop, value) => 2 | if (value == 0) { 3 | []; 4 | } else { 5 | [prop(value |> Theme.px)]; 6 | }; 7 | 8 | [@react.component] 9 | let make = (~children=?, ~top=0, ~left=0, ~right=0, ~bottom=0, ~all=0) => { 10 | let className = 11 | Css.style( 12 | List.flatten([ 13 | unsafeWhenNotZero(Css.marginTop, top), 14 | unsafeWhenNotZero(Css.marginBottom, bottom), 15 | unsafeWhenNotZero(Css.marginLeft, left), 16 | unsafeWhenNotZero(Css.marginRight, right), 17 | unsafeWhenNotZero(Css.margin, all), 18 | ]), 19 | ); 20 | 21 |
22 | {switch (children) { 23 | | None => React.null 24 | | Some(c) => c 25 | }} 26 |
; 27 | }; 28 | -------------------------------------------------------------------------------- /shared/native/lib/Theme.re: -------------------------------------------------------------------------------- 1 | type align = [ | `start | `center | `end_]; 2 | 3 | type justify = [ | `around | `between | `evenly | `start | `center | `end_]; 4 | 5 | let unit = v => v * 4; 6 | let px = v => `px(unit(v)); 7 | 8 | module Media = { 9 | let maxWidth400 = "(max-width: 400px)"; 10 | let onMobile = rules => { 11 | Css.media(maxWidth400, rules); 12 | }; 13 | }; 14 | 15 | module Color = { 16 | let white = Css.white; 17 | let black = Css.black; 18 | let reason = Css.hex("db4d3f"); 19 | let react = Css.hex("149eca"); 20 | let lightGrey = Css.hex("c1c5cd"); 21 | let darkGrey = Css.hex("292a2d"); 22 | let backgroundBox = Css.hex("2e3c56"); 23 | let brokenWhite = Css.hex("eaecee"); 24 | let white01 = Css.rgba(255, 255, 255, `num(0.1)); 25 | }; 26 | -------------------------------------------------------------------------------- /.github/workflows/deploy.yml: -------------------------------------------------------------------------------- 1 | name: Deploy on fly.io 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | pull_request: 8 | branches: 9 | - main 10 | 11 | jobs: 12 | deploy: 13 | name: Deploy 14 | runs-on: ubuntu-latest 15 | steps: 16 | - name: Checkout repo 17 | uses: actions/checkout@v3 18 | 19 | - name: Read app name 20 | uses: SebRollen/toml-action@v1.0.2 21 | id: app_name 22 | with: 23 | file: "fly.toml" 24 | field: "app" 25 | 26 | - name: Deploy 27 | uses: superfly/flyctl-actions@1.3 28 | with: 29 | args: "deploy --remote-only --app ${{ steps.app_name.outputs.value }}" 30 | env: 31 | FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} 32 | -------------------------------------------------------------------------------- /client/app.re: -------------------------------------------------------------------------------- 1 | let useState = a => { 2 | let (value, setValue) = React.useState(_ => a); 3 | let setValueStatic = value => setValue(_ => value); 4 | (value, setValueStatic); 5 | }; 6 | 7 | module Counter = { 8 | [@react.component] 9 | let make = (~name) => { 10 | let (count, setCount) = useState(0); 11 | 12 |
13 |

14 | {React.string( 15 | name ++ " clicked " ++ Int.to_string(count) ++ " times", 16 | )} 17 |

18 | 21 |
; 22 | }; 23 | }; 24 | 25 | switch (ReactDOM.querySelector("#root")) { 26 | | Some(el) => ignore @@ ReactDOM.Client.hydrateRoot(el, ) 27 | | None => () 28 | }; 29 | -------------------------------------------------------------------------------- /esy.lock/overrides/opam__s__ocamlbuild_opam__c__0.14.3_opam_override/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": [ 3 | [ 4 | "bash", 5 | "-c", 6 | "#{os == 'windows' ? 'patch -p1 < winpatch.patch' : 'true'}" 7 | ], 8 | [ 9 | "make", 10 | "-f", 11 | "configure.make", 12 | "all", 13 | "OCAMLBUILD_PREFIX=#{self.install}", 14 | "OCAMLBUILD_BINDIR=#{self.bin}", 15 | "OCAMLBUILD_LIBDIR=#{self.lib}", 16 | "OCAMLBUILD_MANDIR=#{self.man}", 17 | "OCAMLBUILD_NATIVE=true", 18 | "OCAMLBUILD_NATIVE_TOOLS=true", 19 | "EXE=#{os == 'windows' ? '.exe': ''}" 20 | ], 21 | [ 22 | "make", 23 | "check-if-preinstalled", 24 | "all", 25 | "EXE=#{os == 'windows' ? '.exe': ''}", 26 | "opam-install" 27 | ] 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /esy.lock/opam/faraday-lwt.0.8.2/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Spiros Eliopoulos " 3 | authors: [ "Spiros Eliopoulos " ] 4 | license: "BSD-3-clause" 5 | homepage: "https://github.com/inhabitedtype/faraday" 6 | bug-reports: "https://github.com/inhabitedtype/faraday/issues" 7 | dev-repo: "git+https://github.com/inhabitedtype/faraday.git" 8 | build: [ 9 | ["dune" "subst"] {dev} 10 | ["dune" "build" "-p" name "-j" jobs] 11 | ["dune" "runtest" "-p" name "-j" jobs] {with-test} 12 | ] 13 | depends: [ 14 | "ocaml" {>= "4.03.0"} 15 | "dune" {>= "1.11"} 16 | "faraday" {>= "0.5.0"} 17 | "lwt" 18 | ] 19 | synopsis: "Lwt support for Faraday" 20 | url { 21 | src: "https://github.com/inhabitedtype/faraday/archive/0.8.2.tar.gz" 22 | checksum: "md5=307dccc4ea67ff0eeff394701d05bbe7" 23 | } 24 | -------------------------------------------------------------------------------- /esy.lock/opam/promise.1.1.2/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | 3 | synopsis: "Native implementation of a JS promise binding" 4 | 5 | license: "MIT" 6 | homepage: "https://github.com/aantron/promise" 7 | doc: "https://github.com/aantron/promise" 8 | bug-reports: "https://github.com/aantron/promise/issues" 9 | 10 | authors: "Anton Bachin " 11 | maintainer: "Anton Bachin " 12 | dev-repo: "git+https://github.com/aantron/promise.git" 13 | 14 | depends: [ 15 | "dune" 16 | "ocaml" 17 | "reason" {build & >= "3.3.2"} 18 | "result" 19 | ] 20 | 21 | build: [ 22 | ["dune" "build" "-p" name "-j" jobs] 23 | ["dune" "exec" "test/test_main.exe" "-p" name "-j" jobs] {with-test} 24 | ] 25 | 26 | url { 27 | src: "https://github.com/aantron/promise/archive/1.1.2.tar.gz" 28 | checksum: "md5=e9e47a94c20799f9eec483569e7990b6" 29 | } 30 | -------------------------------------------------------------------------------- /esy.lock/opam/result.1.5/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Jane Street developers" 3 | authors: ["Jane Street Group, LLC"] 4 | homepage: "https://github.com/janestreet/result" 5 | dev-repo: "git+https://github.com/janestreet/result.git" 6 | bug-reports: "https://github.com/janestreet/result/issues" 7 | license: "BSD-3-Clause" 8 | build: [["dune" "build" "-p" name "-j" jobs]] 9 | depends: [ 10 | "ocaml" 11 | "dune" {>= "1.0"} 12 | ] 13 | synopsis: "Compatibility Result module" 14 | description: """ 15 | Projects that want to use the new result type defined in OCaml >= 4.03 16 | while staying compatible with older version of OCaml should use the 17 | Result module defined in this library.""" 18 | url { 19 | src: 20 | "https://github.com/janestreet/result/releases/download/1.5/result-1.5.tbz" 21 | checksum: "md5=1b82dec78849680b49ae9a8a365b831b" 22 | } 23 | -------------------------------------------------------------------------------- /esy.lock/opam/ppx_derivers.1.2.1/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "jeremie@dimino.org" 3 | authors: ["Jérémie Dimino"] 4 | license: "BSD-3-Clause" 5 | homepage: "https://github.com/ocaml-ppx/ppx_derivers" 6 | bug-reports: "https://github.com/ocaml-ppx/ppx_derivers/issues" 7 | dev-repo: "git+https://github.com/ocaml-ppx/ppx_derivers.git" 8 | build: [ 9 | ["dune" "build" "-p" name "-j" jobs] 10 | ] 11 | depends: [ 12 | "ocaml" 13 | "dune" 14 | ] 15 | synopsis: "Shared [@@deriving] plugin registry" 16 | description: """ 17 | Ppx_derivers is a tiny package whose sole purpose is to allow 18 | ppx_deriving and ppx_type_conv to inter-operate gracefully when linked 19 | as part of the same ocaml-migrate-parsetree driver.""" 20 | url { 21 | src: "https://github.com/ocaml-ppx/ppx_derivers/archive/1.2.1.tar.gz" 22 | checksum: "md5=5dc2bf130c1db3c731fe0fffc5648b41" 23 | } 24 | -------------------------------------------------------------------------------- /esy.lock/opam/faraday-lwt-unix.0.8.2/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Spiros Eliopoulos " 3 | authors: [ "Spiros Eliopoulos " ] 4 | license: "BSD-3-clause" 5 | homepage: "https://github.com/inhabitedtype/faraday" 6 | bug-reports: "https://github.com/inhabitedtype/faraday/issues" 7 | dev-repo: "git+https://github.com/inhabitedtype/faraday.git" 8 | build: [ 9 | ["dune" "subst"] {dev} 10 | ["dune" "build" "-p" name "-j" jobs] 11 | ["dune" "runtest" "-p" name "-j" jobs] {with-test} 12 | ] 13 | depends: [ 14 | "ocaml" {>= "4.03.0"} 15 | "dune" {>= "1.11"} 16 | "faraday-lwt" 17 | "lwt" {>= "2.7.0"} 18 | "base-unix" 19 | ] 20 | synopsis: "Lwt_unix support for Faraday" 21 | url { 22 | src: "https://github.com/inhabitedtype/faraday/archive/0.8.2.tar.gz" 23 | checksum: "md5=307dccc4ea67ff0eeff394701d05bbe7" 24 | } 25 | -------------------------------------------------------------------------------- /esy.lock/opam/fix.20230505/opam: -------------------------------------------------------------------------------- 1 | 2 | opam-version: "2.0" 3 | maintainer: "francois.pottier@inria.fr" 4 | authors: [ 5 | "François Pottier " 6 | ] 7 | homepage: "https://gitlab.inria.fr/fpottier/fix" 8 | dev-repo: "git+https://gitlab.inria.fr/fpottier/fix.git" 9 | bug-reports: "francois.pottier@inria.fr" 10 | license: "LGPL-2.0-only" 11 | build: [ 12 | ["dune" "build" "-p" name "-j" jobs] 13 | ] 14 | depends: [ 15 | "ocaml" { >= "4.03" } 16 | "dune" { >= "1.3" } 17 | ] 18 | synopsis: "Algorithmic building blocks for memoization, recursion, and more" 19 | url { 20 | src: 21 | "https://gitlab.inria.fr/fpottier/fix/-/archive/20230505/archive.tar.gz" 22 | checksum: [ 23 | "md5=2a4afa633128c5010677222f7b3c9451" 24 | "sha512=30d446ba6c19aef78b52d9831eb26f8f6ac10e88bd1eff36d16fbbfb32278b2637e31e63a160aec4abbbfdb1e7612ed25d68c936f4cbf2073e51d713ff3a8adf" 25 | ] 26 | } 27 | -------------------------------------------------------------------------------- /fly.toml: -------------------------------------------------------------------------------- 1 | # fly.toml file generated for fullstack-reason-react-demo on 2022-11-29T17:50:52+01:00 2 | 3 | app = "fullstack-reason-react-demo" 4 | kill_signal = "SIGINT" 5 | kill_timeout = 5 6 | processes = [] 7 | 8 | [env] 9 | SERVER_INTERFACE = "0.0.0.0" 10 | 11 | [experimental] 12 | allowed_public_ports = [] 13 | auto_rollback = true 14 | 15 | [[services]] 16 | http_checks = [] 17 | internal_port = 8080 18 | processes = ["app"] 19 | protocol = "tcp" 20 | script_checks = [] 21 | [services.concurrency] 22 | hard_limit = 25 23 | soft_limit = 20 24 | type = "connections" 25 | 26 | [[services.ports]] 27 | force_https = true 28 | handlers = ["http"] 29 | port = 80 30 | 31 | [[services.ports]] 32 | handlers = ["tls", "http"] 33 | port = 443 34 | 35 | [[services.tcp_checks]] 36 | grace_period = "1s" 37 | interval = "15s" 38 | restart_limit = 0 39 | timeout = "2s" 40 | -------------------------------------------------------------------------------- /esy.lock/opam/integers.0.7.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "yallop@gmail.com" 3 | authors: ["Jeremy Yallop" 4 | "Demi Obenour" 5 | "Stephane Glondu" 6 | "Andreas Hauptmann"] 7 | homepage: "https://github.com/yallop/ocaml-integers" 8 | bug-reports: "https://github.com/yallop/ocaml-integers/issues" 9 | dev-repo: "git+https://github.com/yallop/ocaml-integers.git" 10 | license: "MIT" 11 | 12 | build: [ 13 | ["dune" "subst"] {dev} 14 | ["dune" "build" "-p" name "-j" jobs] 15 | ["dune" "runtest" "-p" name "-j" jobs] {with-test} 16 | ] 17 | 18 | depends: [ 19 | "ocaml" {>= "4.03"} 20 | "dune" {>= "1.0"} 21 | "stdlib-shims" 22 | ] 23 | doc: "http://yallop.github.io/ocaml-integers/api.docdir/" 24 | synopsis: "Various signed and unsigned integer types for OCaml" 25 | url { 26 | src: "https://github.com/yallop/ocaml-integers/archive/0.7.0.tar.gz" 27 | checksum: "md5=201cf24143d7cb9a3921d572b6e6c42c" 28 | } 29 | -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: Build 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | pull_request: 8 | branches: 9 | - main 10 | 11 | jobs: 12 | build: 13 | strategy: 14 | matrix: 15 | os: [ubuntu-latest, windows-latest, macos-latest, macos-13] 16 | name: Deploy 17 | runs-on: ${{ matrix.os }} 18 | steps: 19 | - uses: actions/checkout@v2 20 | - uses: actions/setup-node@v2 21 | - name: Install esy 22 | run: npm install -g esy 23 | - uses: esy/github-action@6a5070d392db3e8c776724674737cab37c07263d 24 | with: 25 | source-cache-key: 20240511-2 26 | cache-key: ${{ hashFiles('esy.lock/index.json') }}-20240511-1 27 | - name: Export esy cache 28 | run: esy export-dependencies 29 | - uses: actions/upload-artifact@v4.3.1 30 | with: 31 | name: dependencies-cache-${{ matrix.os }} 32 | path: _export 33 | 34 | -------------------------------------------------------------------------------- /esy.lock/opam/conf-libssl.4/files/homebrew.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -ex 2 | 3 | # check the openssl installation 4 | # and symlink the homebrew pkg-config files for openssl to the opam local pkgconfig directory 5 | 6 | brew_pkg_config=$(brew --prefix openssl)/lib/pkgconfig 7 | 8 | case "$1" in 9 | check) 10 | if test "$#" != 1; then 11 | echo "Usage: $0 check" 12 | exit 1 13 | fi 14 | export PKG_CONFIG_PATH="$brew_pkg_config:$PKG_CONFIG_PATH" 15 | pkg-config --print-errors --exists openssl 16 | ;; 17 | install) 18 | if test "$#" != 2; then 19 | echo "Usage: $0 install " 20 | exit 1 21 | fi 22 | for fpath in "$brew_pkg_config"/*.pc; do 23 | test -e "$fpath" || break 24 | fname=$(basename "$fpath") 25 | tdir="$2/pkgconfig" 26 | mkdir -p "$tdir" 27 | ln -s "$fpath" "$tdir/$fname" 28 | done 29 | ;; 30 | *) 31 | echo "Usage: $0 " 32 | exit 1 33 | ;; 34 | esac 35 | -------------------------------------------------------------------------------- /esy.lock/opam/lwt_ppx.2.1.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | 3 | synopsis: "PPX syntax for Lwt, providing something similar to async/await from JavaScript" 4 | license: "MIT" 5 | homepage: "https://github.com/ocsigen/lwt" 6 | doc: "https://ocsigen.org/lwt/dev/api/Ppx_lwt" 7 | bug-reports: "https://github.com/ocsigen/lwt/issues" 8 | 9 | authors: [ 10 | "Gabriel Radanne" 11 | ] 12 | maintainer: [ 13 | "Anton Bachin " 14 | ] 15 | dev-repo: "git+https://github.com/ocsigen/lwt.git" 16 | 17 | depends: [ 18 | "dune" {>= "1.8.0"} 19 | "lwt" 20 | "ocaml" {>= "4.08"} 21 | "ppxlib" {>= "0.16.0"} 22 | ] 23 | 24 | build: [ 25 | ["dune" "build" "-p" name "-j" jobs] 26 | ] 27 | url { 28 | src: "https://github.com/ocsigen/lwt/archive/5.6.0.tar.gz" 29 | checksum: [ 30 | "md5=e63979ee40a80d5b9e9e5545f33323b4" 31 | "sha512=d616389bc9e0da11f25843ab7541ac2d40c9543700a89455f14115b339bbe58cef2b8acf0ae97fd54e15a4cb93149cfe1ebfda301aa93933045f76b7d9344160" 32 | ] 33 | } 34 | -------------------------------------------------------------------------------- /shared/native/lib/Stack.re: -------------------------------------------------------------------------------- 1 | open Theme; 2 | 3 | [@react.component] 4 | let make = 5 | (~gap=0, ~align=`start, ~justify=`around, ~fullHeight=false, ~children) => { 6 | let className = 7 | Css.style([ 8 | Css.display(`flex), 9 | Css.flexDirection(`column), 10 | fullHeight ? Css.height(`percent(100.)) : Css.height(`auto), 11 | switch ((align: align)) { 12 | | `start => Css.alignItems(`flexStart) 13 | | `center => Css.alignItems(`center) 14 | | `end_ => Css.alignItems(`flexEnd) 15 | }, 16 | switch (justify) { 17 | | `around => Css.justifyContent(`spaceAround) 18 | | `between => Css.justifyContent(`spaceBetween) 19 | | `evenly => Css.justifyContent(`spaceEvenly) 20 | | `start => Css.justifyContent(`flexStart) 21 | | `center => Css.justifyContent(`center) 22 | | `end_ => Css.justifyContent(`flexEnd) 23 | }, 24 | Css.gap(Theme.px(gap)), 25 | ]); 26 | 27 |
children
; 28 | }; 29 | -------------------------------------------------------------------------------- /esy.lock/overrides/feaa64344e452925e6ebbe0a3b417907/.github/workflows/workflow.yml: -------------------------------------------------------------------------------- 1 | name: Build and test the esy package 2 | 3 | on: 4 | - push 5 | 6 | jobs: 7 | build: 8 | strategy: 9 | fail-fast: false 10 | matrix: 11 | os: 12 | - macos-latest 13 | - ubuntu-latest 14 | - windows-latest 15 | 16 | runs-on: ${{ matrix.os }} 17 | 18 | steps: 19 | - name: Checkout code 20 | uses: actions/checkout@v3 21 | 22 | - name: Use Node.js 14.x 23 | uses: actions/setup-node@v3 24 | with: 25 | node-version: 14.x 26 | 27 | - name: Install esy, verdaccio and esy-package 28 | run: npm install -g @esy-nightly/esy verdaccio esy-package@dev 29 | 30 | - name: Run end-to-end tests on the package 31 | run: DEBUG=bale*,verdaccio* esy-package 32 | shell: bash 33 | 34 | - uses: actions/upload-artifact@v3 35 | with: 36 | name: release 37 | path: package.tar.gz 38 | -------------------------------------------------------------------------------- /esy.lock/opam/ppx_yojson_conv_lib.v0.17.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Jane Street developers" 3 | authors: ["Jane Street Group, LLC"] 4 | homepage: "https://github.com/janestreet/ppx_yojson_conv_lib" 5 | bug-reports: "https://github.com/janestreet/ppx_yojson_conv_lib/issues" 6 | dev-repo: "git+https://github.com/janestreet/ppx_yojson_conv_lib.git" 7 | doc: "https://ocaml.janestreet.com/ocaml-core/latest/doc/ppx_yojson_conv_lib/index.html" 8 | license: "MIT" 9 | build: [ 10 | ["dune" "build" "-p" name "-j" jobs] 11 | ] 12 | depends: [ 13 | "ocaml" {>= "5.1.0"} 14 | "dune" {>= "3.11.0"} 15 | "yojson" {>= "1.7.0"} 16 | ] 17 | available: arch != "arm32" & arch != "x86_32" 18 | synopsis: "Runtime lib for ppx_yojson_conv" 19 | description: " 20 | Part of the Jane Street's PPX rewriters collection. 21 | " 22 | url { 23 | src: "https://github.com/janestreet/ppx_yojson_conv_lib/archive/refs/tags/v0.17.0.tar.gz" 24 | checksum: "sha256=f6e6ee92408c53c5ecd8bb5ae93811aa4cf71f8dc144d5943be8fc2c7697b199" 25 | } 26 | -------------------------------------------------------------------------------- /esy.lock/opam/menhirCST.20231231/opam: -------------------------------------------------------------------------------- 1 | 2 | opam-version: "2.0" 3 | maintainer: "francois.pottier@inria.fr" 4 | authors: [ 5 | "François Pottier " 6 | ] 7 | homepage: "http://gitlab.inria.fr/fpottier/menhir" 8 | dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" 9 | bug-reports: "https://gitlab.inria.fr/fpottier/menhir/-/issues" 10 | license: "LGPL-2.0-only with OCaml-LGPL-linking-exception" 11 | build: [ 12 | ["dune" "build" "-p" name "-j" jobs] 13 | ] 14 | depends: [ 15 | "ocaml" { >= "4.08" } 16 | "dune" { >= "2.8.0" } 17 | ] 18 | conflicts: [ 19 | "menhir" { != version } 20 | ] 21 | synopsis: "Runtime support library for parsers generated by Menhir" 22 | url { 23 | src: 24 | "https://gitlab.inria.fr/fpottier/menhir/-/archive/20231231/archive.tar.gz" 25 | checksum: [ 26 | "md5=799748bc3b7a542798a85956c7863865" 27 | "sha512=620ff3443143535e03ac98c5e8ee2ddf9ba48f8cfe441302118def1da3e03ffac7f48d4d4cb129766b625ecad0fb341da1baa0169dee8b6d07a5b0bbb735cf2f" 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /esy.lock/overrides/feaa64344e452925e6ebbe0a3b417907/esy.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "esy-openssl", 3 | "version": "1.1.1000-t", 4 | "description": "openssl packaged for esy", 5 | "source": "https://www.openssl.org/source/openssl-1.1.1t.tar.gz#sha256:8dee9b24bdb1dcbf0c3d1e9b02fb8f6bf22165e807f45adeb7c9677536859d3b", 6 | "override": { 7 | "build": [ 8 | [ 9 | "./Configure", 10 | "--prefix=#{self.install}", 11 | "--openssldir=#{self.etc / 'openssl-1.1'}", 12 | "#{os == 'windows' ? 'mingw64': 'cc'}", 13 | "#{os == 'windows' ? '--cross-compile-prefix=x86_64-w64-mingw32-': '--cross-compile-prefix=' }", 14 | "no-ssl3", 15 | "no-ssl3-method", 16 | "no-zlib" 17 | ], 18 | "make" 19 | ], 20 | "install": "make install", 21 | "buildsInSource": true, 22 | "exportedEnv": { 23 | "PKG_CONFIG_PATH": { 24 | "val": "#{self.lib / 'pkgconfig'}", 25 | "scope": "global" 26 | } 27 | }, 28 | "dependencies": {} 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /esy.lock/opam/menhir.20231231/opam: -------------------------------------------------------------------------------- 1 | 2 | opam-version: "2.0" 3 | maintainer: "francois.pottier@inria.fr" 4 | authors: [ 5 | "François Pottier " 6 | "Yann Régis-Gianas " 7 | ] 8 | homepage: "http://gitlab.inria.fr/fpottier/menhir" 9 | dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" 10 | bug-reports: "https://gitlab.inria.fr/fpottier/menhir/-/issues" 11 | license: "GPL-2.0-only" 12 | build: [ 13 | ["dune" "build" "-p" name "-j" jobs] 14 | ] 15 | depends: [ 16 | "ocaml" {>= "4.03.0"} 17 | "dune" {>= "2.8.0"} 18 | "menhirLib" {= version} 19 | "menhirSdk" {= version} 20 | "menhirCST" {= version} 21 | ] 22 | synopsis: "An LR(1) parser generator" 23 | url { 24 | src: 25 | "https://gitlab.inria.fr/fpottier/menhir/-/archive/20231231/archive.tar.gz" 26 | checksum: [ 27 | "md5=799748bc3b7a542798a85956c7863865" 28 | "sha512=620ff3443143535e03ac98c5e8ee2ddf9ba48f8cfe441302118def1da3e03ffac7f48d4d4cb129766b625ecad0fb341da1baa0169dee8b6d07a5b0bbb735cf2f" 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /esy.lock/opam/bigarray-compat.1.1.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Lucas Pluvinage " 3 | authors: [ "Lucas Pluvinage " ] 4 | license: "ISC" 5 | homepage: "https://github.com/mirage/bigarray-compat" 6 | bug-reports: "https://github.com/mirage/bigarray-compat/issues" 7 | dev-repo: "git+https://github.com/mirage/bigarray-compat.git" 8 | build: [ 9 | ["dune" "subst"] {dev} 10 | ["dune" "build" "-p" name "-j" jobs] 11 | ] 12 | depends: [ 13 | "ocaml" {>= "4.02.3"} 14 | "dune" {>= "1.0"} 15 | ] 16 | synopsis: 17 | "Compatibility library to use Stdlib.Bigarray when possible" 18 | url { 19 | src: 20 | "https://github.com/mirage/bigarray-compat/releases/download/v1.1.0/bigarray-compat-1.1.0.tbz" 21 | checksum: [ 22 | "sha256=434469a48d5c84e80d621b13d95eb067f8138c1650a1fd5ae6009a19b93718d5" 23 | "sha512=7be283fd957ee168ce1e62835d22114da405e4b7da9619b4f2030a832d45ca210a0c8f1d1c57c92e224f3512308a8a0f0923b94f44b6f582acbe0e7728d179d4" 24 | ] 25 | } 26 | x-commit-hash: "2ea842ba4ab2cfee7b711f7ad927917f3179a6f9" 27 | -------------------------------------------------------------------------------- /esy.lock/opam/menhirLib.20231231/opam: -------------------------------------------------------------------------------- 1 | 2 | opam-version: "2.0" 3 | maintainer: "francois.pottier@inria.fr" 4 | authors: [ 5 | "François Pottier " 6 | "Yann Régis-Gianas " 7 | ] 8 | homepage: "http://gitlab.inria.fr/fpottier/menhir" 9 | dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" 10 | bug-reports: "https://gitlab.inria.fr/fpottier/menhir/-/issues" 11 | license: "LGPL-2.0-only with OCaml-LGPL-linking-exception" 12 | build: [ 13 | ["dune" "build" "-p" name "-j" jobs] 14 | ] 15 | depends: [ 16 | "ocaml" { >= "4.03.0" } 17 | "dune" { >= "2.8.0" } 18 | ] 19 | conflicts: [ 20 | "menhir" { != version } 21 | ] 22 | synopsis: "Runtime support library for parsers generated by Menhir" 23 | url { 24 | src: 25 | "https://gitlab.inria.fr/fpottier/menhir/-/archive/20231231/archive.tar.gz" 26 | checksum: [ 27 | "md5=799748bc3b7a542798a85956c7863865" 28 | "sha512=620ff3443143535e03ac98c5e8ee2ddf9ba48f8cfe441302118def1da3e03ffac7f48d4d4cb129766b625ecad0fb341da1baa0169dee8b6d07a5b0bbb735cf2f" 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /esy.lock/opam/menhirSdk.20231231/opam: -------------------------------------------------------------------------------- 1 | 2 | opam-version: "2.0" 3 | maintainer: "francois.pottier@inria.fr" 4 | authors: [ 5 | "François Pottier " 6 | "Yann Régis-Gianas " 7 | ] 8 | homepage: "http://gitlab.inria.fr/fpottier/menhir" 9 | dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" 10 | bug-reports: "https://gitlab.inria.fr/fpottier/menhir/-/issues" 11 | license: "LGPL-2.0-only with OCaml-LGPL-linking-exception" 12 | build: [ 13 | ["dune" "build" "-p" name "-j" jobs] 14 | ] 15 | depends: [ 16 | "ocaml" { >= "4.03.0" } 17 | "dune" { >= "2.8.0" } 18 | ] 19 | conflicts: [ 20 | "menhir" { != version } 21 | ] 22 | synopsis: "Compile-time library for auxiliary tools related to Menhir" 23 | url { 24 | src: 25 | "https://gitlab.inria.fr/fpottier/menhir/-/archive/20231231/archive.tar.gz" 26 | checksum: [ 27 | "md5=799748bc3b7a542798a85956c7863865" 28 | "sha512=620ff3443143535e03ac98c5e8ee2ddf9ba48f8cfe441302118def1da3e03ffac7f48d4d4cb129766b625ecad0fb341da1baa0169dee8b6d07a5b0bbb735cf2f" 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /esy.lock/opam/lwt_ssl.1.2.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | 3 | synopsis: "OpenSSL binding with concurrent I/O" 4 | license: "LGPL with OpenSSL linking exception" 5 | homepage: "https://github.com/ocsigen/lwt_ssl" 6 | doc: "https://github.com/ocsigen/lwt_ssl/blob/master/src/lwt_ssl.mli" 7 | bug-reports: "https://github.com/ocsigen/lwt_ssl/issues" 8 | 9 | authors: [ 10 | "Jérôme Vouillon" 11 | "Jérémie Dimino" 12 | ] 13 | maintainer: "Anton Bachin " 14 | dev-repo: "git+https://github.com/ocsigen/lwt_ssl.git" 15 | 16 | depends: [ 17 | "base-unix" 18 | "dune" 19 | "lwt" {>= "3.0.0"} 20 | "ocaml" 21 | "ssl" {>= "0.5.13"} 22 | ] 23 | 24 | build: [ 25 | ["dune" "build" "-p" name "-j" jobs] 26 | ] 27 | url { 28 | src: 29 | "https://github.com/ocsigen/lwt_ssl/releases/download/1.2.0/lwt_ssl-1.2.0.tbz" 30 | checksum: [ 31 | "sha256=b3020ad27aecf377e1c3f2740a08b36dcbba991f843066511357410548889a77" 32 | "sha512=cf2ef7d4db26e40c044e743ce85849a10eb57c916cbd7d6291bf4458291689098293bfb4cd7f1023f3ae8bc8e9a68cb2c7470669501a9b44695659405a75aa00" 33 | ] 34 | } 35 | x-commit-hash: "d9ea0ab93da68f0d13ed710cc16f80983923f9ba" 36 | -------------------------------------------------------------------------------- /shared/native/lib/Row.re: -------------------------------------------------------------------------------- 1 | [@react.component] 2 | let make = 3 | ( 4 | ~gap=0, 5 | ~align: Theme.align=`start, 6 | ~justify: Theme.justify=`around, 7 | ~fullHeight=false, 8 | ~fullWidth=false, 9 | ~children, 10 | ) => { 11 | let className = 12 | Css.style([ 13 | Css.display(`flex), 14 | Css.flexDirection(`row), 15 | fullHeight ? Css.height(`percent(100.)) : Css.height(`auto), 16 | fullWidth ? Css.width(`percent(100.)) : Css.width(`auto), 17 | switch (align) { 18 | | `start => Css.alignItems(`flexStart) 19 | | `center => Css.alignItems(`center) 20 | | `end_ => Css.alignItems(`flexEnd) 21 | }, 22 | switch (justify) { 23 | | `around => Css.justifyContent(`spaceAround) 24 | | `between => Css.justifyContent(`spaceBetween) 25 | | `evenly => Css.justifyContent(`spaceEvenly) 26 | | `start => Css.justifyContent(`flexStart) 27 | | `center => Css.justifyContent(`center) 28 | | `end_ => Css.justifyContent(`flexEnd) 29 | }, 30 | Css.gap(Theme.px(gap)), 31 | ]); 32 | 33 |
children
; 34 | }; 35 | -------------------------------------------------------------------------------- /esy.lock/opam/stringext.1.6.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "rudi.grinberg@gmail.com" 3 | authors: "Rudi Grinberg" 4 | license: "MIT" 5 | homepage: "https://github.com/rgrinberg/stringext" 6 | bug-reports: "https://github.com/rgrinberg/stringext/issues" 7 | depends: [ 8 | "ocaml" {>= "4.02.3"} 9 | "dune" {>= "1.0"} 10 | "ounit" {with-test} 11 | "qtest" {with-test & >= "2.2"} 12 | ] 13 | build: [ 14 | ["dune" "subst"] {dev} 15 | ["dune" "build" "-p" name "-j" jobs] 16 | ["dune" "runtest" "-p" name "-j" jobs] {with-test} 17 | ] 18 | dev-repo: "git+https://github.com/rgrinberg/stringext.git" 19 | synopsis: "Extra string functions for OCaml" 20 | description: """ 21 | Extra string functions for OCaml. Mainly splitting. All functions are in the 22 | Stringext module. 23 | """ 24 | url { 25 | src: 26 | "https://github.com/rgrinberg/stringext/releases/download/1.6.0/stringext-1.6.0.tbz" 27 | checksum: [ 28 | "sha256=db41f5d52e9eab17615f110b899dfeb27dd7e7f89cd35ae43827c5119db206ea" 29 | "sha512=d8ebe40f42b598a9bd99f1ef4b00ba93458385a4accd121af66a0bf3b3f8d7135f576740adf1a43081dd409977c2219fd4bdbb5b3d1308890d301d553ed49900" 30 | ] 31 | } 32 | -------------------------------------------------------------------------------- /esy.lock/opam/gen.1.1/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "simon.cruanes.2007@m4x.org" 3 | synopsis: "Iterators for OCaml, both restartable and consumable" 4 | license: "BSD-2-Clause" 5 | build: [ 6 | ["dune" "build" "@install" "-p" name "-j" jobs] 7 | ["dune" "runtest" "-p" name "-j" jobs] {with-test} 8 | ["dune" "build" "@doc" "-p" name "-j" jobs] {with-doc} 9 | ] 10 | depends: [ 11 | "dune" {>= "1.1"} 12 | "seq" 13 | "odoc" {with-doc} 14 | "qcheck" {with-test & >= "0.9"} 15 | "qtest" {with-test} 16 | "ounit2" {with-test} 17 | "ocaml" { >= "4.03.0" } 18 | ] 19 | tags: [ "gen" "iterator" "iter" "fold" ] 20 | homepage: "https://github.com/c-cube/gen/" 21 | doc: "https://c-cube.github.io/gen/" 22 | bug-reports: "https://github.com/c-cube/gen/issues" 23 | dev-repo: "git+https://github.com/c-cube/gen.git" 24 | authors: ["Simon Cruanes" "ELLIOTTCABLE"] 25 | url { 26 | src: "https://github.com/c-cube/gen/archive/v1.1.tar.gz" 27 | checksum: [ 28 | "md5=fa8066511b693815fe659fd022f4c6bc" 29 | "sha512=71a4b5c3666a7c11935398a78feea7383f61d2c549dfb96e324d40783ffa87b5ec492c5ec468803aabfb9b48e7d0ebaa30b24d2b974540afc7cca5feea3121c1" 30 | ] 31 | } 32 | -------------------------------------------------------------------------------- /esy.lock/opam/hmap.0.8.1/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Daniel Bünzli " 3 | authors: ["Daniel Bünzli "] 4 | homepage: "http://erratique.ch/software/hmap" 5 | doc: "http://erratique.ch/software/hmap/doc" 6 | license: "ISC" 7 | dev-repo: "git+http://erratique.ch/repos/hmap.git" 8 | bug-reports: "http://github.com/dbuenzli/hmap/issues" 9 | tags: ["data-structure" "org:erratique"] 10 | depends: [ 11 | "ocaml" {>= "4.02.0"} 12 | "ocamlfind" {build} 13 | "ocamlbuild" {build} 14 | "topkg" {build} 15 | ] 16 | build: [[ 17 | "ocaml" "pkg/pkg.ml" "build" 18 | "--pinned" "%{pinned}%" ]] 19 | synopsis: "Heterogeneous value maps for OCaml" 20 | description: """ 21 | Hmap provides heterogeneous value maps for OCaml. These maps bind keys 22 | to values with arbitrary types. Keys witness the type of the value 23 | they are bound to which allows to add and lookup bindings in a type 24 | safe manner. 25 | 26 | Hmap has no dependency and is distributed under the ISC license.""" 27 | url { 28 | src: "http://erratique.ch/software/hmap/releases/hmap-0.8.1.tbz" 29 | checksum: "md5=04169252265a11d852e1547445177196" 30 | } 31 | -------------------------------------------------------------------------------- /esy.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fullstack-reason-react-demo", 3 | "dependencies": { 4 | "ocaml": "5.x", 5 | "@opam/conf-libssl": "3", 6 | "@opam/dream": "*", 7 | "@opam/dune": "*", 8 | "@opam/melange": "*", 9 | "@opam/reason": "*", 10 | "@opam/styled-ppx": "*", 11 | "@opam/reason-react": "*", 12 | "@opam/reason-react-ppx": "*", 13 | "@opam/server-reason-react": "*" 14 | }, 15 | "devDependencies": { 16 | "@opam/ocaml-lsp-server": "*" 17 | }, 18 | "resolutions": { 19 | "esy-gmp": "esy-packages/esy-gmp:package.json#58aa36e793a20f24da415a4ee98223c596bd546e", 20 | "@opam/conf-libssl": { 21 | "version": "opam:4", 22 | "override": { 23 | "dependencies": { 24 | "esy-openssl": "*" 25 | } 26 | } 27 | }, 28 | "@opam/conf-pkg-config": { 29 | "source": "no-source:", 30 | "override": { 31 | "dependencies": { 32 | "esy-pkg-config": "*" 33 | } 34 | } 35 | }, 36 | "esy-openssl": "ManasJayanth/esy-openssl:esy.json#9fa3c66632d4e5861a0a11c62f9237bba2af6f68" 37 | }, 38 | "installConfig": { "pnp": false }, 39 | "esy": { 40 | "buildsInSource": "unsafe", 41 | "build": ["dune build @client"] 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /esy.lock/overrides/opam__s__ocamlfind_opam__c__1.9.6_opam_override/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": [ 3 | [ 4 | "bash", 5 | "-c", 6 | "#{os == 'windows' ? 'patch -p1 < findlib.patch' : 'true'}" 7 | ], 8 | [ 9 | "./configure", 10 | "-bindir", 11 | "#{self.bin}", 12 | "-sitelib", 13 | "#{self.lib}", 14 | "-mandir", 15 | "#{self.man}", 16 | "-config", 17 | "#{self.lib}/findlib.conf", 18 | "-no-custom", 19 | "-no-topfind" 20 | ], 21 | [ 22 | "make", 23 | "all" 24 | ], 25 | [ 26 | "make", 27 | "opt" 28 | ] 29 | ], 30 | "install": [ 31 | [ 32 | "make", 33 | "install" 34 | ], 35 | [ 36 | "install", 37 | "-m", 38 | "0755", 39 | "ocaml-stub", 40 | "#{self.bin}/ocaml" 41 | ], 42 | [ 43 | "mkdir", 44 | "-p", 45 | "#{self.toplevel}" 46 | ], 47 | [ 48 | "install", 49 | "-m", 50 | "0644", 51 | "src/findlib/topfind", 52 | "#{self.toplevel}/topfind" 53 | ] 54 | ], 55 | "exportedEnv": { 56 | "OCAML_TOPLEVEL_PATH": { 57 | "val": "#{self.toplevel}", 58 | "scope": "global" 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /esy.lock/opam/ordering.3.15.3/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Element ordering" 3 | description: "Element ordering" 4 | maintainer: ["Jane Street Group, LLC "] 5 | authors: ["Jane Street Group, LLC "] 6 | license: "MIT" 7 | homepage: "https://github.com/ocaml/dune" 8 | doc: "https://dune.readthedocs.io/" 9 | bug-reports: "https://github.com/ocaml/dune/issues" 10 | depends: [ 11 | "dune" {>= "3.12"} 12 | "ocaml" {>= "4.08.0"} 13 | "odoc" {with-doc} 14 | ] 15 | dev-repo: "git+https://github.com/ocaml/dune.git" 16 | build: [ 17 | ["dune" "subst"] {dev} 18 | ["rm" "-rf" "vendor/csexp"] 19 | ["rm" "-rf" "vendor/pp"] 20 | [ 21 | "dune" 22 | "build" 23 | "-p" 24 | name 25 | "-j" 26 | jobs 27 | "@install" 28 | "@doc" {with-doc} 29 | ] 30 | ] 31 | url { 32 | src: 33 | "https://github.com/ocaml/dune/releases/download/3.15.3/dune-3.15.3.tbz" 34 | checksum: [ 35 | "sha256=3c27c7676414056f0368a71fdc670d2b0a59898090c78a1b68230984e5beb713" 36 | "sha512=c88ac7a6ed9334a4bc6231ecfb0efaa961dda99bc386fd5b92505151ff833dfaf058d75305fbb64c496e570058ec9000ac6add06dda7a395e757e924af1d1a7f" 37 | ] 38 | } 39 | x-commit-hash: "55da8f9248e3f5a06d6234ae35b140d1b37c6f0b" 40 | -------------------------------------------------------------------------------- /esy.lock/opam/sexplib0.v0.17.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Jane Street developers" 3 | authors: ["Jane Street Group, LLC"] 4 | homepage: "https://github.com/janestreet/sexplib0" 5 | bug-reports: "https://github.com/janestreet/sexplib0/issues" 6 | dev-repo: "git+https://github.com/janestreet/sexplib0.git" 7 | doc: "https://ocaml.janestreet.com/ocaml-core/latest/doc/sexplib0/index.html" 8 | license: "MIT" 9 | build: [ 10 | ["dune" "build" "-p" name "-j" jobs] 11 | ] 12 | depends: [ 13 | "ocaml" {>= "4.14.0"} 14 | "dune" {>= "3.11.0"} 15 | ] 16 | available: arch != "arm32" & arch != "x86_32" 17 | synopsis: "Library containing the definition of S-expressions and some base converters" 18 | description: " 19 | Part of Jane Street's Core library 20 | The Core suite of libraries is an industrial strength alternative to 21 | OCaml's standard library that was developed by Jane Street, the 22 | largest industrial user of OCaml. 23 | " 24 | url { 25 | src: 26 | "https://github.com/janestreet/sexplib0/archive/refs/tags/v0.17.0.tar.gz" 27 | checksum: [ 28 | "md5=abafe8fd1d6302e55a315f4d78960d2a" 29 | "sha512=ad387e40789fe70a11473db7e85fe017b801592624414e9030730b2e92ea08f98095fb6e9236430f33c801605ebee0a2a6284e0f618a26a7da4599d4fd9d395d" 30 | ] 31 | } 32 | -------------------------------------------------------------------------------- /esy.lock/opam/ssl.0.7.0/opam: -------------------------------------------------------------------------------- 1 | # This file is generated by dune, edit dune-project instead 2 | opam-version: "2.0" 3 | synopsis: "Bindings for OpenSSL" 4 | maintainer: ["Antonio Monteiro "] 5 | authors: ["Samuel Mimram "] 6 | license: "LGPL-2.1-only WITH OCaml-LGPL-linking-exception" 7 | homepage: "https://github.com/savonet/ocaml-ssl" 8 | bug-reports: "https://github.com/savonet/ocaml-ssl/issues" 9 | depends: [ 10 | "dune" {>= "2.7"} 11 | "ocaml" {>= "4.03.0"} 12 | "dune-configurator" 13 | "conf-libssl" 14 | "alcotest" {with-test} 15 | "bisect_ppx" {dev & >= "2.5.0"} 16 | "odoc" {with-doc} 17 | ] 18 | build: [ 19 | ["dune" "subst"] {dev} 20 | [ 21 | "dune" 22 | "build" 23 | "-p" 24 | name 25 | "-j" 26 | jobs 27 | "@install" 28 | "@runtest" {with-test & ocaml:version >= "4.08.0"} 29 | "@doc" {with-doc} 30 | ] 31 | ] 32 | dev-repo: "git+https://github.com/savonet/ocaml-ssl.git" 33 | url { 34 | src: "https://github.com/savonet/ocaml-ssl/archive/refs/tags/v0.7.0.tar.gz" 35 | checksum: [ 36 | "md5=0ced13c2beef2135cd9d3a3743ea0e37" 37 | "sha512=969c4d64828449a49bdef26ca5f8faa72d2fe2a2304ccbf589a3ff097c2bf8ae9eb83ae1c90216f6b4d6f359e462ea47e0106a7386e26848d14910138fcb07f8" 38 | ] 39 | } 40 | -------------------------------------------------------------------------------- /esy.lock/opam/fiber.3.7.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Dune's monadic structured concurrency library" 3 | maintainer: ["Jane Street Group, LLC "] 4 | authors: ["Jane Street Group, LLC "] 5 | license: "MIT" 6 | homepage: "https://github.com/ocaml-dune/fiber" 7 | bug-reports: "https://github.com/ocaml-dune/fiber/issues" 8 | depends: [ 9 | "dune" {>= "3.6"} 10 | "ocaml" {>= "4.08"} 11 | "ppx_expect" {with-test & < "v0.17"} 12 | "dyn" 13 | "stdune" 14 | "odoc" {with-doc} 15 | ] 16 | build: [ 17 | ["dune" "subst"] {dev} 18 | [ 19 | "dune" 20 | "build" 21 | "-p" 22 | name 23 | "-j" 24 | jobs 25 | "@install" 26 | "@runtest" {with-test & ocaml:version >= "4.13"} 27 | "@doc" {with-doc} 28 | ] 29 | ] 30 | dev-repo: "git+https://github.com/ocaml-dune/fiber.git" 31 | url { 32 | src: 33 | "https://github.com/ocaml-dune/fiber/releases/download/3.7.0/fiber-lwt-3.7.0.tbz" 34 | checksum: [ 35 | "sha256=8648a15ae93fe6942999ce36887429a3913b62829c4714e520cc0e7a1c3b9682" 36 | "sha512=348b28b28ffd87de035e90753f677658e8ad58421caf3ac086e4c0bbab8508fa5fe2f55d137c425afaf790ebcf45291e16d70eac5cb766b6d9786f042b58b19b" 37 | ] 38 | } 39 | x-commit-hash: "dd66893a530759da26b66bd1c8939fd77f369afb" 40 | -------------------------------------------------------------------------------- /esy.lock/opam/dyn.3.15.3/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Dynamic type" 3 | description: "Dynamic type" 4 | maintainer: ["Jane Street Group, LLC "] 5 | authors: ["Jane Street Group, LLC "] 6 | license: "MIT" 7 | homepage: "https://github.com/ocaml/dune" 8 | doc: "https://dune.readthedocs.io/" 9 | bug-reports: "https://github.com/ocaml/dune/issues" 10 | depends: [ 11 | "dune" {>= "3.12"} 12 | "ocaml" {>= "4.08.0"} 13 | "ordering" {= version} 14 | "pp" {>= "1.1.0"} 15 | "odoc" {with-doc} 16 | ] 17 | dev-repo: "git+https://github.com/ocaml/dune.git" 18 | build: [ 19 | ["dune" "subst"] {dev} 20 | ["rm" "-rf" "vendor/csexp"] 21 | ["rm" "-rf" "vendor/pp"] 22 | [ 23 | "dune" 24 | "build" 25 | "-p" 26 | name 27 | "-j" 28 | jobs 29 | "@install" 30 | "@doc" {with-doc} 31 | ] 32 | ] 33 | url { 34 | src: 35 | "https://github.com/ocaml/dune/releases/download/3.15.3/dune-3.15.3.tbz" 36 | checksum: [ 37 | "sha256=3c27c7676414056f0368a71fdc670d2b0a59898090c78a1b68230984e5beb713" 38 | "sha512=c88ac7a6ed9334a4bc6231ecfb0efaa961dda99bc386fd5b92505151ff833dfaf058d75305fbb64c496e570058ec9000ac6add06dda7a395e757e924af1d1a7f" 39 | ] 40 | } 41 | x-commit-hash: "55da8f9248e3f5a06d6234ae35b140d1b37c6f0b" 42 | -------------------------------------------------------------------------------- /esy.lock/opam/graphql_parser.0.14.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Andreas Garnaes " 3 | authors: "Andreas Garnaes " 4 | homepage: "https://github.com/andreas/ocaml-graphql-server" 5 | doc: "https://andreas.github.io/ocaml-graphql-server/" 6 | bug-reports: "https://github.com/andreas/ocaml-graphql-server/issues" 7 | dev-repo: "git+https://github.com/andreas/ocaml-graphql-server.git" 8 | license: "MIT" 9 | 10 | build: [ 11 | ["dune" "build" "-p" name "-j" jobs] 12 | ["dune" "runtest" "-p" name "-j" jobs] {with-test} 13 | ] 14 | 15 | depends: [ 16 | "ocaml" {>= "4.08.0"} 17 | "dune" {>= "1.11"} 18 | "menhir" {build & >= "20180523"} 19 | "alcotest" {with-test & >= "0.8.1"} 20 | "fmt" {>= "0.8.7"} 21 | "re" {>= "1.6.0"} 22 | ] 23 | 24 | synopsis: "Library for parsing GraphQL queries" 25 | url { 26 | src: 27 | "https://github.com/andreas/ocaml-graphql-server/releases/download/0.14.0/graphql-0.14.0.tbz" 28 | checksum: [ 29 | "sha256=bf8bf5b9e17e355ecbbd82158a769fe2b138e746753fd3a23008ada3afcd1c06" 30 | "sha512=1d303d9ab67faecea8081f007b3696e36033aa65eba0854f50067b4d667d9a9ad185ad949371790a03509cb31bf6356b75c58f3066da9c35d82e620df5780185" 31 | ] 32 | } 33 | x-commit-hash: "79e01a09d08b0de3b3fff8195e19f7d8ab566498" 34 | -------------------------------------------------------------------------------- /esy.lock/opam/merlin-extend.0.6.1/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Frederic Bour " 3 | authors: "Frederic Bour " 4 | homepage: "https://github.com/let-def/merlin-extend" 5 | bug-reports: "https://github.com/let-def/merlin-extend" 6 | license: "MIT" 7 | dev-repo: "git+https://github.com/let-def/merlin-extend.git" 8 | build: [ 9 | ["dune" "subst"] {dev} 10 | ["dune" "build" "-p" name "-j" jobs] 11 | ] 12 | depends: [ 13 | "dune" {>= "1.0"} 14 | "cppo" {build & >= "1.1.0"} 15 | "ocaml" {>= "4.02.3"} 16 | ] 17 | synopsis: "A protocol to provide custom frontend to Merlin" 18 | description: """ 19 | This protocol allows to replace the OCaml frontend of Merlin. 20 | It extends what used to be done with the `-pp' flag to handle a few more cases.""" 21 | doc: "https://let-def.github.io/merlin-extend" 22 | url { 23 | src: 24 | "https://github.com/let-def/merlin-extend/releases/download/v0.6.1/merlin-extend-0.6.1.tbz" 25 | checksum: [ 26 | "sha256=5ec84b355ddb2d129a5948b132bfacc93adcbde2158c7de695f7bfc3650bead7" 27 | "sha512=631fc96aab2f35e12a078c9b4907ca7b0db9f1e3a4026040e6c23b82e0171c256a89fb5d4c887f1d156eb9e3152783cdf7a546b2496051007a1bcf5777417396" 28 | ] 29 | } 30 | x-commit-hash: "cf2707bbe8e034c6ecf5d0fecd3fd889f6ab14bf" 31 | -------------------------------------------------------------------------------- /esy.lock/opam/ocaml-syntax-shims.1.0.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Backport new syntax to older OCaml versions" 3 | description: """ 4 | This packages backports new features of the language to older 5 | compilers, such as let+. 6 | """ 7 | maintainer: ["jeremie@dimino.org"] 8 | authors: ["Jérémie Dimino "] 9 | license: "MIT" 10 | homepage: "https://github.com/ocaml-ppx/ocaml-syntax-shims" 11 | doc: "https://ocaml-ppx.github.io/ocaml-syntax-shims/" 12 | bug-reports: "https://github.com/ocaml-ppx/ocaml-syntax-shims/issues" 13 | depends: [ 14 | "dune" {>= "2.0"} 15 | "ocaml" {>= "4.02.3"} 16 | ] 17 | build: [ 18 | ["dune" "subst"] {dev} 19 | [ 20 | "dune" 21 | "build" 22 | "-p" 23 | name 24 | "-j" 25 | jobs 26 | "@install" 27 | "@runtest" {with-test} 28 | "@doc" {with-doc} 29 | ] 30 | ] 31 | dev-repo: "git+https://github.com/ocaml-ppx/ocaml-syntax-shims.git" 32 | url { 33 | src: 34 | "https://github.com/ocaml-ppx/ocaml-syntax-shims/releases/download/1.0.0/ocaml-syntax-shims-1.0.0.tbz" 35 | checksum: [ 36 | "sha256=89b2e193e90a0c168b6ec5ddf6fef09033681bdcb64e11913c97440a2722e8c8" 37 | "sha512=75c4c6b0bfa1267a8a49a82ba494d08cf0823fc8350863d6d3d4971528cb09e5a2a29e2981d04c75e76ad0f49360b05a432c9efeff9a4fbc1ec6b28960399852" 38 | ] 39 | } 40 | -------------------------------------------------------------------------------- /shared/native/lib/Counter.re: -------------------------------------------------------------------------------- 1 | [@react.component] 2 | let make = () => { 3 | let (count, setCount) = React.useState(() => 23); 4 | 5 | let increment = event => { 6 | let _target = React.Event.Mouse.target(event); 7 | print_endline("Console works too! " /* ++ target##value */); 8 | setCount(_ => count + 1); 9 | }; 10 | 11 |
12 |
19 |

25 | {React.string("Counter")} 26 |

27 | 30 |
31 |

32 | {React.string( 33 | "The HTML (including counter value) comes first from the server" 34 | ++ " then is updated by React after render or hydration (depending if you are running ReactDOM.render or ReactDOM.hydrate on the client).", 35 | )} 36 |

37 |
; 38 | }; 39 | -------------------------------------------------------------------------------- /esy.lock/opam/dream-pure.1.0.0~alpha2/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | 3 | synopsis: "Internal: shared HTTP types for Dream (server) and Hyper (client)" 4 | description: "This package does not have a stable API." 5 | 6 | license: "MIT" 7 | homepage: "https://github.com/aantron/dream" 8 | doc: "https://aantron.github.io/dream" 9 | bug-reports: "https://github.com/aantron/dream/issues" 10 | dev-repo: "git+https://github.com/aantron/dream.git" 11 | 12 | author: "Anton Bachin " 13 | maintainer: "Anton Bachin " 14 | 15 | depends: [ 16 | "base64" {>= "3.1.0"} # Base64.encode_string. 17 | "bigstringaf" {>= "0.5.0"} # Bigstringaf.to_string. 18 | "dune" {>= "2.7.0"} # --instrument-with. 19 | "hmap" 20 | "lwt" 21 | "lwt_ppx" {>= "1.2.2"} 22 | "ocaml" {>= "4.08.0"} 23 | "ptime" {>= "0.8.1"} # Ptime.weekday. 24 | "uri" {>= "4.2.0"} 25 | 26 | # Testing, development. 27 | "alcotest" {with-test} 28 | "bisect_ppx" {with-test & >= "2.5.0"} # --instrument-with. 29 | "ppx_expect" {with-test} 30 | "ppx_yojson_conv" {with-test} 31 | ] 32 | 33 | build: [ 34 | ["dune" "build" "-p" name "-j" jobs] 35 | ] 36 | 37 | url { 38 | src: "https://github.com/aantron/dream/releases/download/1.0.0-alpha4/dream-1.0.0-alpha4.tar.gz" 39 | checksum: "md5=20aaa93b13c210324e9dcceeba3c3b21" 40 | } 41 | -------------------------------------------------------------------------------- /esy.lock/opam/xdg.3.15.3/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "XDG Base Directory Specification" 3 | description: 4 | "https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html" 5 | maintainer: ["Jane Street Group, LLC "] 6 | authors: ["Jane Street Group, LLC "] 7 | license: "MIT" 8 | homepage: "https://github.com/ocaml/dune" 9 | doc: "https://dune.readthedocs.io/" 10 | bug-reports: "https://github.com/ocaml/dune/issues" 11 | depends: [ 12 | "dune" {>= "3.12"} 13 | "ocaml" {>= "4.08"} 14 | "odoc" {with-doc} 15 | ] 16 | dev-repo: "git+https://github.com/ocaml/dune.git" 17 | build: [ 18 | ["dune" "subst"] {dev} 19 | ["rm" "-rf" "vendor/csexp"] 20 | ["rm" "-rf" "vendor/pp"] 21 | [ 22 | "dune" 23 | "build" 24 | "-p" 25 | name 26 | "-j" 27 | jobs 28 | "@install" 29 | "@doc" {with-doc} 30 | ] 31 | ] 32 | url { 33 | src: 34 | "https://github.com/ocaml/dune/releases/download/3.15.3/dune-3.15.3.tbz" 35 | checksum: [ 36 | "sha256=3c27c7676414056f0368a71fdc670d2b0a59898090c78a1b68230984e5beb713" 37 | "sha512=c88ac7a6ed9334a4bc6231ecfb0efaa961dda99bc386fd5b92505151ff833dfaf058d75305fbb64c496e570058ec9000ac6add06dda7a395e757e924af1d1a7f" 38 | ] 39 | } 40 | x-commit-hash: "55da8f9248e3f5a06d6234ae35b140d1b37c6f0b" 41 | -------------------------------------------------------------------------------- /esy.lock/opam/faraday.0.8.2/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Spiros Eliopoulos " 3 | authors: [ "Spiros Eliopoulos " ] 4 | license: "BSD-3-clause" 5 | homepage: "https://github.com/inhabitedtype/faraday" 6 | bug-reports: "https://github.com/inhabitedtype/faraday/issues" 7 | dev-repo: "git+https://github.com/inhabitedtype/faraday.git" 8 | build: [ 9 | ["dune" "subst"] {dev} 10 | ["dune" "build" "-p" name "-j" jobs] 11 | ["dune" "runtest" "-p" name "-j" jobs] {with-test} 12 | ] 13 | depends: [ 14 | "ocaml" {>= "4.03.0"} 15 | "dune" {>= "1.11"} 16 | "alcotest" {with-test & >= "0.4.1"} 17 | "bigstringaf" 18 | ] 19 | synopsis: "A library for writing fast and memory-efficient serializers" 20 | description: """ 21 | Faraday is a library for writing fast and memory-efficient serializers. Its 22 | core type and related operation gives the user fine-grained control over 23 | copying and allocation behavior while serializing user-defined types, and 24 | presents the output in a form that makes it possible to use vectorized write 25 | operations, such as the writev system call, or any other platform or 26 | application-specific output APIs.""" 27 | url { 28 | src: "https://github.com/inhabitedtype/faraday/archive/0.8.2.tar.gz" 29 | checksum: "md5=307dccc4ea67ff0eeff394701d05bbe7" 30 | } 31 | -------------------------------------------------------------------------------- /esy.lock/opam/chrome-trace.3.15.3/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Chrome trace event generation library" 3 | description: 4 | "This library offers no backwards compatibility guarantees. Use at your own risk." 5 | maintainer: ["Jane Street Group, LLC "] 6 | authors: ["Jane Street Group, LLC "] 7 | license: "MIT" 8 | homepage: "https://github.com/ocaml/dune" 9 | doc: "https://dune.readthedocs.io/" 10 | bug-reports: "https://github.com/ocaml/dune/issues" 11 | depends: [ 12 | "dune" {>= "3.12"} 13 | "ocaml" {>= "4.08.0"} 14 | "odoc" {with-doc} 15 | ] 16 | dev-repo: "git+https://github.com/ocaml/dune.git" 17 | build: [ 18 | ["dune" "subst"] {dev} 19 | ["rm" "-rf" "vendor/csexp"] 20 | ["rm" "-rf" "vendor/pp"] 21 | [ 22 | "dune" 23 | "build" 24 | "-p" 25 | name 26 | "-j" 27 | jobs 28 | "@install" 29 | "@doc" {with-doc} 30 | ] 31 | ] 32 | url { 33 | src: 34 | "https://github.com/ocaml/dune/releases/download/3.15.3/dune-3.15.3.tbz" 35 | checksum: [ 36 | "sha256=3c27c7676414056f0368a71fdc670d2b0a59898090c78a1b68230984e5beb713" 37 | "sha512=c88ac7a6ed9334a4bc6231ecfb0efaa961dda99bc386fd5b92505151ff833dfaf058d75305fbb64c496e570058ec9000ac6add06dda7a395e757e924af1d1a7f" 38 | ] 39 | } 40 | x-commit-hash: "55da8f9248e3f5a06d6234ae35b140d1b37c6f0b" 41 | -------------------------------------------------------------------------------- /esy.lock/opam/stdlib-shims.0.3.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "The stdlib-shims programmers" 3 | authors: "The stdlib-shims programmers" 4 | homepage: "https://github.com/ocaml/stdlib-shims" 5 | doc: "https://ocaml.github.io/stdlib-shims/" 6 | dev-repo: "git+https://github.com/ocaml/stdlib-shims.git" 7 | bug-reports: "https://github.com/ocaml/stdlib-shims/issues" 8 | tags: ["stdlib" "compatibility" "org:ocaml"] 9 | license: ["LGPL-2.1-only WITH OCaml-LGPL-linking-exception"] 10 | depends: [ 11 | "dune" 12 | "ocaml" {>= "4.02.3"} 13 | ] 14 | build: [ "dune" "build" "-p" name "-j" jobs ] 15 | synopsis: "Backport some of the new stdlib features to older compiler" 16 | description: """ 17 | Backport some of the new stdlib features to older compiler, 18 | such as the Stdlib module. 19 | 20 | This allows projects that require compatibility with older compiler to 21 | use these new features in their code. 22 | """ 23 | x-commit-hash: "fb6815e5d745f07fd567c11671149de6ef2e74c8" 24 | url { 25 | src: 26 | "https://github.com/ocaml/stdlib-shims/releases/download/0.3.0/stdlib-shims-0.3.0.tbz" 27 | checksum: [ 28 | "sha256=babf72d3917b86f707885f0c5528e36c63fccb698f4b46cf2bab5c7ccdd6d84a" 29 | "sha512=1151d7edc8923516e9a36995a3f8938d323aaade759ad349ed15d6d8501db61ffbe63277e97c4d86149cf371306ac23df0f581ec7e02611f58335126e1870980" 30 | ] 31 | } 32 | -------------------------------------------------------------------------------- /esy.lock/opam/duration.0.2.1/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Hannes Mehnert " 3 | authors: "Hannes Mehnert " 4 | license: "ISC" 5 | homepage: "https://github.com/hannesm/duration" 6 | doc: "https://hannesm.github.io/duration/doc" 7 | bug-reports: "https://github.com/hannesm/duration/issues" 8 | depends: [ 9 | "ocaml" {>= "4.04.2"} 10 | "dune" {>= "1.0"} 11 | "alcotest" {with-test & >= "0.8.1"} 12 | ] 13 | build: [ 14 | ["dune" "subst"] {dev} 15 | ["dune" "build" "-p" name "-j" jobs] 16 | ["dune" "runtest" "-p" name "-j" jobs] {with-test} 17 | ] 18 | dev-repo: "git+https://github.com/hannesm/duration.git" 19 | synopsis: "Conversions to various time units" 20 | description: """ 21 | A duration is represented in nanoseconds as an unsigned 64 bit integer. This 22 | has a range of up to 584 years. Functions provided check the input and raise 23 | on negative or out of bound input. 24 | """ 25 | url { 26 | src: 27 | "https://github.com/hannesm/duration/releases/download/v0.2.1/duration-0.2.1.tbz" 28 | checksum: [ 29 | "sha256=c738c1f38cfb99820c121cd3ddf819de4b2228f0d50eacbd1cc3ce99e7c71e2b" 30 | "sha512=0de9e15c7d6188872ddd9994f08616c4a1822e4ac92724efa2c312fbb2fc44cd7cbe4b36bcf66a8451d510c1fc95de481760afbcacb8f83e183262595dcf5f0c" 31 | ] 32 | } 33 | x-commit-hash: "6abe42ebe585a96f79eb91045911b9a73c1db19e" 34 | -------------------------------------------------------------------------------- /esy.lock/opam/merlin-lib.4.14-501/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "defree@gmail.com" 3 | authors: "The Merlin team" 4 | homepage: "https://github.com/ocaml/merlin" 5 | bug-reports: "https://github.com/ocaml/merlin/issues" 6 | dev-repo: "git+https://github.com/ocaml/merlin.git" 7 | license: "MIT" 8 | build: [ 9 | ["dune" "subst"] {dev} 10 | ["dune" "build" "-p" name "-j" jobs] 11 | ] 12 | depends: [ 13 | "ocaml" {>= "5.1.1" & < "5.2"} 14 | "dune" {>= "2.9.0"} 15 | "csexp" {>= "1.5.1"} 16 | "menhir" {dev & >= "20201216"} 17 | "menhirLib" {dev & >= "20201216"} 18 | "menhirSdk" {dev & >= "20201216"} 19 | ] 20 | synopsis: 21 | "Merlin's libraries" 22 | description: 23 | "These libraries provides access to low-level compiler interfaces and the 24 | standard higher-level merlin protocol. The library is provided as-is, is not 25 | thoroughly documented, and its public API might break with any new release." 26 | url { 27 | src: 28 | "https://github.com/ocaml/merlin/releases/download/v4.14-501/merlin-4.14-501.tbz" 29 | checksum: [ 30 | "sha256=b7e9e96e924058c2ce429642788aa2e390720d441e224538bcf494a65203a292" 31 | "sha512=734d760b1f73652bbd1d25736d08336c2df15f4eaa1d4c7aed345e83d1375b54266cb78dbeb698870a668633fbd2c7fece4dd161a50fba92f245dfad4b69c4c9" 32 | ] 33 | } 34 | x-commit-hash: "7d7f525180f5979516e10c05d0cd49823edb5ef1" 35 | -------------------------------------------------------------------------------- /esy.lock/opam/dune-rpc.3.15.3/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Communicate with dune using rpc" 3 | description: "Library to connect and control a running dune instance" 4 | maintainer: ["Jane Street Group, LLC "] 5 | authors: ["Jane Street Group, LLC "] 6 | license: "MIT" 7 | homepage: "https://github.com/ocaml/dune" 8 | doc: "https://dune.readthedocs.io/" 9 | bug-reports: "https://github.com/ocaml/dune/issues" 10 | depends: [ 11 | "dune" {>= "3.12"} 12 | "csexp" 13 | "ordering" 14 | "dyn" 15 | "xdg" 16 | "stdune" {= version} 17 | "pp" {>= "1.1.0"} 18 | "odoc" {with-doc} 19 | ] 20 | dev-repo: "git+https://github.com/ocaml/dune.git" 21 | build: [ 22 | ["dune" "subst"] {dev} 23 | ["rm" "-rf" "vendor/csexp"] 24 | ["rm" "-rf" "vendor/pp"] 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/ocaml/dune/releases/download/3.15.3/dune-3.15.3.tbz" 39 | checksum: [ 40 | "sha256=3c27c7676414056f0368a71fdc670d2b0a59898090c78a1b68230984e5beb713" 41 | "sha512=c88ac7a6ed9334a4bc6231ecfb0efaa961dda99bc386fd5b92505151ff833dfaf058d75305fbb64c496e570058ec9000ac6add06dda7a395e757e924af1d1a7f" 42 | ] 43 | } 44 | x-commit-hash: "55da8f9248e3f5a06d6234ae35b140d1b37c6f0b" 45 | -------------------------------------------------------------------------------- /esy.lock/opam/ocaml-compiler-libs.v0.12.4/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "OCaml compiler libraries repackaged" 3 | description: """ 4 | This packages exposes the OCaml compiler libraries repackages under 5 | the toplevel names Ocaml_common, Ocaml_bytecomp, Ocaml_optcomp, ...""" 6 | maintainer: ["Jane Street developers"] 7 | authors: ["Jane Street Group, LLC"] 8 | license: "MIT" 9 | homepage: "https://github.com/janestreet/ocaml-compiler-libs" 10 | bug-reports: "https://github.com/janestreet/ocaml-compiler-libs/issues" 11 | depends: [ 12 | "dune" {>= "2.8"} 13 | "ocaml" {>= "4.04.1" & < "5.2.0"} 14 | "odoc" {with-doc} 15 | ] 16 | build: [ 17 | ["dune" "subst"] {dev} 18 | [ 19 | "dune" 20 | "build" 21 | "-p" 22 | name 23 | "-j" 24 | jobs 25 | "@install" 26 | "@runtest" {with-test} 27 | "@doc" {with-doc} 28 | ] 29 | ] 30 | dev-repo: "git+https://github.com/janestreet/ocaml-compiler-libs.git" 31 | url { 32 | src: 33 | "https://github.com/janestreet/ocaml-compiler-libs/releases/download/v0.12.4/ocaml-compiler-libs-v0.12.4.tbz" 34 | checksum: [ 35 | "sha256=4ec9c9ec35cc45c18c7a143761154ef1d7663036a29297f80381f47981a07760" 36 | "sha512=978dba8dfa61f98fa24fda7a9c26c2e837081f37d1685fe636dc19cfc3278a940cf01a10293504b185c406706bc1008bc54313d50f023bcdea6d5ac6c0788b35" 37 | ] 38 | } 39 | x-commit-hash: "8cd12f18bb7171c2b67d661868c4271fae528d93" 40 | -------------------------------------------------------------------------------- /esy.lock/opam/psq.0.2.1/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "David Kaloper Meršinjak " 3 | authors: ["David Kaloper Meršinjak "] 4 | homepage: "https://github.com/pqwy/psq" 5 | doc: "https://pqwy.github.io/psq/doc" 6 | license: "ISC" 7 | dev-repo: "git+https://github.com/pqwy/psq.git" 8 | bug-reports: "https://github.com/pqwy/psq/issues" 9 | synopsis: "Functional Priority Search Queues" 10 | build: [ [ "dune" "subst" ] {dev} 11 | [ "dune" "build" "-p" name "-j" jobs ] 12 | [ "dune" "runtest" "-p" name ] {with-test & ocaml:version >= "4.07.0"} ] 13 | depends: [ 14 | "ocaml" {>="4.03.0"} 15 | "dune" {>= "1.7"} 16 | "seq" 17 | "qcheck-core" {with-test} 18 | "qcheck-alcotest" {with-test} 19 | "alcotest" {with-test} 20 | ] 21 | description: """ 22 | Typical applications are searches, schedulers and caches. If you ever scratched 23 | your head because that A* didn't look quite right, a PSQ is what you needed. 24 | """ 25 | url { 26 | src: "https://github.com/pqwy/psq/releases/download/v0.2.1/psq-0.2.1.tbz" 27 | checksum: [ 28 | "sha256=42005f533eabe74b1799ee32b8905654cd66a22bed4af2bd266b28d8462cd344" 29 | "sha512=8a8dfe20dc77e1cf38a7b1a7fc76f815c71a4ffe04627151b855feaba8f1ae742594739d1b7a45580b5b24a2cd99b58516f6b5c8d858aa314201f4a6422101ee" 30 | ] 31 | } 32 | x-commit-hash: "b2eb86165712da210bcffec385bb7e031e54045e" 33 | -------------------------------------------------------------------------------- /esy.lock/opam/ppx_deriving_yojson.3.8.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "whitequark " 3 | authors: [ "whitequark " ] 4 | license: "MIT" 5 | homepage: "https://github.com/ocaml-ppx/ppx_deriving_yojson" 6 | bug-reports: "https://github.com/ocaml-ppx/ppx_deriving_yojson/issues" 7 | dev-repo: "git+https://github.com/ocaml-ppx/ppx_deriving_yojson.git" 8 | tags: [ "syntax" "json" ] 9 | build: [ 10 | ["dune" "subst"] {dev} 11 | ["dune" "build" "-p" name "-j" jobs] 12 | ["dune" "runtest" "-p" name "-j" jobs] {with-test} 13 | ] 14 | depends: [ 15 | "ocaml" {>= "4.05.0"} 16 | "dune" {>= "1.0"} 17 | "yojson" {>= "1.6.0"} 18 | "ppx_deriving" {>= "5.1"} 19 | "ppxlib" {>= "0.30.0"} 20 | "ounit2" {with-test} 21 | ] 22 | synopsis: 23 | "JSON codec generator for OCaml" 24 | description: """ 25 | ppx_deriving_yojson is a ppx_deriving plugin that provides 26 | a JSON codec generator. 27 | """ 28 | url { 29 | src: 30 | "https://github.com/ocaml-ppx/ppx_deriving_yojson/releases/download/v3.8.0/ppx_deriving_yojson-3.8.0.tbz" 31 | checksum: [ 32 | "sha256=fdcbc548be418f061828664a1012ccba6cfba6a35578ea9cbf75fed498e0c2a1" 33 | "sha512=2ce0aed3b1e7b444d368a4f7142da07aff328effcc017435ccd9d45cb518659c69a48b6c8699c800bdee02d65fcea9227f863b2340f7a4c1a5b579b8c5ba2a19" 34 | ] 35 | } 36 | x-commit-hash: "0644cd505cae97ddb4b2f701a19657fe76cc4a33" 37 | -------------------------------------------------------------------------------- /esy.lock/opam/pecu.0.7/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Romain Calascibetta " 3 | authors: "Romain Calascibetta " 4 | homepage: "https://github.com/mirage/pecu" 5 | bug-reports: "https://github.com/mirage/pecu/issues" 6 | dev-repo: "git+https://github.com/mirage/pecu.git" 7 | doc: "https://mirage.github.io/pecu/" 8 | license: "MIT" 9 | synopsis: "Encoder/Decoder of Quoted-Printable (RFC2045 & RFC2047)" 10 | description: """A non-blocking encoder/decoder of Quoted-Printable according to 11 | RFC2045 and RFC2047 (about encoded-word). Useful to translate contents of emails.""" 12 | 13 | build: [ 14 | ["dune" "build" "-p" name "-j" jobs] 15 | ["dune" "runtest" "-p" name "-j" jobs] {with-test} 16 | ] 17 | 18 | depends: [ 19 | "ocaml" {>= "4.03.0"} 20 | "dune" {>= "1.4"} 21 | "fmt" {with-test & >= "0.8.7"} 22 | "alcotest" {with-test} 23 | "crowbar" {with-test} 24 | "astring" {with-test} 25 | ] 26 | url { 27 | src: "https://github.com/mirage/pecu/releases/download/v0.7/pecu-0.7.tbz" 28 | checksum: [ 29 | "sha256=ad7477b5b16428d33c32440067684953d94efaa43faaf620857918bace9fd778" 30 | "sha512=8b2dd94af614d99f67c49fddb55bf7ed1ef280378acf862eb3269964bc515a963d28efa4fdcc09d07bfc966aced44e41195451ead13bee59d30d482ab17fcdf5" 31 | ] 32 | } 33 | x-commit-hash: "f41b3c74d0c375be3057de33e409c99bffaab273" 34 | -------------------------------------------------------------------------------- /esy.lock/opam/cppo.1.6.9/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Code preprocessor like cpp for OCaml" 3 | description: """\ 4 | Cppo is an equivalent of the C preprocessor for OCaml programs. 5 | It allows the definition of simple macros and file inclusion. 6 | 7 | Cppo is: 8 | 9 | * more OCaml-friendly than cpp 10 | * easy to learn without consulting a manual 11 | * reasonably fast 12 | * simple to install and to maintain""" 13 | maintainer: [ 14 | "Martin Jambon " "Yishuai Li " 15 | ] 16 | authors: "Martin Jambon" 17 | license: "BSD-3-Clause" 18 | homepage: "https://github.com/ocaml-community/cppo" 19 | doc: "https://ocaml-community.github.io/cppo" 20 | bug-reports: "https://github.com/ocaml-community/cppo/issues" 21 | depends: [ 22 | "ocaml" {>= "4.02.3"} 23 | "dune" {>= "1.10"} 24 | "base-unix" 25 | ] 26 | build: [ 27 | ["dune" "subst"] {dev} 28 | ["dune" "build" "-p" name "-j" jobs] 29 | ["dune" "runtest" "-p" name "-j" jobs] {with-test} 30 | ["dune" "build" "-p" name "@doc"] {with-doc} 31 | ] 32 | dev-repo: "git+https://github.com/ocaml-community/cppo.git" 33 | url { 34 | src: "https://github.com/ocaml-community/cppo/archive/v1.6.9.tar.gz" 35 | checksum: [ 36 | "md5=d23ffe85ac7dc8f0afd1ddf622770d09" 37 | "sha512=26ff5a7b7f38c460661974b23ca190f0feae3a99f1974e0fd12ccf08745bd7d91b7bc168c70a5385b837bfff9530e0e4e41cf269f23dd8cf16ca658008244b44" 38 | ] 39 | } -------------------------------------------------------------------------------- /esy.lock/opam/graphql-lwt.0.14.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Andreas Garnaes " 3 | authors: "Andreas Garnaes " 4 | homepage: "https://github.com/andreas/ocaml-graphql-server" 5 | doc: "https://andreas.github.io/ocaml-graphql-server/" 6 | bug-reports: "https://github.com/andreas/ocaml-graphql-server/issues" 7 | dev-repo: "git+https://github.com/andreas/ocaml-graphql-server.git" 8 | license: "MIT" 9 | 10 | build: [ 11 | ["dune" "build" "-p" name "-j" jobs] 12 | ["dune" "runtest" "-p" name "-j" jobs] {with-test} 13 | ] 14 | 15 | depends: [ 16 | "ocaml" {>= "4.08.0"} 17 | "dune" {>= "1.11"} 18 | "graphql" {>= "0.13.0"} 19 | "alcotest" {with-test} 20 | "yojson" {with-test & >= "1.6.0"} 21 | "lwt" 22 | ] 23 | 24 | synopsis: "Build GraphQL schemas with Lwt support" 25 | 26 | description: """ 27 | `graphql-lwt` adds support for Lwt to `graphql`, so you can use Lwt in your GraphQL schema resolver functions.""" 28 | url { 29 | src: 30 | "https://github.com/andreas/ocaml-graphql-server/releases/download/0.14.0/graphql-0.14.0.tbz" 31 | checksum: [ 32 | "sha256=bf8bf5b9e17e355ecbbd82158a769fe2b138e746753fd3a23008ada3afcd1c06" 33 | "sha512=1d303d9ab67faecea8081f007b3696e36033aa65eba0854f50067b4d667d9a9ad185ad949371790a03509cb31bf6356b75c58f3066da9c35d82e620df5780185" 34 | ] 35 | } 36 | x-commit-hash: "79e01a09d08b0de3b3fff8195e19f7d8ab566498" 37 | -------------------------------------------------------------------------------- /esy.lock/opam/ocamlbuild.0.14.3/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: 3 | "OCamlbuild is a build system with builtin rules to easily build most OCaml projects" 4 | maintainer: "Gabriel Scherer " 5 | authors: ["Nicolas Pouillard" "Berke Durak"] 6 | license: "LGPL-2.0-or-later WITH OCaml-LGPL-linking-exception" 7 | homepage: "https://github.com/ocaml/ocamlbuild/" 8 | doc: "https://github.com/ocaml/ocamlbuild/blob/master/manual/manual.adoc" 9 | bug-reports: "https://github.com/ocaml/ocamlbuild/issues" 10 | depends: [ 11 | "ocaml" {>= "4.03"} 12 | ] 13 | conflicts: [ 14 | "base-ocamlbuild" 15 | "ocamlfind" {< "1.6.2"} 16 | ] 17 | build: [ 18 | [ 19 | make 20 | "-f" 21 | "configure.make" 22 | "all" 23 | "OCAMLBUILD_PREFIX=%{prefix}%" 24 | "OCAMLBUILD_BINDIR=%{bin}%" 25 | "OCAMLBUILD_LIBDIR=%{lib}%" 26 | "OCAMLBUILD_MANDIR=%{man}%" 27 | "OCAML_NATIVE=%{ocaml:native}%" 28 | "OCAML_NATIVE_TOOLS=%{ocaml:native}%" 29 | ] 30 | [make "check-if-preinstalled" "all" "opam-install"] 31 | ] 32 | dev-repo: "git+https://github.com/ocaml/ocamlbuild.git" 33 | available: os != "win32" 34 | url { 35 | src: "https://github.com/ocaml/ocamlbuild/archive/refs/tags/0.14.3.tar.gz" 36 | checksum: [ 37 | "md5=220df59060c916e8aac2eb471c870485" 38 | "sha512=def8fa1d5488905fda31f72b7f6f0ebdccefa55a8e984a6ea4a7c1e0856e8ea1f7814410202e0f7f7d5e72aca7e8ae0d6623f7f2bade78b0dd82155de76ec4e5" 39 | ] 40 | } -------------------------------------------------------------------------------- /esy.lock/opam/ocamlc-loc.3.15.3/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Parse ocaml compiler output into structured form" 3 | description: 4 | "This library offers no backwards compatibility guarantees. Use at your own risk." 5 | maintainer: ["Jane Street Group, LLC "] 6 | authors: ["Jane Street Group, LLC "] 7 | license: "MIT" 8 | homepage: "https://github.com/ocaml/dune" 9 | doc: "https://dune.readthedocs.io/" 10 | bug-reports: "https://github.com/ocaml/dune/issues" 11 | depends: [ 12 | "dune" {>= "3.12"} 13 | "ocaml" {>= "4.08.0"} 14 | "dyn" {= version} 15 | "odoc" {with-doc} 16 | ] 17 | conflicts: [ 18 | "ocaml-lsp-server" {< "1.15.0"} 19 | ] 20 | dev-repo: "git+https://github.com/ocaml/dune.git" 21 | build: [ 22 | ["dune" "subst"] {dev} 23 | ["rm" "-rf" "vendor/csexp"] 24 | ["rm" "-rf" "vendor/pp"] 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/ocaml/dune/releases/download/3.15.3/dune-3.15.3.tbz" 39 | checksum: [ 40 | "sha256=3c27c7676414056f0368a71fdc670d2b0a59898090c78a1b68230984e5beb713" 41 | "sha512=c88ac7a6ed9334a4bc6231ecfb0efaa961dda99bc386fd5b92505151ff833dfaf058d75305fbb64c496e570058ec9000ac6add06dda7a395e757e924af1d1a7f" 42 | ] 43 | } 44 | x-commit-hash: "55da8f9248e3f5a06d6234ae35b140d1b37c6f0b" 45 | -------------------------------------------------------------------------------- /esy.lock/opam/stdune.3.15.3/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Dune's unstable standard library" 3 | description: 4 | "This library offers no backwards compatibility guarantees. Use at your own risk." 5 | maintainer: ["Jane Street Group, LLC "] 6 | authors: ["Jane Street Group, LLC "] 7 | license: "MIT" 8 | homepage: "https://github.com/ocaml/dune" 9 | doc: "https://dune.readthedocs.io/" 10 | bug-reports: "https://github.com/ocaml/dune/issues" 11 | depends: [ 12 | "dune" {>= "3.12"} 13 | "ocaml" {>= "4.08.0"} 14 | "base-unix" 15 | "dyn" {= version} 16 | "ordering" {= version} 17 | "pp" {>= "1.2.0"} 18 | "csexp" {>= "1.5.0"} 19 | "odoc" {with-doc} 20 | ] 21 | dev-repo: "git+https://github.com/ocaml/dune.git" 22 | build: [ 23 | ["dune" "subst"] {dev} 24 | ["rm" "-rf" "vendor/csexp"] 25 | ["rm" "-rf" "vendor/pp"] 26 | [ 27 | "dune" 28 | "build" 29 | "-p" 30 | name 31 | "-j" 32 | jobs 33 | "@install" 34 | "@doc" {with-doc} 35 | ] 36 | ] 37 | url { 38 | src: 39 | "https://github.com/ocaml/dune/releases/download/3.15.3/dune-3.15.3.tbz" 40 | checksum: [ 41 | "sha256=3c27c7676414056f0368a71fdc670d2b0a59898090c78a1b68230984e5beb713" 42 | "sha512=c88ac7a6ed9334a4bc6231ecfb0efaa961dda99bc386fd5b92505151ff833dfaf058d75305fbb64c496e570058ec9000ac6add06dda7a395e757e924af1d1a7f" 43 | ] 44 | } 45 | x-commit-hash: "55da8f9248e3f5a06d6234ae35b140d1b37c6f0b" 46 | -------------------------------------------------------------------------------- /esy.lock/opam/conf-libev.4-12/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | homepage: "http://software.schmorp.de/pkg/libev.html" 4 | authors: "Marc Lehmann" 5 | license: "BSD-2-Clause" 6 | build: [["sh" "./build.sh"]] 7 | depends: [ 8 | "ocaml" {>= "3.11.0"} 9 | ] 10 | depexts: [ 11 | ["libev-dev"] {os-family = "debian"} 12 | ["libev-dev"] {os-family = "ubuntu"} 13 | ["libev"] {os = "macos" & os-distribution = "homebrew"} 14 | ["libev-dev"] {os-family = "alpine"} 15 | ["libev"] {os-family = "arch"} 16 | ["libev-devel"] {os-distribution = "fedora"} 17 | ["libev-devel"] {os-distribution = "rhel"} 18 | ["libev-devel"] {os-distribution = "centos"} 19 | ["libev-devel"] {os-distribution = "ol" & os-version >= "8"} 20 | ["libev-devel"] {os-family = "suse" | os-family = "opensuse"} 21 | ["libev"] {os = "freebsd"} 22 | ["libev"] {os = "openbsd"} 23 | ["libev"] {os-distribution = "nixos"} 24 | ] 25 | synopsis: "High-performance event loop/event model with lots of features" 26 | description: """ 27 | Libev is modelled (very loosely) after libevent and the Event perl 28 | module, but is faster, scales better and is more correct, and also more 29 | featureful. And also smaller. Yay.""" 30 | extra-files: [ 31 | ["discover.ml" "md5=a734be402679b0ccf7c8aa60fc18bf9a"] 32 | ["build.sh" "md5=f37b5eb73ebeb177dff1cd8bb2f38c4e"] 33 | ] 34 | bug-reports: "https://github.com/ocaml/opam-repository/issues" 35 | flags: conf 36 | -------------------------------------------------------------------------------- /esy.lock/opam/quickjs.0.1.1/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: 3 | "Bindings for QuickJS (a Javascript Engine to be embedded https://bellard.org/quickjs)" 4 | maintainer: ["David Sancho "] 5 | authors: ["David Sancho "] 6 | license: "MIT" 7 | homepage: "https://github.com/ml-in-barcelona/quickjs.ml" 8 | bug-reports: "https://github.com/ml-in-barcelona/quickjs.ml/issues" 9 | depends: [ 10 | "dune" {>= "3.8"} 11 | "ocaml" {>= "5.0.0"} 12 | "integers" 13 | "ctypes" 14 | "alcotest" {with-test} 15 | "fmt" {with-test} 16 | "odoc" {with-doc} 17 | "ocaml-lsp-server" {with-test} 18 | "ocamlformat" {= "0.26.1" & with-test} 19 | ] 20 | conflicts: [ "ocaml-option-bytecode-only" ] 21 | dev-repo: "git+https://github.com/ml-in-barcelona/quickjs.ml.git" 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 | "@new-doc" {with-doc} 34 | ] 35 | ] 36 | url { 37 | src: 38 | "https://github.com/ml-in-barcelona/quickjs.ml/releases/download/0.1.1/quickjs-0.1.1.tbz" 39 | checksum: [ 40 | "sha256=678b5048d688ffa7cd3a79b528edb542b28d0eb49cb83d8dd95361634412ac33" 41 | "sha512=f4936afb14e70b699685ad32fa6ca1b31fdf1d3fcd4a3dd614151f640071e6a26a11d5a49cd1d1a0e13e502b647cdd2bd87d4435a5d84ebde86ffb193c425645" 42 | ] 43 | } 44 | x-commit-hash: "b2fe0fb953f80b4d2d3656d8abf8e2d4b5869260" 45 | -------------------------------------------------------------------------------- /esy.lock/opam/mirage-crypto-rng-lwt.0.11.3/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | homepage: "https://github.com/mirage/mirage-crypto" 3 | dev-repo: "git+https://github.com/mirage/mirage-crypto.git" 4 | bug-reports: "https://github.com/mirage/mirage-crypto/issues" 5 | doc: "https://mirage.github.io/mirage-crypto/doc" 6 | authors: ["David Kaloper " "Hannes Mehnert " ] 7 | maintainer: "Hannes Mehnert " 8 | license: "ISC" 9 | synopsis: "A cryptographically secure PRNG" 10 | 11 | build: [ ["dune" "subst"] {dev} 12 | ["dune" "build" "-p" name "-j" jobs ] 13 | ["dune" "runtest" "-p" name "-j" jobs] {with-test} ] 14 | 15 | depends: [ 16 | "ocaml" {>= "4.08.0"} 17 | "dune" {>= "2.7"} 18 | "duration" 19 | "logs" 20 | "mirage-crypto" {=version} 21 | "mirage-crypto-rng" {=version} 22 | "mtime" {>= "1.0.0"} 23 | "lwt" {>= "4.0.0"} 24 | ] 25 | description: """ 26 | Mirage-crypto-rng-lwt provides entropy collection code for the RNG using Lwt. 27 | """ 28 | url { 29 | src: 30 | "https://github.com/mirage/mirage-crypto/releases/download/v0.11.3/mirage-crypto-0.11.3.tbz" 31 | checksum: [ 32 | "sha256=bfb530fa169cd905ebc7e2449f3407cfbd67023ac0b291b8b6f4a1437a5d95b1" 33 | "sha512=7b6f4e8128622b53eb2176881b5d6160f224e8606c7dd21aaf47974f15db7aa475cffaff3214aaaabba0f8986398f159c1fbb1bff29228c9b0a3fae67ef8d731" 34 | ] 35 | } 36 | x-commit-hash: "3ebc0e3e1bb6c471292b9f0c18afa3ce20d5f051" 37 | -------------------------------------------------------------------------------- /esy.lock/opam/mirage-clock.4.2.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "anil@recoil.org" 3 | authors: ["Anil Madhavapeddy" "Daniel C. Bünzli" "Matthew Gray"] 4 | license: "ISC" 5 | tags: "org:mirage" 6 | homepage: "https://github.com/mirage/mirage-clock" 7 | doc: "https://mirage.github.io/mirage-clock/" 8 | bug-reports: "https://github.com/mirage/mirage-clock/issues" 9 | synopsis: "Libraries and module types for portable clocks" 10 | description: """ 11 | This library implements portable support for an operating system timesource 12 | that is compatible with the [MirageOS](https://mirage.io) library interfaces 13 | found in: 14 | 15 | It implements an `MCLOCK` module that represents a monotonic timesource 16 | since an arbitrary point, and `PCLOCK` which counts time since the Unix 17 | epoch. 18 | """ 19 | depends: [ 20 | "ocaml" {>= "4.08.0"} 21 | "dune" {>= "2.8"} 22 | ] 23 | build: [ 24 | ["dune" "subst"] {dev} 25 | ["dune" "build" "-p" name "-j" jobs] 26 | ] 27 | dev-repo: "git+https://github.com/mirage/mirage-clock.git" 28 | url { 29 | src: 30 | "https://github.com/mirage/mirage-clock/releases/download/v4.2.0/mirage-clock-4.2.0.tbz" 31 | checksum: [ 32 | "sha256=fa17d15d5be23c79ba741f5f7cb88ed7112de16a4410cea81c71b98086889847" 33 | "sha512=05a359dc8400d4ca200ff255dbd030acd33d2c4acb5020838f772c02cdb5f243f3dbafbc43a8cd51e6b5923a140f84c9e7ea25b2c0fa277bb68b996190d36e3b" 34 | ] 35 | } 36 | x-commit-hash: "f457572bfedb9586c8bf9eaa9ece7e53677856e3" 37 | -------------------------------------------------------------------------------- /esy.lock/overrides/feaa64344e452925e6ebbe0a3b417907/.ci/steps.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | set -o xtrace 4 | 5 | function new_section { 6 | set +o xtrace 7 | echo "" 8 | echo "" 9 | echo "========" 10 | echo $1 11 | set -o xtrace 12 | } 13 | 14 | REGISTRY_URL=http://localhost:4873 15 | 16 | if ! command -v verdaccio &> /dev/null 17 | then 18 | new_section "Installing verdaccio" 19 | yarn global add verdaccio 20 | fi 21 | 22 | VERDACCIO_PID=$(netstat -ano | grep 4873 | awk '{ print $5 }' | head -n1) 23 | if [[ ! "$VERDACCIO_PID" =~ '^[1-9][0-9]+$' ]] 24 | then 25 | new_section "Setting up verdaccio" 26 | verdaccio -c ./.ci/verdaccio-config.yaml & 27 | sleep 1 28 | VERDACCIO_PID=$(netstat -ano | grep 4873 | awk '{ print $5 }' | head -n1) # $! doesn't work on Windows 29 | fi 30 | 31 | new_section "Packaging for NPM" 32 | node scripts/package.js 33 | new_section "Publishing to local NPM" 34 | cd _esy-package/readline-8.1 35 | npm publish --registry $REGISTRY_URL 36 | # npm still looks for auth token See https://github.com/verdaccio/verdaccio/issues/212#issuecomment-308578500 37 | 38 | cd ../../esy-test/ 39 | export ESY__PREFIX=$HOME/_esy_test/prefix 40 | rm -rf $ESY__PREFIX 41 | mkdir -p $ESY__PREFIX 42 | esy i --npm-registry $REGISTRY_URL 43 | esy b 44 | rm -rf esy.lock 45 | cd ../ 46 | 47 | case $(uname) in 48 | CYGWIN*|MINGW*) 49 | taskkill.exe -pid "$VERDACCIO_PID" -F 50 | ;; 51 | *) 52 | kill "$VERDACCIO_PID" 53 | esac 54 | rm -rf .ci/verdaccio-storage 55 | -------------------------------------------------------------------------------- /esy.lock/opam/reason-react-ppx.0.14.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "React.js JSX PPX" 3 | description: "ReasonReact JSX PPX" 4 | maintainer: [ 5 | "David Sancho " 6 | "Antonio Monteiro " 7 | ] 8 | authors: [ 9 | "Cheng Lou " "Ricky Vetter " 10 | ] 11 | license: "MIT" 12 | homepage: "https://reasonml.github.io/reason-react" 13 | doc: "https://reasonml.github.io/reason-react" 14 | bug-reports: "https://github.com/reasonml/reason-react/issues" 15 | depends: [ 16 | "dune" {>= "3.9"} 17 | "ocaml" {>= "5.1.1" & < "5.2.0"} 18 | "reason" {>= "3.10.0"} 19 | "ppxlib" {>= "0.28.0"} 20 | "merlin" {= "4.13.1-501" & with-test} 21 | "ocamlformat" {= "0.24.0" & with-dev-setup} 22 | "odoc" {with-doc} 23 | ] 24 | build: [ 25 | ["dune" "subst"] {dev} 26 | [ 27 | "dune" 28 | "build" 29 | "-p" 30 | name 31 | "-j" 32 | jobs 33 | "@install" 34 | "@doc" {with-doc} 35 | ] 36 | ] 37 | dev-repo: "git+https://github.com/reasonml/reason-react.git" 38 | url { 39 | src: 40 | "https://github.com/reasonml/reason-react/releases/download/0.14.0/reason-react-0.14.0.tbz" 41 | checksum: [ 42 | "sha256=beea06b4a02111b5e46804e359d168d357f278267c5cb4faf3f5d66e7cfe60a8" 43 | "sha512=072cb9184e6a3c963fc27220f52ded0b3cb5b21a2f62770f08eb261682ea9c4faf7de2f281f82816e17d19d6b806513cd51dfe69e9928eba4eef162867a06560" 44 | ] 45 | } 46 | x-commit-hash: "7856cb0c3fdad99c9d4e6f1453e53aeb0e737c3b" 47 | -------------------------------------------------------------------------------- /esy.lock/opam/uri.4.4.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "anil@recoil.org" 3 | authors: ["Anil Madhavapeddy" "David Sheets" "Rudi Grinberg"] 4 | license: "ISC" 5 | tags: ["url" "uri" "org:mirage" "org:xapi-project"] 6 | homepage: "https://github.com/mirage/ocaml-uri" 7 | bug-reports: "https://github.com/mirage/ocaml-uri/issues" 8 | dev-repo: "git+https://github.com/mirage/ocaml-uri.git" 9 | doc: "https://mirage.github.io/ocaml-uri/" 10 | synopsis: "An RFC3986 URI/URL parsing library" 11 | description: """ 12 | This is an OCaml implementation of the [RFC3986](http://tools.ietf.org/html/rfc3986) specification 13 | for parsing URI or URLs. 14 | """ 15 | depends: [ 16 | "ocaml" {>= "4.08.0"} 17 | "dune" {>= "1.2.0"} 18 | "ounit2" {with-test & >= "1.0.2"} 19 | "ppx_sexp_conv" {with-test & >= "v0.9.0"} 20 | "crowbar" {with-test & >= "0.2"} 21 | "stringext" {>= "1.4.0"} 22 | "angstrom" {>= "0.14.0"} 23 | ] 24 | build: [ 25 | ["dune" "subst"] {dev} 26 | ["dune" "build" "-p" name "-j" jobs] 27 | ["dune" "runtest" "-p" name "-j" jobs] {with-test & os != "macos"} 28 | ] 29 | url { 30 | src: 31 | "https://github.com/mirage/ocaml-uri/releases/download/v4.4.0/uri-4.4.0.tbz" 32 | checksum: [ 33 | "sha256=cdabaf6ef5cd2161e59cc7b74c6e4a68ecb80a9f4e96002e338e1b6bf17adec4" 34 | "sha512=88374143e0d8aaf6d40aa3cbd7593f9832e9c9727738c6e651498125150c83d5646e13b5737d5c3e81484dd041127f67f8acea13fdc0300ac4e46107559f8ae2" 35 | ] 36 | } 37 | x-commit-hash: "c336c796f4deb8979a4c7ceea3bef34b46240623" 38 | -------------------------------------------------------------------------------- /esy.lock/opam/melange.4.0.0-51/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Toolchain to produce JS from Reason/OCaml" 3 | maintainer: ["Antonio Nuno Monteiro "] 4 | authors: ["Antonio Nuno Monteiro "] 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.1" & < "5.2"} 11 | "cmdliner" {>= "1.1.0"} 12 | "dune-build-info" 13 | "cppo" {build} 14 | "ounit" {with-test} 15 | "reason" {with-test & >= "3.9.0"} 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 | "@doc" {with-doc} 33 | ] 34 | ] 35 | available: arch != "x86_32" & arch != "arm32" 36 | dev-repo: "git+https://github.com/melange-re/melange.git" 37 | url { 38 | src: 39 | "https://github.com/melange-re/melange/releases/download/4.0.0-51/melange-4.0.0-51.tbz" 40 | checksum: [ 41 | "sha256=f78d18ce9d595e737a98a55663e9ea2a39f8aad054251e5e1c4e793938c6bdd5" 42 | "sha512=d4b7c18bb1d1e7af529ea49fe1ce28b0debf64056ba65108768ed28dc920e4b92a61cdb279c52b7140206e816eb484fd87d21572021b4ef983c54ddbc4907034" 43 | ] 44 | } 45 | x-commit-hash: "3a953fa32ed26449e5e8304c12d6ba18a4f08438" 46 | -------------------------------------------------------------------------------- /esy.lock/opam/rresult.0.7.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: """Result value combinators for OCaml""" 3 | maintainer: ["Daniel Bünzli "] 4 | authors: ["The rresult programmers"] 5 | homepage: "https://erratique.ch/software/rresult" 6 | doc: "https://erratique.ch/software/rresult/doc/Rresult" 7 | dev-repo: "git+https://erratique.ch/repos/rresult.git" 8 | bug-reports: "https://github.com/dbuenzli/rresult/issues" 9 | license: ["ISC"] 10 | tags: ["result" "error" "org:erratique"] 11 | depends: ["ocaml" {>= "4.08.0"} 12 | "ocamlfind" {build} 13 | "ocamlbuild" {build} 14 | "topkg" {build & >= "1.0.3"}] 15 | build: [["ocaml" "pkg/pkg.ml" "build" "--dev-pkg" "%{dev}%"]] 16 | url { 17 | src: "https://erratique.ch/software/rresult/releases/rresult-0.7.0.tbz" 18 | checksum: "sha512=f1bb631c986996388e9686d49d5ae4d8aaf14034f6865c62a88fb58c48ce19ad2eb785327d69ca27c032f835984e0bd2efd969b415438628a31f3e84ec4551d3"} 19 | description: """ 20 | Rresult is an OCaml module for handling computation results and errors 21 | in an explicit and declarative manner, without resorting to 22 | exceptions. It defines combinators to operate on the `result` type 23 | available from OCaml 4.03 in the standard library. 24 | 25 | OCaml 4.08 provides the `Stdlib.Result` module which you should prefer 26 | to Rresult. 27 | 28 | Rresult is distributed under the ISC license. 29 | 30 | Home page: http://erratique.ch/software/rresult 31 | Contact: Daniel Bünzli ``""" -------------------------------------------------------------------------------- /esy.lock/opam/base64.3.5.1/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "mirageos-devel@lists.xenproject.org" 3 | authors: [ "Thomas Gazagnaire" 4 | "Anil Madhavapeddy" "Calascibetta Romain" 5 | "Peter Zotov" ] 6 | license: "ISC" 7 | homepage: "https://github.com/mirage/ocaml-base64" 8 | doc: "https://mirage.github.io/ocaml-base64/" 9 | bug-reports: "https://github.com/mirage/ocaml-base64/issues" 10 | dev-repo: "git+https://github.com/mirage/ocaml-base64.git" 11 | synopsis: "Base64 encoding for OCaml" 12 | description: """ 13 | Base64 is a group of similar binary-to-text encoding schemes that represent 14 | binary data in an ASCII string format by translating it into a radix-64 15 | representation. It is specified in RFC 4648. 16 | """ 17 | depends: [ 18 | "ocaml" {>= "4.03.0"} 19 | "dune" {>= "2.3"} 20 | "fmt" {with-test & >= "0.8.7"} 21 | "bos" {with-test} 22 | "rresult" {with-test} 23 | "alcotest" {with-test} 24 | ] 25 | build: [ 26 | ["dune" "subst"] {dev} 27 | ["dune" "build" "-p" name "-j" jobs] 28 | ["dune" "runtest" "-p" name "-j" jobs] {with-test} 29 | ] 30 | url { 31 | src: 32 | "https://github.com/mirage/ocaml-base64/releases/download/v3.5.1/base64-3.5.1.tbz" 33 | checksum: [ 34 | "sha256=d8fedaa59bd12feae7acc08b5928dd478aac523f4ca8d240470d2500651c65ed" 35 | "sha512=278bd2029800d90ed88ff59b9de723013e645523556a1667b64178d6b5058a7d6da91efffef3589c35569b5fa10ddee74c93f5a3d156b9146c8af5b7fe44aeaf" 36 | ] 37 | } 38 | x-commit-hash: "084346f14ed1e6706d733402dd6ff65b0dc4f718" 39 | -------------------------------------------------------------------------------- /esy.lock/opam/angstrom.0.16.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Spiros Eliopoulos " 3 | authors: [ "Spiros Eliopoulos " ] 4 | license: "BSD-3-clause" 5 | homepage: "https://github.com/inhabitedtype/angstrom" 6 | bug-reports: "https://github.com/inhabitedtype/angstrom/issues" 7 | dev-repo: "git+https://github.com/inhabitedtype/angstrom.git" 8 | build: [ 9 | ["dune" "subst"] {dev} 10 | ["dune" "build" "-p" name "-j" jobs] 11 | ["dune" "runtest" "-p" name "-j" jobs] {with-test} 12 | ] 13 | depends: [ 14 | "ocaml" {>= "4.04.0"} 15 | "dune" {>= "1.8"} 16 | "alcotest" {with-test & >= "0.8.1"} 17 | "bigstringaf" 18 | "ppx_let" {with-test & >= "v0.14.0"} 19 | "ocaml-syntax-shims" {build} 20 | ] 21 | synopsis: "Parser combinators built for speed and memory-efficiency" 22 | description: """ 23 | Angstrom is a parser-combinator library that makes it easy to write efficient, 24 | expressive, and reusable parsers suitable for high-performance applications. It 25 | exposes monadic and applicative interfaces for composition, and supports 26 | incremental input through buffered and unbuffered interfaces. Both interfaces 27 | give the user total control over the blocking behavior of their application, 28 | with the unbuffered interface enabling zero-copy IO. Parsers are backtracking by 29 | default and support unbounded lookahead.""" 30 | url { 31 | src: "https://github.com/inhabitedtype/angstrom/archive/0.16.0.tar.gz" 32 | checksum: "md5=58ebc718a920c31ec3eb38f4aa1bea51" 33 | } 34 | -------------------------------------------------------------------------------- /esy.lock/opam/caqti-lwt.1.9.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Petter A. Urkedal " 3 | authors: "Petter A. Urkedal " 4 | license: "LGPL-3.0-or-later WITH LGPL-3.0-linking-exception" 5 | homepage: "https://github.com/paurkedal/ocaml-caqti/" 6 | doc: "https://paurkedal.github.io/ocaml-caqti/index.html" 7 | bug-reports: "https://github.com/paurkedal/ocaml-caqti/issues" 8 | depends: [ 9 | "alcotest" {with-test & >= "1.5.0"} 10 | "alcotest-lwt" {with-test & >= "1.5.0"} 11 | "caqti" {>= "1.9.0" & < "1.10.0~"} 12 | "caqti-dynload" {with-test & >= "1.0.0" & < "2.0.0~"} 13 | "caqti-driver-sqlite3" {with-test & >= "1.0.0" & < "2.0.0~"} 14 | "cmdliner" {with-test & >= "1.1.0"} 15 | "dune" {>= "2.0"} 16 | "logs" 17 | "lwt" {>= "3.2.0"} 18 | "ocaml" 19 | "odoc" {with-doc} 20 | ] 21 | build: [ 22 | ["dune" "build" "-p" name "-j" jobs] 23 | ["dune" "runtest" "-p" name "-j" jobs] {with-test} 24 | ["dune" "build" "@doc" "-p" name "-j" jobs] {with-doc} 25 | ] 26 | dev-repo: "git+https://github.com/paurkedal/ocaml-caqti.git" 27 | synopsis: "Lwt support for Caqti" 28 | url { 29 | src: 30 | "https://github.com/paurkedal/ocaml-caqti/releases/download/v1.9.0/caqti-v1.9.0.tbz" 31 | checksum: [ 32 | "sha256=e1f580848faf3a54f23174067f2c75f77f6a2fe50ca8bc923428d0e1841192c5" 33 | "sha512=7a11edfcfbbe4855347b066e222cf6bf46d1afedcd4978661b9a2b3931921faa1768a6bc24031fd3afa84537fe2adc8b139399deb77120461bee8fb394d68e82" 34 | ] 35 | } 36 | x-commit-hash: "55ab7a2851694f08c62cbb6438c681ebb565636d" 37 | -------------------------------------------------------------------------------- /esy.lock/opam/astring.0.8.5/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Daniel Bünzli " 3 | authors: ["The astring programmers"] 4 | homepage: "https://erratique.ch/software/astring" 5 | doc: "https://erratique.ch/software/astring/doc" 6 | dev-repo: "git+http://erratique.ch/repos/astring.git" 7 | bug-reports: "https://github.com/dbuenzli/astring/issues" 8 | tags: [ "string" "org:erratique" ] 9 | license: "ISC" 10 | depends: [ 11 | "ocaml" {>= "4.05.0"} 12 | "ocamlfind" {build} 13 | "ocamlbuild" {build} 14 | "topkg" {build} ] 15 | build: [[ "ocaml" "pkg/pkg.ml" "build" "--pinned" "%{pinned}%" ]] 16 | 17 | synopsis: """Alternative String module for OCaml""" 18 | description: """\ 19 | 20 | Astring exposes an alternative `String` module for OCaml. This module 21 | tries to balance minimality and expressiveness for basic, index-free, 22 | string processing and provides types and functions for substrings, 23 | string sets and string maps. 24 | 25 | Remaining compatible with the OCaml `String` module is a non-goal. The 26 | `String` module exposed by Astring has exception safe functions, 27 | removes deprecated and rarely used functions, alters some signatures 28 | and names, adds a few missing functions and fully exploits OCaml's 29 | newfound string immutability. 30 | 31 | Astring depends only on the OCaml standard library. It is distributed 32 | under the ISC license. 33 | """ 34 | url { 35 | archive: "https://erratique.ch/software/astring/releases/astring-0.8.5.tbz" 36 | checksum: "e148907c24157d1df43bec89b58b3ec8" 37 | } 38 | -------------------------------------------------------------------------------- /esy.lock/opam/eqaf.0.9/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: [ "Romain Calascibetta " ] 3 | authors: [ "Romain Calascibetta " ] 4 | homepage: "https://github.com/mirage/eqaf" 5 | bug-reports: "https://github.com/mirage/eqaf/issues" 6 | dev-repo: "git+https://github.com/mirage/eqaf.git" 7 | doc: "https://mirage.github.io/eqaf/" 8 | license: "MIT" 9 | synopsis: "Constant-time equal function on string" 10 | description: """ 11 | This package provides an equal function on string in constant-time to avoid timing-attack with crypto stuff. 12 | """ 13 | 14 | build: [ 15 | [ "dune" "subst" ] {dev} 16 | [ "dune" "build" "-p" name "-j" jobs ] 17 | [ "dune" "runtest" "-p" name "-j" "1" "--no-buffer" "--verbose" ] {with-test} 18 | ] 19 | 20 | depends: [ 21 | "ocaml" {>= "4.07.0"} 22 | "dune" {>= "2.0"} 23 | "cstruct" {>= "1.1.0"} 24 | "base64" {with-test} 25 | "alcotest" {with-test} 26 | "crowbar" {with-test} 27 | "fmt" {with-test & >= "0.8.7"} 28 | "bechamel" {with-test} 29 | ] 30 | url { 31 | src: "https://github.com/mirage/eqaf/releases/download/v0.9/eqaf-0.9.tbz" 32 | checksum: [ 33 | "sha256=ec0e28a946ac6817f95d5854f05a9961ae3a8408bb610e79cfad01b9b255dfe0" 34 | "sha512=4df7fd3ea35156953a172c1a021aab05b8b122ee8d3cfdb34f96edb1b5133d1fe2721b90cb64287841d770b16c2ffe70559c66e90f8d61a92b73857da22548c4" 35 | ] 36 | } 37 | x-commit-hash: "e878ed56e40ca05c851a0e3297ab00ab76b10e0e" 38 | -------------------------------------------------------------------------------- /esy.lock/opam/prettym.0.0.3/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Romain Calascibetta " 3 | authors: "Romain Calascibetta " 4 | homepage: "https://github.com/dinosaure/prettym" 5 | bug-reports: "https://github.com/dinosaure/prettym/issues" 6 | dev-repo: "git+https://github.com/dinosaure/prettym.git" 7 | doc: "https://dinosaure.github.io/prettym/" 8 | license: "MIT" 9 | synopsis: "An memory-bounded encoder according to RFC 822" 10 | description: """A best effort memory-bounded encoder to respect the 80 column limitation""" 11 | 12 | build: [ 13 | ["dune" "build" "-p" name "-j" jobs] 14 | ["dune" "runtest" "-p" name "-j" jobs] {with-test} 15 | ] 16 | 17 | depends: [ 18 | "ocaml" {>= "4.08.0"} 19 | "dune" {>= "2.8"} 20 | "bigarray-overlap" 21 | "fmt" {>= "0.8.7"} 22 | "ke" {>= "0.4"} 23 | "bigstringaf" {>= "0.2"} 24 | "ptime" {with-test} 25 | "alcotest" {with-test} 26 | "jsonm" {with-test} 27 | "base64" {with-test} 28 | ] 29 | url { 30 | src: 31 | "https://github.com/dinosaure/prettym/releases/download/0.0.3/prettym-0.0.3.tbz" 32 | checksum: [ 33 | "sha256=9170f1a11ade7f4d98a584a5be52bb6b91415f971c6e75894331b46b18b98f09" 34 | "sha512=ccb5985daedfb6cae74192090644e81c525df3e0653bb06492f836ca4291275d3ce75079237574200ecab8dacf62304521592d4baebbe4b0d17277b5e200c6a8" 35 | ] 36 | } 37 | x-commit-hash: "a22c4d46c11e2c4c0605ff7151b957785c795593" 38 | -------------------------------------------------------------------------------- /esy.lock/opam/mirage-crypto.0.11.3/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | homepage: "https://github.com/mirage/mirage-crypto" 3 | dev-repo: "git+https://github.com/mirage/mirage-crypto.git" 4 | bug-reports: "https://github.com/mirage/mirage-crypto/issues" 5 | doc: "https://mirage.github.io/mirage-crypto/doc" 6 | authors: ["David Kaloper " "Hannes Mehnert " ] 7 | maintainer: "Hannes Mehnert " 8 | license: "ISC" 9 | synopsis: "Simple symmetric cryptography for the modern age" 10 | 11 | build: [ ["dune" "subst"] {dev} 12 | ["dune" "build" "-p" name "-j" jobs ] 13 | ["dune" "runtest" "-p" name "-j" jobs] {with-test} ] 14 | 15 | depends: [ 16 | "ocaml" {>= "4.08.0"} 17 | "dune" {>= "2.7"} 18 | "dune-configurator" {>= "2.0.0"} 19 | "ounit2" {with-test} 20 | "cstruct" {>="6.0.0"} 21 | "eqaf" {>= "0.8"} 22 | ] 23 | conflicts: [ 24 | "ocaml-freestanding" 25 | "result" {< "1.5"} 26 | ] 27 | description: """ 28 | Mirage-crypto provides symmetric ciphers (DES, AES, RC4, ChaCha20/Poly1305), and 29 | hashes (MD5, SHA-1, SHA-2). 30 | """ 31 | url { 32 | src: 33 | "https://github.com/mirage/mirage-crypto/releases/download/v0.11.3/mirage-crypto-0.11.3.tbz" 34 | checksum: [ 35 | "sha256=bfb530fa169cd905ebc7e2449f3407cfbd67023ac0b291b8b6f4a1437a5d95b1" 36 | "sha512=7b6f4e8128622b53eb2176881b5d6160f224e8606c7dd21aaf47974f15db7aa475cffaff3214aaaabba0f8986398f159c1fbb1bff29228c9b0a3fae67ef8d731" 37 | ] 38 | } 39 | x-commit-hash: "3ebc0e3e1bb6c471292b9f0c18afa3ce20d5f051" 40 | -------------------------------------------------------------------------------- /esy.lock/opam/mtime.2.0.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Monotonic wall-clock time for OCaml" 3 | description: """\ 4 | Mtime has platform independent support for monotonic wall-clock time 5 | in pure OCaml. This time increases monotonically and is not subject to 6 | operating system calendar time adjustments. The library has types to 7 | represent nanosecond precision timestamps and time spans. 8 | 9 | The additional Mtime_clock library provide access to a system 10 | monotonic clock. 11 | 12 | Mtime has a no dependency. Mtime_clock depends on your system library 13 | or JavaScript runtime system. Mtime and its libraries are distributed 14 | under the ISC license. 15 | 16 | Home page: """ 17 | maintainer: "Daniel Bünzli " 18 | authors: "The mtime programmers" 19 | license: "ISC" 20 | tags: ["time" "monotonic" "system" "org:erratique"] 21 | homepage: "https://erratique.ch/software/mtime" 22 | doc: "https://erratique.ch/software/mtime/doc/" 23 | bug-reports: "https://github.com/dbuenzli/mtime/issues" 24 | depends: [ 25 | "ocaml" {>= "4.08.0"} 26 | "ocamlfind" {build} 27 | "ocamlbuild" {build & != "0.9.0"} 28 | "topkg" {build & >= "1.0.3"} 29 | ] 30 | build: ["ocaml" "pkg/pkg.ml" "build" "--dev-pkg" "%{dev}%"] 31 | dev-repo: "git+https://erratique.ch/repos/mtime.git" 32 | url { 33 | src: "https://erratique.ch/software/mtime/releases/mtime-2.0.0.tbz" 34 | checksum: 35 | "sha512=2ebec45218901c08f73420aa3318c506f155b6c0df713e9856682e59d3246696821ea477ce3682af0bf4cafd0491b1d66904f8c0256e2cf831e93a0aea322f04" 36 | } -------------------------------------------------------------------------------- /esy.lock/opam/ppx_deriving.5.2.1/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "whitequark " 3 | authors: [ "whitequark " ] 4 | license: "MIT" 5 | homepage: "https://github.com/ocaml-ppx/ppx_deriving" 6 | doc: "https://ocaml-ppx.github.io/ppx_deriving/" 7 | bug-reports: "https://github.com/ocaml-ppx/ppx_deriving/issues" 8 | dev-repo: "git+https://github.com/ocaml-ppx/ppx_deriving.git" 9 | tags: [ "syntax" ] 10 | build: [ 11 | ["dune" "subst"] {dev} 12 | ["dune" "build" "-p" name "-j" jobs] 13 | ["dune" "runtest" "-p" name "-j" jobs] {with-test & ocaml:version < "5.0.0"} 14 | ["dune" "build" "@doc" "-p" name "-j" jobs] {with-doc} 15 | ] 16 | depends: [ 17 | "ocaml" {>= "4.05.0"} 18 | "dune" {>= "1.6.3"} 19 | "cppo" {build & >= "1.1.0"} 20 | "ocamlfind" 21 | "ppx_derivers" 22 | "ppxlib" {>= "0.20.0"} 23 | "result" 24 | "ounit2" {with-test} 25 | ] 26 | synopsis: "Type-driven code generation for OCaml" 27 | description: """ 28 | ppx_deriving provides common infrastructure for generating 29 | code based on type definitions, and a set of useful plugins 30 | for common tasks. 31 | """ 32 | url { 33 | src: 34 | "https://github.com/ocaml-ppx/ppx_deriving/releases/download/v5.2.1/ppx_deriving-v5.2.1.tbz" 35 | checksum: [ 36 | "sha256=e96b5fb25b7632570e4b329e22e097fcd4b8e8680d1e43ef003a8fbd742b0786" 37 | "sha512=f28cd778a2d48ababa53f73131b25229a11b03685610d020b7b9228b1e25570891cd927b37475aeda49be72debaf5f2dda4c1518a0965db7a361c0ebe325a8d2" 38 | ] 39 | } 40 | x-commit-hash: "7211546d6527bf57d3eff8174c90fc3c22250dae" 41 | -------------------------------------------------------------------------------- /esy.lock/opam/yojson.2.1.2/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: 3 | "Yojson is an optimized parsing and printing library for the JSON format" 4 | description: """ 5 | Yojson is an optimized parsing and printing library for the JSON format. 6 | 7 | ydump is a pretty-printing command-line program provided with the 8 | yojson package.""" 9 | maintainer: [ 10 | "paul-elliot@tarides.com" "nathan@tarides.com" "marek@tarides.com" 11 | ] 12 | authors: ["Martin Jambon"] 13 | license: "BSD-3-Clause" 14 | homepage: "https://github.com/ocaml-community/yojson" 15 | doc: "https://ocaml-community.github.io/yojson" 16 | bug-reports: "https://github.com/ocaml-community/yojson/issues" 17 | depends: [ 18 | "dune" {>= "2.7"} 19 | "ocaml" {>= "4.02.3"} 20 | "cppo" {build} 21 | "alcotest" {with-test & >= "0.8.5"} 22 | "seq" {>= "0.2.2"} 23 | "odoc" {with-doc} 24 | ] 25 | build: [ 26 | ["dune" "subst"] {dev} 27 | [ 28 | "dune" 29 | "build" 30 | "-p" 31 | name 32 | "-j" 33 | jobs 34 | "@install" 35 | "@runtest" {with-test} 36 | "@doc" {with-doc} 37 | ] 38 | ] 39 | dev-repo: "git+https://github.com/ocaml-community/yojson.git" 40 | url { 41 | src: 42 | "https://github.com/ocaml-community/yojson/releases/download/2.1.2/yojson-2.1.2.tbz" 43 | checksum: [ 44 | "sha256=59f2f1abbfc8a7ccbdbf608894e5c75e8a76006e34899254446f83e200dfb4f9" 45 | "sha512=309cba7568dec51de20c7ab8df033258c275b8d58b0a36a66b26e673a3bc050cbd7e39ff8fe4796e89263e125bcc21e04dc36a394f3cc201956887eee1fb281a" 46 | ] 47 | } 48 | x-commit-hash: "e51163ee04ad79408975545ec5fc3b7dc41f68eb" 49 | -------------------------------------------------------------------------------- /esy.lock/opam/multipart_form-lwt.0.6.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Multipart-form: RFC2183, RFC2388 & RFC7578" 3 | description: """\ 4 | Implementation of RFC7578 in OCaml 5 | 6 | Returning values from forms: multipart/form-data""" 7 | maintainer: "Romain Calascibetta " 8 | authors: "Romain Calascibetta " 9 | license: "MIT" 10 | homepage: "https://github.com/dinosaure/multipart_form" 11 | doc: "https://dinosaure.github.io/multipart_form/" 12 | bug-reports: "https://github.com/dinosaure/multipart_form/issues" 13 | depends: [ 14 | "ocaml" {>= "4.08.0"} 15 | "dune" {>= "2.0.0"} 16 | "angstrom" 17 | "bigstringaf" 18 | "ke" 19 | "lwt" {>= "5.4.0"} 20 | "multipart_form" {= version} 21 | "alcotest-lwt" {with-test} 22 | "alcotest" {with-test} 23 | "fmt" {with-test} 24 | "rosetta" {with-test} 25 | "rresult" {with-test} 26 | "unstrctrd" {with-test} 27 | "logs" {with-test} 28 | ] 29 | build: [ 30 | ["dune" "build" "-p" name "-j" jobs] 31 | ["dune" "runtest" "-p" name "-j" jobs] {with-test} 32 | ] 33 | dev-repo: "git+https://github.com/dinosaure/multipart_form.git" 34 | url { 35 | src: 36 | "https://github.com/dinosaure/multipart_form/releases/download/v0.6.0/multipart_form-0.6.0.tbz" 37 | checksum: [ 38 | "sha256=a0e329c323cffaad4167cd5af87a68a1e6a09546600f1773d8c0cd2f28062116" 39 | "sha512=46d6aa185df8224f983e06ff904db80f4a4f859810c9040ea894ebc82510ba43719b276b43c5939ac7eba75491cb5633fbb47934a9e66637a185d19e35aab688" 40 | ] 41 | } 42 | x-commit-hash: "3637a3fe83d9be1c715c8464671a7997dc57af7f" 43 | -------------------------------------------------------------------------------- /esy.lock/opam/re.1.11.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | 3 | maintainer: "rudi.grinberg@gmail.com" 4 | authors: [ 5 | "Jerome Vouillon" 6 | "Thomas Gazagnaire" 7 | "Anil Madhavapeddy" 8 | "Rudi Grinberg" 9 | "Gabriel Radanne" 10 | ] 11 | license: "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception" 12 | homepage: "https://github.com/ocaml/ocaml-re" 13 | bug-reports: "https://github.com/ocaml/ocaml-re/issues" 14 | dev-repo: "git+https://github.com/ocaml/ocaml-re.git" 15 | 16 | build: [ 17 | ["dune" "subst"] {dev} 18 | ["dune" "build" "-p" name "-j" jobs] 19 | ["dune" "runtest" "-p" name "-j" jobs] {with-test} 20 | ] 21 | 22 | depends: [ 23 | "ocaml" {>= "4.03"} 24 | "dune" {>= "2.0"} 25 | "ounit" {with-test} 26 | "seq" 27 | ] 28 | 29 | synopsis: "RE is a regular expression library for OCaml" 30 | description: """ 31 | Pure OCaml regular expressions with: 32 | * Perl-style regular expressions (module Re.Perl) 33 | * Posix extended regular expressions (module Re.Posix) 34 | * Emacs-style regular expressions (module Re.Emacs) 35 | * Shell-style file globbing (module Re.Glob) 36 | * Compatibility layer for OCaml's built-in Str module (module Re.Str) 37 | """ 38 | url { 39 | src: 40 | "https://github.com/ocaml/ocaml-re/releases/download/1.11.0/re-1.11.0.tbz" 41 | checksum: [ 42 | "sha256=01fc244780c0f6be72ae796b1fb750f367de18624fd75d07ee79782ed6df8d4f" 43 | "sha512=3e3712cc1266ec1f27620f3508ea2ebba338f4083b07d8a69dccee1facfdc1971a6c39f9deea664d2a62fd7f2cfd2eae816ca4c274acfadaee992a3befc4b757" 44 | ] 45 | } 46 | x-commit-hash: "2dd38515c76c40299596d39f18d9b9a20f00d788" 47 | -------------------------------------------------------------------------------- /esy.lock/opam/bigstringaf.0.9.1/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Spiros Eliopoulos " 3 | authors: [ "Spiros Eliopoulos " ] 4 | license: "BSD-3-clause" 5 | homepage: "https://github.com/inhabitedtype/bigstringaf" 6 | bug-reports: "https://github.com/inhabitedtype/bigstringaf/issues" 7 | dev-repo: "git+https://github.com/inhabitedtype/bigstringaf.git" 8 | build: [ 9 | ["dune" "subst"] {dev} 10 | [ 11 | "dune" 12 | "build" 13 | "-p" 14 | name 15 | "-j" 16 | jobs 17 | "@install" 18 | "@runtest" {with-test} 19 | "@doc" {with-doc} 20 | ] 21 | ] 22 | depends: [ 23 | "dune" {>= "3.0"} 24 | "dune-configurator" {>= "3.0"} 25 | "alcotest" {with-test} 26 | "ocaml" {>= "4.08.0"} 27 | ] 28 | conflicts: [ 29 | "mirage-xen" {< "6.0.0"} 30 | "ocaml-freestanding" 31 | "js_of_ocaml" {< "3.5.0"} 32 | ] 33 | synopsis: "Bigstring intrinsics and fast blits based on memcpy/memmove" 34 | description: """ 35 | Bigstring intrinsics and fast blits based on memcpy/memmove 36 | 37 | The OCaml compiler has a bunch of intrinsics for Bigstrings, but they're not 38 | widely-known, sometimes misused, and so programs that use Bigstrings are slower 39 | than they have to be. And even if a library got that part right and exposed the 40 | intrinsics properly, the compiler doesn't have any fast blits between 41 | Bigstrings and other string-like types. 42 | 43 | So here they are. Go crazy. 44 | """ 45 | url { 46 | src: "https://github.com/inhabitedtype/bigstringaf/archive/0.9.1.tar.gz" 47 | checksum: "md5=909fdc277cf03096a35b565325d5314a" 48 | } 49 | -------------------------------------------------------------------------------- /esy.lock/opam/unstrctrd.0.4/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Fast and compliant Unstructured parser according RFC 822" 3 | description: """Unstrctrd is a library for managing values formatted according to \ 4 | the unstructured rule introduced by RFC 822. This format can be found in emails, \ 5 | HTTP/1.1 and also in the description of Debian packages.""" 6 | maintainer: "Romain Calascibetta " 7 | authors: "Romain Calascibetta " 8 | license: "MIT" 9 | homepage: "https://github.com/dinosaure/unstrctrd" 10 | doc: "https://dinosaure.github.io/unstrctrd/" 11 | bug-reports: "https://github.com/dinosaure/unstrctrd/issues" 12 | depends: [ 13 | "ocaml" {>= "4.07.0"} 14 | "dune" {>= "2.0"} 15 | "uutf" 16 | "angstrom" {>= "0.14.0"} 17 | "rresult" {with-test} 18 | "alcotest" {with-test} 19 | "ke" {with-test} 20 | "bigstringaf" {with-test} 21 | "hxd" {with-test & >= "0.3.1"} 22 | "fmt" {with-test & >= "0.8.7"} 23 | "crowbar" {>= "0.2" & with-test} 24 | ] 25 | build: ["dune" "build" "-p" name "-j" jobs] 26 | run-test: ["dune" "runtest" "-p" name "-j" jobs] 27 | dev-repo: "git+https://github.com/dinosaure/unstrctrd.git" 28 | url { 29 | src: 30 | "https://github.com/dinosaure/unstrctrd/releases/download/v0.4/unstrctrd-0.4.tbz" 31 | checksum: [ 32 | "sha256=368a9b86acea988e952fe7bdf5db2c9eaf5345a6939e609351f15eeb25121824" 33 | "sha512=94f68b5e1e9ae9c65ba3e4cb3e673d730a7fe9c4a2155f65373385d56a2eb0587657b73cea854f3cd44a020f67f391fe2cf0d6691f813b2fc093fd6ca64d1307" 34 | ] 35 | } 36 | x-commit-hash: "ae573deee696e3927dc06d9b27ed2139931d2c58" 37 | -------------------------------------------------------------------------------- /esy.lock/opam/sedlex.3.2/opam: -------------------------------------------------------------------------------- 1 | # This file is generated by dune, edit dune-project instead 2 | opam-version: "2.0" 3 | synopsis: "An OCaml lexer generator for Unicode" 4 | description: """ 5 | sedlex is a lexer generator for OCaml. It is similar to ocamllex, but supports 6 | Unicode. Unlike ocamllex, sedlex allows lexer specifications within regular 7 | OCaml source files. Lexing specific constructs are provided via a ppx syntax 8 | extension.""" 9 | maintainer: ["Alain Frisch "] 10 | authors: [ 11 | "Alain Frisch " 12 | "https://github.com/ocaml-community/sedlex/graphs/contributors" 13 | ] 14 | license: "MIT" 15 | homepage: "https://github.com/ocaml-community/sedlex" 16 | bug-reports: "https://github.com/ocaml-community/sedlex/issues" 17 | depends: [ 18 | "ocaml" {>= "4.08"} 19 | "dune" {>= "3.0"} 20 | "ppxlib" {>= "0.26.0"} 21 | "gen" 22 | "ppx_expect" {with-test} 23 | "odoc" {with-doc} 24 | ] 25 | build: [ 26 | ["dune" "subst"] {dev} 27 | [ 28 | "dune" 29 | "build" 30 | "-p" 31 | name 32 | "-j" 33 | jobs 34 | "@install" 35 | "@runtest" {with-test} 36 | "@doc" {with-doc} 37 | ] 38 | ] 39 | dev-repo: "git+https://github.com/ocaml-community/sedlex.git" 40 | doc: "https://ocaml-community.github.io/sedlex/index.html" 41 | url { 42 | src: 43 | "https://github.com/ocaml-community/sedlex/archive/refs/tags/v3.2.tar.gz" 44 | checksum: [ 45 | "md5=b67eec3a80a7fed8e6c91e47260b0843" 46 | "sha512=00e257d1b97e99d49028d2e38b20a05c6aa151c362991c37c17522bf58c19e273b762ea39dd9783ed9ecc60d11dadeabb0487e16b4af91536e45e7e18c86cfe9" 47 | ] 48 | } 49 | -------------------------------------------------------------------------------- /esy.lock/opam/dream-httpaf.1.0.0~alpha2/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | 3 | synopsis: "Internal: shared http/af stack for Dream (server) and Hyper (client)" 4 | description: "This package does not have a stable API." 5 | 6 | license: "MIT" 7 | homepage: "https://github.com/aantron/dream" 8 | doc: "https://aantron.github.io/dream" 9 | bug-reports: "https://github.com/aantron/dream/issues" 10 | dev-repo: "git+https://github.com/aantron/dream.git" 11 | 12 | author: "Anton Bachin " 13 | maintainer: "Anton Bachin " 14 | 15 | depends: [ 16 | "dream-pure" 17 | "dune" {>= "2.7.0"} # --instrument-with. 18 | "lwt" 19 | "lwt_ppx" {>= "1.2.2"} 20 | "lwt_ssl" 21 | "ocaml" {>= "4.08.0"} 22 | "ssl" {>= "0.5.8"} # Ssl.get_negotiated_alpn_protocol. 23 | 24 | # Currently vendored. 25 | # "gluten" 26 | # "gluten-lwt-unix" 27 | # "httpaf" 28 | # "httpaf-lwt-unix" 29 | # "h2" 30 | # "h2-lwt-unix" 31 | # "hpack" 32 | # "websocketaf" 33 | 34 | # Dependencies of vendored packages. 35 | "angstrom" {>= "0.14.0"} 36 | "base64" {>= "3.0.0"} 37 | "bigstringaf" {>= "0.5.0"} # h2. 38 | "digestif" {>= "0.7.2"} # websocket/af, sha1, default implementation. 39 | "faraday" {>= "0.6.1"} 40 | "faraday-lwt-unix" 41 | "ke" {>= "0.5"} # Gluten. 42 | "lwt_ssl" {>= "1.2.0"} # Gluten. 43 | "psq" # h2. 44 | "result" # websocket/af. 45 | ] 46 | 47 | build: [ 48 | ["dune" "build" "-p" name "-j" jobs] 49 | ] 50 | 51 | url { 52 | src: "https://github.com/aantron/dream/releases/download/1.0.0-alpha5/dream-1.0.0-alpha5.tar.gz" 53 | checksum: "md5=de6f6908ae899c9e85f2c751a0263932" 54 | } 55 | -------------------------------------------------------------------------------- /esy.lock/opam/multipart_form.0.6.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Multipart-form: RFC2183, RFC2388 & RFC7578" 3 | description: """\ 4 | Implementation of RFC7578 in OCaml 5 | 6 | Returning values from forms: multipart/form-data""" 7 | maintainer: "Romain Calascibetta " 8 | authors: "Romain Calascibetta " 9 | license: "MIT" 10 | homepage: "https://github.com/dinosaure/multipart_form" 11 | doc: "https://dinosaure.github.io/multipart_form/" 12 | bug-reports: "https://github.com/dinosaure/multipart_form/issues" 13 | depends: [ 14 | "ocaml" {>= "4.08.0"} 15 | "dune" {>= "2.0.0"} 16 | "angstrom" {>= "0.14.0"} 17 | "base64" {>= "3.0.0"} 18 | "unstrctrd" {>= "0.2"} 19 | "uutf" 20 | "pecu" {>= "0.4"} 21 | "prettym" 22 | "fmt" {>= "0.8.7"} 23 | "logs" 24 | "ke" {>= "0.4"} 25 | "alcotest" {with-test} 26 | "rosetta" {with-test} 27 | "rresult" {with-test} 28 | "bigstringaf" {>= "0.9.0"} 29 | ] 30 | conflicts: [ "result" {< "1.5"} ] 31 | build: [ 32 | ["dune" "build" "-p" name "-j" jobs] 33 | ["dune" "runtest" "-p" name "-j" jobs] {with-test} 34 | ] 35 | dev-repo: "git+https://github.com/dinosaure/multipart_form.git" 36 | url { 37 | src: 38 | "https://github.com/dinosaure/multipart_form/releases/download/v0.6.0/multipart_form-0.6.0.tbz" 39 | checksum: [ 40 | "sha256=a0e329c323cffaad4167cd5af87a68a1e6a09546600f1773d8c0cd2f28062116" 41 | "sha512=46d6aa185df8224f983e06ff904db80f4a4f859810c9040ea894ebc82510ba43719b276b43c5939ac7eba75491cb5633fbb47934a9e66637a185d19e35aab688" 42 | ] 43 | } 44 | x-commit-hash: "3637a3fe83d9be1c715c8464671a7997dc57af7f" 45 | -------------------------------------------------------------------------------- /esy.lock/opam/dune-build-info.3.15.3/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Embed build information inside executable" 3 | description: """ 4 | The build-info library allows to access information about how the 5 | executable was built, such as the version of the project at which it 6 | was built or the list of statically linked libraries with their 7 | versions. It supports reporting the version from the version control 8 | system during development to get an precise reference of when the 9 | executable was built. 10 | """ 11 | maintainer: ["Jane Street Group, LLC "] 12 | authors: ["Jane Street Group, LLC "] 13 | license: "MIT" 14 | homepage: "https://github.com/ocaml/dune" 15 | doc: "https://dune.readthedocs.io/" 16 | bug-reports: "https://github.com/ocaml/dune/issues" 17 | depends: [ 18 | "dune" {>= "3.12"} 19 | "ocaml" {>= "4.08"} 20 | "odoc" {with-doc} 21 | ] 22 | dev-repo: "git+https://github.com/ocaml/dune.git" 23 | build: [ 24 | ["dune" "subst"] {dev} 25 | ["rm" "-rf" "vendor/csexp"] 26 | ["rm" "-rf" "vendor/pp"] 27 | [ 28 | "dune" 29 | "build" 30 | "-p" 31 | name 32 | "-j" 33 | jobs 34 | "@install" 35 | "@doc" {with-doc} 36 | ] 37 | ] 38 | url { 39 | src: 40 | "https://github.com/ocaml/dune/releases/download/3.15.3/dune-3.15.3.tbz" 41 | checksum: [ 42 | "sha256=3c27c7676414056f0368a71fdc670d2b0a59898090c78a1b68230984e5beb713" 43 | "sha512=c88ac7a6ed9334a4bc6231ecfb0efaa961dda99bc386fd5b92505151ff833dfaf058d75305fbb64c496e570058ec9000ac6add06dda7a395e757e924af1d1a7f" 44 | ] 45 | } 46 | x-commit-hash: "55da8f9248e3f5a06d6234ae35b140d1b37c6f0b" 47 | -------------------------------------------------------------------------------- /esy.lock/opam/ocamlformat-rpc-lib.0.26.2/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Auto-formatter for OCaml code (RPC mode)" 3 | description: 4 | "OCamlFormat is a tool to automatically format OCaml code in a uniform style. This package defines a RPC interface to OCamlFormat" 5 | maintainer: [ 6 | "Guillaume Petiot " 7 | "Jules Aguillon " 8 | "Emile Trotignon " 9 | ] 10 | authors: [ 11 | "Josh Berdine " 12 | "Hugo Heuzard " 13 | "Etienne Millon " 14 | "Guillaume Petiot " 15 | "Jules Aguillon " 16 | ] 17 | license: "MIT" 18 | homepage: "https://github.com/ocaml-ppx/ocamlformat" 19 | bug-reports: "https://github.com/ocaml-ppx/ocamlformat/issues" 20 | depends: [ 21 | "dune" {>= "2.8"} 22 | "ocaml" {>= "4.08"} 23 | "csexp" {>= "1.4.0"} 24 | "odoc" {with-doc} 25 | ] 26 | build: [ 27 | ["dune" "subst"] {dev} 28 | [ 29 | "dune" 30 | "build" 31 | "-p" 32 | name 33 | "-j" 34 | jobs 35 | "@install" 36 | "@runtest" {with-test} 37 | "@doc" {with-doc} 38 | ] 39 | ] 40 | dev-repo: "git+https://github.com/ocaml-ppx/ocamlformat.git" 41 | url { 42 | src: 43 | "https://github.com/ocaml-ppx/ocamlformat/releases/download/0.26.2/ocamlformat-0.26.2.tbz" 44 | checksum: [ 45 | "sha256=2e4f596bf7aa367a844fe83ba0f6b0bf14b2a65179ddc082363fe9793d0375c5" 46 | "sha512=b03d57462e65b11aa9f78dd5c4548251e8d1c5a1c9662f7502bdb10472aeb9df33c1d407350767a5223fbff9c01d53de85bafacd0274b49abc4b43701b159bee" 47 | ] 48 | } 49 | x-commit-hash: "f5727b32127730a2722f86c7119eb6d8f884e26d" 50 | -------------------------------------------------------------------------------- /esy.lock/opam/mirage-crypto-rng.0.11.3/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | homepage: "https://github.com/mirage/mirage-crypto" 3 | dev-repo: "git+https://github.com/mirage/mirage-crypto.git" 4 | bug-reports: "https://github.com/mirage/mirage-crypto/issues" 5 | doc: "https://mirage.github.io/mirage-crypto/doc" 6 | authors: ["David Kaloper " "Hannes Mehnert " ] 7 | maintainer: "Hannes Mehnert " 8 | license: "ISC" 9 | synopsis: "A cryptographically secure PRNG" 10 | 11 | build: [ ["dune" "subst"] {dev} 12 | ["dune" "build" "-p" name "-j" jobs ] 13 | ["dune" "runtest" "-p" name "-j" jobs] {with-test} ] 14 | 15 | depends: [ 16 | "ocaml" {>= "4.08.0"} 17 | "dune" {>= "2.7"} 18 | "dune-configurator" {>= "2.0.0"} 19 | "duration" 20 | "cstruct" {>= "6.0.0"} 21 | "logs" 22 | "mirage-crypto" {=version} 23 | "ounit2" {with-test} 24 | "randomconv" {with-test & >= "0.1.3" & < "0.2.0"} 25 | ] 26 | conflicts: [ "mirage-runtime" {< "3.8.0"} ] 27 | description: """ 28 | Mirage-crypto-rng provides a random number generator interface, and 29 | implementations: Fortuna, HMAC-DRBG, getrandom/getentropy based (in the unix 30 | sublibrary) 31 | """ 32 | url { 33 | src: 34 | "https://github.com/mirage/mirage-crypto/releases/download/v0.11.3/mirage-crypto-0.11.3.tbz" 35 | checksum: [ 36 | "sha256=bfb530fa169cd905ebc7e2449f3407cfbd67023ac0b291b8b6f4a1437a5d95b1" 37 | "sha512=7b6f4e8128622b53eb2176881b5d6160f224e8606c7dd21aaf47974f15db7aa475cffaff3214aaaabba0f8986398f159c1fbb1bff29228c9b0a3fae67ef8d731" 38 | ] 39 | } 40 | x-commit-hash: "3ebc0e3e1bb6c471292b9f0c18afa3ce20d5f051" 41 | -------------------------------------------------------------------------------- /esy.lock/opam/reason.3.11.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Reason: Syntax & Toolchain for OCaml" 3 | description: """ 4 | Reason gives OCaml a new syntax that is remniscient of languages like 5 | JavaScript. It's also the umbrella project for a set of tools for the OCaml & 6 | JavaScript ecosystem.""" 7 | maintainer: [ 8 | "Jordan Walke " 9 | "Antonio Nuno Monteiro " 10 | ] 11 | authors: ["Jordan Walke "] 12 | license: "MIT" 13 | homepage: "https://reasonml.github.io/" 14 | bug-reports: "https://github.com/reasonml/reason/issues" 15 | depends: [ 16 | "dune" {>= "2.9"} 17 | "ocaml" {>= "4.03" & < "5.3"} 18 | "ocamlfind" {build} 19 | "dune-build-info" {>= "2.9.3"} 20 | "menhir" {>= "20180523"} 21 | "merlin-extend" {>= "0.6"} 22 | "fix" 23 | "ppx_derivers" 24 | "ppxlib" {>= "0.28.0"} 25 | "odoc" {with-doc} 26 | ] 27 | build: [ 28 | ["dune" "subst"] {dev} 29 | [ 30 | "dune" 31 | "build" 32 | "-p" 33 | name 34 | "-j" 35 | jobs 36 | "--promote-install-files=false" 37 | "@install" 38 | "@doc" {with-doc} 39 | ] 40 | ["dune" "install" "-p" name "--create-install-files" name] 41 | ] 42 | dev-repo: "git+https://github.com/reasonml/reason.git" 43 | url { 44 | src: 45 | "https://github.com/reasonml/reason/releases/download/3.11.0/reason-3.11.0.tbz" 46 | checksum: [ 47 | "sha256=a58837f14a79f047c8eb99d5518aeb16ee64353574286cfd5b284c98a1a27250" 48 | "sha512=28d6d1c3636e400614b1a7d8c78b0bbb5de143e259edf683139b75d2fd2013da8e1a6c58d11047e6853f1e559c387d233570665de0de646005197b5f4d6f4879" 49 | ] 50 | } 51 | x-commit-hash: "3930092ac1cc04b7f3c62c71956592cf158ef8bb" 52 | -------------------------------------------------------------------------------- /esy.lock/opam/dune-configurator.3.15.3/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Helper library for gathering system configuration" 3 | description: """ 4 | dune-configurator is a small library that helps writing OCaml scripts that 5 | test features available on the system, in order to generate config.h 6 | files for instance. 7 | Among other things, dune-configurator allows one to: 8 | - test if a C program compiles 9 | - query pkg-config 10 | - import #define from OCaml header files 11 | - generate config.h file 12 | """ 13 | maintainer: ["Jane Street Group, LLC "] 14 | authors: ["Jane Street Group, LLC "] 15 | license: "MIT" 16 | homepage: "https://github.com/ocaml/dune" 17 | doc: "https://dune.readthedocs.io/" 18 | bug-reports: "https://github.com/ocaml/dune/issues" 19 | depends: [ 20 | "dune" {>= "3.12"} 21 | "ocaml" {>= "4.04.0"} 22 | "base-unix" 23 | "csexp" {>= "1.5.0"} 24 | "odoc" {with-doc} 25 | ] 26 | dev-repo: "git+https://github.com/ocaml/dune.git" 27 | build: [ 28 | ["dune" "subst"] {dev} 29 | ["rm" "-rf" "vendor/csexp"] 30 | ["rm" "-rf" "vendor/pp"] 31 | [ 32 | "dune" 33 | "build" 34 | "-p" 35 | name 36 | "-j" 37 | jobs 38 | "@install" 39 | "@doc" {with-doc} 40 | ] 41 | ] 42 | url { 43 | src: 44 | "https://github.com/ocaml/dune/releases/download/3.15.3/dune-3.15.3.tbz" 45 | checksum: [ 46 | "sha256=3c27c7676414056f0368a71fdc670d2b0a59898090c78a1b68230984e5beb713" 47 | "sha512=c88ac7a6ed9334a4bc6231ecfb0efaa961dda99bc386fd5b92505151ff833dfaf058d75305fbb64c496e570058ec9000ac6add06dda7a395e757e924af1d1a7f" 48 | ] 49 | } 50 | x-commit-hash: "55da8f9248e3f5a06d6234ae35b140d1b37c6f0b" 51 | -------------------------------------------------------------------------------- /esy.lock/opam/fmt.0.9.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: """OCaml Format pretty-printer combinators""" 3 | maintainer: ["Daniel Bünzli "] 4 | authors: ["The fmt programmers"] 5 | homepage: "https://erratique.ch/software/fmt" 6 | doc: "https://erratique.ch/software/fmt/doc/" 7 | dev-repo: "git+https://erratique.ch/repos/fmt.git" 8 | bug-reports: "https://github.com/dbuenzli/fmt/issues" 9 | license: ["ISC"] 10 | tags: ["string" "format" "pretty-print" "org:erratique"] 11 | depends: ["ocaml" {>= "4.08.0"} 12 | "ocamlfind" {build} 13 | "ocamlbuild" {build} 14 | "topkg" {build & >= "1.0.3"}] 15 | depopts: ["base-unix" 16 | "cmdliner"] 17 | conflicts: ["cmdliner" {< "0.9.8"}] 18 | build: [["ocaml" "pkg/pkg.ml" "build" "--dev-pkg" "%{dev}%" 19 | "--with-base-unix" "%{base-unix:installed}%" 20 | "--with-cmdliner" "%{cmdliner:installed}%"]] 21 | url { 22 | src: "https://erratique.ch/software/fmt/releases/fmt-0.9.0.tbz" 23 | checksum: "sha512=66cf4b8bb92232a091dfda5e94d1c178486a358cdc34b1eec516d48ea5acb6209c0dfcb416f0c516c50ddbddb3c94549a45e4a6d5c5fd1c81d3374dec823a83b"} 24 | description: """ 25 | Fmt exposes combinators to devise `Format` pretty-printing functions. 26 | 27 | Fmt depends only on the OCaml standard library. The optional `Fmt_tty` 28 | library that allows to setup formatters for terminal color output 29 | depends on the Unix library. The optional `Fmt_cli` library that 30 | provides command line support for Fmt depends on [`Cmdliner`][cmdliner]. 31 | 32 | Fmt is distributed under the ISC license. 33 | 34 | [cmdliner]: http://erratique.ch/software/cmdliner 35 | 36 | Home page: http://erratique.ch/software/fmt""" -------------------------------------------------------------------------------- /esy.lock/opam/ke.0.6/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Romain Calascibetta " 3 | authors: "Romain Calascibetta " 4 | homepage: "https://github.com/mirage/ke" 5 | bug-reports: "https://github.com/mirage/ke/issues" 6 | dev-repo: "git+https://github.com/mirage/ke.git" 7 | doc: "https://mirage.github.io/ke/" 8 | license: "MIT" 9 | synopsis: "Queue implementation" 10 | description: """Queue implementation in OCaml (functional and imperative queue)""" 11 | 12 | build: [ "dune" "build" "-p" name "-j" jobs ] 13 | run-test: [ "dune" "runtest" "-p" name "-j" jobs ] 14 | 15 | depends: [ 16 | "ocaml" {>= "4.08.0"} 17 | "dune" {>= "2.0"} 18 | "fmt" {>= "0.8.7"} 19 | "alcotest" {with-test} 20 | "bigstringaf" {with-test} 21 | "bechamel" {with-test} 22 | "bechamel-notty" {with-test} 23 | "bechamel-perf" {with-test} 24 | "ocplib-json-typed" {with-test} 25 | "core_bench" {with-test & >= "v0.15"} 26 | "lwt" {with-test} 27 | "crowbar" {with-test} 28 | "rresult" {with-test} 29 | "jsonm" {with-test} 30 | "psq" {with-test} 31 | "cmdliner" {>= "1.1.0" & with-test} 32 | ] 33 | url { 34 | src: "https://github.com/mirage/ke/releases/download/v0.6/ke-0.6.tbz" 35 | checksum: [ 36 | "sha256=61217207e2200b04b17759736610ff9208269a647f854cb5ae72cdac0d672305" 37 | "sha512=be277780a7a6c9109068b6c8d54fa88c35180802ff86951516a32a6b7c0335fd6584753d1c670e02632b3956c09ae31bfec70e3dd5ea94697e9e032ba3b9248b" 38 | ] 39 | } 40 | x-commit-hash: "7678aee5921580378f543a11101b2b0118f2cf6c" 41 | -------------------------------------------------------------------------------- /esy.lock/opam/conf-libssl.4/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "David Sheets " 3 | authors: ["The OpenSSL Project"] 4 | bug-reports: "https://github.com/ocaml/opam-repository/issues" 5 | homepage: "https://www.openssl.org/" 6 | license: "Apache-1.0" 7 | build-env: [ 8 | [HOMEBREW_NO_AUTO_UPDATE = "1"] 9 | ] 10 | build: [ 11 | ["pkg-config" "--print-errors" "--exists" "openssl"] 12 | {os != "freebsd" & os != "openbsd" & os != "netbsd" & # libssl is provided by base system on BSDs 13 | os-distribution != "homebrew"} 14 | ["sh" "-ex" "./homebrew.sh" "check"] {os-distribution = "homebrew"} 15 | ] 16 | install: [ 17 | ["sh" "-ex" "./homebrew.sh" "install" lib] {os-distribution = "homebrew"} 18 | ] 19 | depends: [ 20 | "conf-pkg-config" {build} 21 | ] 22 | depexts: [ 23 | ["libssl-dev"] {os-family = "debian"} 24 | ["libssl-dev"] {os-family = "ubuntu"} 25 | ["openssl-devel"] {os-distribution = "centos"} 26 | ["openssl-devel"] {os-distribution = "ol"} 27 | ["openssl-devel"] {os-distribution = "fedora" | os-family = "fedora"} 28 | ["libopenssl-devel"] {os-family = "suse" | os-family = "opensuse"} 29 | ["openssl-dev"] {os-family = "alpine"} 30 | ["openssl"] {os-family = "arch"} 31 | ["openssl"] {os-distribution = "homebrew"} 32 | ["openssl"] {os-distribution = "macports"} 33 | ["openssl"] {os-distribution = "nixos"} 34 | ["openssl"] {os = "win32" & os-distribution = "cygwinports"} 35 | ] 36 | synopsis: "Virtual package relying on an OpenSSL library system installation" 37 | description: 38 | "This package can only install if the OpenSSL library is installed on the system." 39 | flags: conf 40 | extra-files: ["homebrew.sh" "md5=f5db8e7d51e159bc85f0d44cc13f9dbd"] 41 | -------------------------------------------------------------------------------- /esy.lock/opam/magic-mime.1.3.1/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Map filenames to common MIME types" 3 | description: """ 4 | This library contains a database of MIME types that maps filename extensions 5 | into MIME types suitable for use in many Internet protocols such as HTTP or 6 | e-mail. It is generated from the `mime.types` file found in Unix systems, but 7 | has no dependency on a filesystem since it includes the contents of the 8 | database as an ML datastructure. 9 | 10 | For example, here's how to lookup MIME types in the [utop] REPL: 11 | 12 | #require "magic-mime";; 13 | Magic_mime.lookup "/foo/bar.txt";; 14 | - : bytes = "text/plain" 15 | Magic_mime.lookup "bar.css";; 16 | - : bytes = "text/css" 17 | """ 18 | maintainer: "Anil Madhavapeddy " 19 | authors: ["Anil Madhavapeddy" "Maxence Guesdon"] 20 | license: "ISC" 21 | homepage: "https://github.com/mirage/ocaml-magic-mime" 22 | doc: "https://mirage.github.io/ocaml-magic-mime/" 23 | bug-reports: "https://github.com/mirage/ocaml-magic-mime/issues" 24 | dev-repo: "git+https://github.com/mirage/ocaml-magic-mime.git" 25 | depends: [ 26 | "ocaml" {>= "4.03.0"} 27 | "dune" 28 | ] 29 | build: [ 30 | ["dune" "subst"] {dev} 31 | ["dune" "build" "-p" name "-j" jobs] 32 | ] 33 | url { 34 | src: 35 | "https://github.com/mirage/ocaml-magic-mime/releases/download/v1.3.1/magic-mime-1.3.1.tbz" 36 | checksum: [ 37 | "sha256=e0234d03625dba1efac58e57e387672d75a5e9a621ff49acfe0f609c00f13b08" 38 | "sha512=607f7469caa2e800a92e3c5248125108fad5e0513f4230a37ed774c86112eacdae0ee533c5c78ec2752e939e83e2201dd4ee02cbbff92ae32e25683710d7b365" 39 | ] 40 | } 41 | x-commit-hash: "605338f0e3684425d99d853c15d5ea9a1478b5ee" 42 | -------------------------------------------------------------------------------- /esy.lock/overrides/opam__s__melange_opam__c__4.0.0_51_opam_override/files/awk.patch: -------------------------------------------------------------------------------- 1 | --- ./jscomp/others/dune 2 | +++ ./jscomp/others/dune 3 | @@ -54,7 +54,7 @@ 4 | (progn 5 | (with-stdout-to 6 | %{target} 7 | - (run awk -f %{dep:expand_module_aliases_node.awk} %{deps}))))) 8 | + (bash "awk -f %{dep:expand_module_aliases_node.awk} %{deps}"))))) 9 | 10 | (library 11 | (modes melange) 12 | 13 | --- ./jscomp/stdlib/dune 14 | +++ ./jscomp/stdlib/dune 15 | @@ -5,7 +5,7 @@ 16 | (progn 17 | (with-stdout-to 18 | %{target}.awk 19 | - (run awk -f %{dep:expand_module_aliases.awk} %{deps})) 20 | + (bash "awk -f %{dep:expand_module_aliases.awk} %{deps}")) 21 | (run cppo -D=BS %{env:CPPO_FLAGS=} %{target}.awk -o %{target}.awk) 22 | (with-stdout-to 23 | %{target} 24 | @@ -20,7 +20,7 @@ 25 | (progn 26 | (with-stdout-to 27 | %{target}.awki 28 | - (run awk -f %{dep:expand_module_aliases.awk} %{deps})) 29 | + (bash "awk -f %{dep:expand_module_aliases.awk} %{deps}")) 30 | (run cppo -D=BS %{env:CPPO_FLAGS=} %{target}.awki -o %{target}.awki) 31 | (with-stdout-to 32 | %{target} 33 | 34 | 35 | --- ./jscomp/runtime/dune 36 | +++ ./jscomp/runtime/dune 37 | @@ -14,7 +14,7 @@ 38 | (progn 39 | (with-stdout-to 40 | %{target} 41 | - (run awk -f %{dep:expand_module_aliases.awk} %{deps}))))) 42 | + (bash "awk -f %{dep:expand_module_aliases.awk} %{deps}"))))) 43 | 44 | (rule 45 | (deps js.pre.mli) 46 | @@ -23,7 +23,7 @@ 47 | (progn 48 | (with-stdout-to 49 | %{target} 50 | - (run awk -f %{dep:expand_module_aliases.awk} %{deps}))))) 51 | + (bash "awk -f %{dep:expand_module_aliases.awk} %{deps}"))))) 52 | 53 | (library 54 | (public_name melange.js) 55 | -------------------------------------------------------------------------------- /esy.lock/opam/cstruct.6.2.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "anil@recoil.org" 3 | authors: ["Anil Madhavapeddy" "Richard Mortier" "Thomas Gazagnaire" 4 | "Pierre Chambart" "David Kaloper" "Jeremy Yallop" "David Scott" 5 | "Mindy Preston" "Thomas Leonard" "Anton Kochkov" "Etienne Millon" ] 6 | homepage: "https://github.com/mirage/ocaml-cstruct" 7 | license: "ISC" 8 | dev-repo: "git+https://github.com/mirage/ocaml-cstruct.git" 9 | bug-reports: "https://github.com/mirage/ocaml-cstruct/issues" 10 | doc: "https://mirage.github.io/ocaml-cstruct/" 11 | 12 | tags: [ "org:mirage" "org:ocamllabs" ] 13 | build: [ 14 | ["dune" "subst"] {dev} 15 | ["dune" "build" "-p" name "-j" jobs] 16 | ["dune" "runtest" "-p" name "-j" jobs] {with-test} 17 | ] 18 | depends: [ 19 | "ocaml" {>= "4.08.0"} 20 | "dune" {>= "2.0.0"} 21 | "alcotest" {with-test} 22 | "fmt" {>= "0.8.9"} 23 | "crowbar" {with-test} 24 | ] 25 | conflicts: [ "js_of_ocaml" {<"3.5.0"} ] 26 | synopsis: "Access C-like structures directly from OCaml" 27 | description: """ 28 | Cstruct is a library and syntax extension to make it easier to access C-like 29 | structures directly from OCaml. It supports both reading and writing to these 30 | structures, and they are accessed via the `Bigarray` module.""" 31 | url { 32 | src: 33 | "https://github.com/mirage/ocaml-cstruct/releases/download/v6.2.0/cstruct-6.2.0.tbz" 34 | checksum: [ 35 | "sha256=9a78073392580e8349148fa3ab4b1b2e989dc9d30d07401b04c96b7c60f03e62" 36 | "sha512=8d33fe6b3707a3994d0225cd33cadde0bb2ca834ef01096e3df33a08e4a8c6d02ebccddf558a73988b8a5595b65fdc10de61efbf872c6c9e55c719c7e19c463d" 37 | ] 38 | } 39 | x-commit-hash: "8c7c94a038aae72dc89c994551c9d2c690895607" 40 | -------------------------------------------------------------------------------- /esy.lock/opam/ptime.1.1.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "POSIX time for OCaml" 3 | description: """\ 4 | Ptime has platform independent POSIX time support in pure OCaml. It 5 | provides a type to represent a well-defined range of POSIX timestamps 6 | with picosecond precision, conversion with date-time values, 7 | conversion with [RFC 3339 timestamps][rfc3339] and pretty printing to 8 | a human-readable, locale-independent representation. 9 | 10 | The additional Ptime_clock library provides access to a system POSIX 11 | clock and to the system's current time zone offset. 12 | 13 | Ptime is not a calendar library. 14 | 15 | Ptime has no dependency. Ptime_clock depends on your system library or 16 | JavaScript runtime system. Ptime and its libraries are distributed 17 | under the ISC license. 18 | 19 | [rfc3339]: http://tools.ietf.org/html/rfc3339 20 | 21 | Home page: """ 22 | maintainer: "Daniel Bünzli " 23 | authors: "The ptime programmers" 24 | license: "ISC" 25 | tags: ["time" "posix" "system" "org:erratique"] 26 | homepage: "https://erratique.ch/software/ptime" 27 | doc: "https://erratique.ch/software/ptime/doc/" 28 | bug-reports: "https://github.com/dbuenzli/ptime/issues" 29 | depends: [ 30 | "ocaml" {>= "4.08.0"} 31 | "ocamlfind" {build} 32 | "ocamlbuild" {build & != "0.9.0"} 33 | "topkg" {build & >= "1.0.3"} 34 | ] 35 | build: ["ocaml" "pkg/pkg.ml" "build" "--dev-pkg" "%{dev}%"] 36 | dev-repo: "git+https://erratique.ch/repos/ptime.git" 37 | url { 38 | src: "https://erratique.ch/software/ptime/releases/ptime-1.1.0.tbz" 39 | checksum: 40 | "sha512=309b8383f61b58840e58a82802ec8fbc61b7cc95a4590d38ad427e484cbaaf66f03fa8e6484b5b6855468a87e745aed103bf6f1041ec05062230a9fa5fb86cc6" 41 | } -------------------------------------------------------------------------------- /esy.lock/opam/cmdliner.1.3.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Declarative definition of command line interfaces for OCaml" 3 | description: """\ 4 | Cmdliner allows the declarative definition of command line interfaces 5 | for OCaml. 6 | 7 | It provides a simple and compositional mechanism to convert command 8 | line arguments to OCaml values and pass them to your functions. The 9 | module automatically handles syntax errors, help messages and UNIX man 10 | page generation. It supports programs with single or multiple commands 11 | and respects most of the [POSIX][1] and [GNU][2] conventions. 12 | 13 | Cmdliner has no dependencies and is distributed under the ISC license. 14 | 15 | [1]: http://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap12.html 16 | [2]: http://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html 17 | 18 | Home page: http://erratique.ch/software/cmdliner""" 19 | maintainer: "Daniel Bünzli " 20 | authors: "The cmdliner programmers" 21 | license: "ISC" 22 | tags: ["cli" "system" "declarative" "org:erratique"] 23 | homepage: "https://erratique.ch/software/cmdliner" 24 | doc: "https://erratique.ch/software/cmdliner/doc" 25 | bug-reports: "https://github.com/dbuenzli/cmdliner/issues" 26 | depends: [ 27 | "ocaml" {>= "4.08.0"} 28 | ] 29 | build: [make "all" "PREFIX=%{prefix}%"] 30 | install: [ 31 | [make "install" "LIBDIR=%{_:lib}%" "DOCDIR=%{_:doc}%"] 32 | [make "install-doc" "LIBDIR=%{_:lib}%" "DOCDIR=%{_:doc}%"] 33 | ] 34 | dev-repo: "git+https://erratique.ch/repos/cmdliner.git" 35 | url { 36 | src: "https://erratique.ch/software/cmdliner/releases/cmdliner-1.3.0.tbz" 37 | checksum: 38 | "sha512=4c46bc334444ff772637deae2f5ba03645d7a1b7db523470a1246acfce79b971c764d964cbb02388639b3161b279700d9ade95da550446fb32aa4849c8a8f283" 39 | } -------------------------------------------------------------------------------- /esy.lock/opam/bigarray-overlap.0.2.1/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Romain Calascibetta " 3 | authors: "Romain Calascibetta " 4 | homepage: "https://github.com/dinosaure/overlap" 5 | bug-reports: "https://github.com/dinosaure/overlap/issues" 6 | dev-repo: "git+https://github.com/dinosaure/overlap.git" 7 | doc: "https://dinosaure.github.io/overlap/" 8 | license: "MIT" 9 | synopsis: "Bigarray.overlap" 10 | description: """A minimal library to know that 2 bigarray share physically the same memory or not.""" 11 | 12 | build: [ 13 | [ "dune" "build" "-p" name "-j" jobs ] 14 | [ "dune" "runtest" "-p" name "-j" jobs ] {with-test} 15 | ] 16 | 17 | install: [ 18 | [ "dune" "install" "-p" name ] {with-test} 19 | [ "./test/test_runes.ml" ] {with-test} 20 | ] 21 | 22 | depends: [ 23 | "ocaml" {>= "4.08.0"} 24 | "dune" {>= "2.6"} 25 | "alcotest" {with-test} 26 | "astring" {with-test} 27 | "fpath" {with-test} 28 | "bos" {with-test} 29 | "ocamlfind" {with-test} 30 | "conf-pkg-config" {build} 31 | ] 32 | 33 | depopts: [ 34 | "ocaml-freestanding" 35 | "mirage-xen-posix" 36 | "js_of_ocaml-compiler" 37 | ] 38 | 39 | conflicts: [ 40 | "mirage-xen-posix" {< "3.1.0"} 41 | "ocaml-freestanding" {< "0.4.3"} 42 | ] 43 | url { 44 | src: 45 | "https://github.com/dinosaure/overlap/releases/download/v0.2.1/bigarray-overlap-0.2.1.tbz" 46 | checksum: [ 47 | "sha256=2f520ac470054e335883eba9254bf28b6676ddb57753cfb58b22cf84ae1a66e0" 48 | "sha512=223f15f815cd944cf2e9955ed9e3cf5608a9db36103e9bb017c2fe452dfb319908228b419f416f6239b8562208027068b7c44e8fb4be6c6a7858ecba540d5439" 49 | ] 50 | } 51 | x-commit-hash: "ebdd14f8c399ffab0a111bb5a62a0f9aff72bf85" 52 | -------------------------------------------------------------------------------- /esy.lock/opam/lwt.5.7.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | 3 | synopsis: "Promises and event-driven I/O" 4 | license: "MIT" 5 | homepage: "https://github.com/ocsigen/lwt" 6 | doc: "https://ocsigen.org/lwt" 7 | bug-reports: "https://github.com/ocsigen/lwt/issues" 8 | 9 | authors: [ 10 | "Jérôme Vouillon" 11 | "Jérémie Dimino" 12 | ] 13 | maintainer: [ 14 | "Raphaël Proust " 15 | "Anton Bachin " 16 | ] 17 | dev-repo: "git+https://github.com/ocsigen/lwt.git" 18 | 19 | depends: [ 20 | "cppo" {build & >= "1.1.0"} 21 | "dune" {>= "1.8.0"} 22 | "dune-configurator" 23 | "ocaml" {>= "4.08"} 24 | "ocplib-endian" 25 | 26 | # Until https://github.com/aantron/bisect_ppx/pull/327. 27 | # "bisect_ppx" {dev & >= "2.0.0"} 28 | "ocamlfind" {dev & >= "1.7.3-1"} 29 | ] 30 | 31 | depopts: [ 32 | "base-threads" 33 | "base-unix" 34 | "conf-libev" 35 | ] 36 | 37 | build: [ 38 | ["dune" "exec" "-p" name "src/unix/config/discover.exe" "--" "--save" 39 | "--use-libev" "%{conf-libev:installed}%"] 40 | ["dune" "build" "-p" name "-j" jobs] 41 | ] 42 | 43 | description: "A promise is a value that may become determined in the future. 44 | 45 | Lwt provides typed, composable promises. Promises that are resolved by I/O are 46 | resolved by Lwt in parallel. 47 | 48 | Meanwhile, OCaml code, including code creating and waiting on promises, runs in 49 | a single thread by default. This reduces the need for locks or other 50 | synchronization primitives. Code can be run in parallel on an opt-in basis." 51 | url { 52 | src: "https://github.com/ocsigen/lwt/archive/refs/tags/5.7.0.tar.gz" 53 | checksum: [ 54 | "md5=737039d29d45b2d2b35db6931c8d75c6" 55 | "sha512=42e629920783428673b99c9d7a639237c9e6b35079b5d907bc67e7ea506acf9edadc48cec580bdcfd2410ed9412bf5e6bcc8b09de2fa7d35ce1490973d05ddd1" 56 | ] 57 | } 58 | -------------------------------------------------------------------------------- /esy.lock/opam/ocamlfind.1.9.6/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "A library manager for OCaml" 3 | description: """ 4 | Findlib is a library manager for OCaml. It provides a convention how 5 | to store libraries, and a file format ("META") to describe the 6 | properties of libraries. There is also a tool (ocamlfind) for 7 | interpreting the META files, so that it is very easy to use libraries 8 | in programs and scripts. 9 | """ 10 | license: "MIT" 11 | maintainer: "Thomas Gazagnaire " 12 | authors: "Gerd Stolpmann " 13 | homepage: "http://projects.camlcity.org/projects/findlib.html" 14 | bug-reports: "https://github.com/ocaml/ocamlfind/issues" 15 | depends: [ 16 | "ocaml" {>= "3.08.0"} 17 | ] 18 | depopts: ["graphics"] 19 | build: [ 20 | [ 21 | "./configure" 22 | "-bindir" bin 23 | "-sitelib" lib 24 | "-mandir" man 25 | "-config" "%{lib}%/findlib.conf" 26 | "-no-custom" 27 | "-no-camlp4" {!ocaml:preinstalled & ocaml:version >= "4.02.0"} 28 | "-no-topfind" {ocaml:preinstalled} 29 | ] 30 | [make "all"] 31 | [make "opt"] {ocaml:native} 32 | ] 33 | install: [ 34 | [make "install"] 35 | ["install" "-m" "0755" "ocaml-stub" "%{bin}%/ocaml"] {ocaml:preinstalled} 36 | ] 37 | extra-files: ["0001-Harden-test-for-OCaml-5.patch" "md5=3cddbf72164c29d4e50e077a92a37c6c"] 38 | # See https://github.com/ocaml/ocamlfind/pull/61 39 | patches: ["0001-Harden-test-for-OCaml-5.patch"] 40 | dev-repo: "git+https://github.com/ocaml/ocamlfind.git" 41 | url { 42 | src: "http://download.camlcity.org/download/findlib-1.9.6.tar.gz" 43 | checksum: [ 44 | "md5=96c6ee50a32cca9ca277321262dbec57" 45 | "sha512=cfaf1872d6ccda548f07d32cc6b90c3aafe136d2aa6539e03143702171ee0199add55269bba894c77115535dc46a5835901a5d7c75768999e72db503bfd83027" 46 | ] 47 | } 48 | available: os != "win32" 49 | -------------------------------------------------------------------------------- /esy.lock/opam/styled-ppx.0.56.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Type-safe styled components for ReScript and Melange" 3 | description: 4 | "styled-ppx is the ppx that brings styled components to ReScript and Melange, allowing you to create React Components with type-safe style definitions using CSS." 5 | maintainer: ["David Sancho "] 6 | authors: ["David Sancho "] 7 | license: "MIT" 8 | homepage: "https://styled-ppx.vercel.app" 9 | bug-reports: "https://github.com/davesnx/styled-ppx/issues" 10 | depends: [ 11 | "dune" {>= "3.8"} 12 | "ocaml" {>= "5.1.0"} 13 | "reason" {>= "3.11.0"} 14 | "menhir" {>= "20220210"} 15 | "ppx_deriving" {>= "5.0"} 16 | "ppx_deriving_yojson" {>= "3.7.0"} 17 | "ppxlib" {>= "0.27.0"} 18 | "sedlex" {>= "3.2"} 19 | "melange" {>= "3.0.0"} 20 | "server-reason-react" 21 | "reason-react" {>= "0.14.0"} 22 | "alcotest" {with-test} 23 | "conf-npm" {with-test} 24 | "reason-react-ppx" {with-dev-setup} 25 | "ocaml-lsp-server" {with-dev-setup} 26 | "ocamlformat" {with-dev-setup} 27 | "utop" {with-dev-setup} 28 | "odoc" {with-doc} 29 | ] 30 | build: [ 31 | ["dune" "subst"] {dev} 32 | [ 33 | "dune" 34 | "build" 35 | "-p" 36 | name 37 | "-j" 38 | jobs 39 | "@install" 40 | "@runtest" {with-test} 41 | "@doc" {with-doc} 42 | ] 43 | ] 44 | dev-repo: "git+https://github.com/davesnx/styled-ppx.git" 45 | url { 46 | src: 47 | "https://github.com/davesnx/styled-ppx/releases/download/0.56.0/styled-ppx-0.56.0.tbz" 48 | checksum: [ 49 | "sha256=f93a08d11849c6010fc3e1c5650d811a14dc60d1f2ea74edb6e2514f12d9f35f" 50 | "sha512=ad90141c288c368ee60455380706deacc41daffb412e9716c28eadc7aff0360110ca0b953a71b4c58eb6ad33c4dafbc066a9002cc0b17a2fd2dd8a5714f7c668" 51 | ] 52 | } 53 | x-commit-hash: "c38b8044898f306002ddb52425fbad9cc3ba7226" 54 | -------------------------------------------------------------------------------- /esy.lock/opam/ocplib-endian.1.2/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | license: "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception" 3 | synopsis: 4 | "Optimised functions to read and write int16/32/64 from strings and bigarrays" 5 | description: """\ 6 | The library implements three modules: 7 | * [EndianString](https://github.com/OCamlPro/ocplib-endian/blob/master/src/endianString.mli) works directly on strings, and provides submodules BigEndian and LittleEndian, with their unsafe counter-parts; 8 | * [EndianBytes](https://github.com/OCamlPro/ocplib-endian/blob/master/src/endianBytes.mli) works directly on bytes, and provides submodules BigEndian and LittleEndian, with their unsafe counter-parts; 9 | * [EndianBigstring](https://github.com/OCamlPro/ocplib-endian/blob/master/src/endianBigstring.mli) works on bigstrings (Bigarrays of chars), and provides submodules BigEndian and LittleEndian, with their unsafe counter-parts.""" 10 | maintainer: "pierre.chambart@ocamlpro.com" 11 | authors: "Pierre Chambart" 12 | homepage: "https://github.com/OCamlPro/ocplib-endian" 13 | doc: "https://ocamlpro.github.io/ocplib-endian/ocplib-endian/" 14 | bug-reports: "https://github.com/OCamlPro/ocplib-endian/issues" 15 | depends: [ 16 | "base-bytes" 17 | "ocaml" {>= "4.03.0"} 18 | "cppo" {>= "1.1.0" & build} 19 | "dune" {>= "1.0"} 20 | ] 21 | build: [ 22 | "dune" 23 | "build" 24 | "-p" 25 | name 26 | "-j" 27 | jobs 28 | "@install" 29 | "@runtest" {with-test} 30 | "@doc" {with-doc} 31 | ] 32 | dev-repo: "git+https://github.com/OCamlPro/ocplib-endian.git" 33 | url { 34 | src: 35 | "https://github.com/OCamlPro/ocplib-endian/archive/refs/tags/1.2.tar.gz" 36 | checksum: [ 37 | "md5=8d5492eeb7c6815ade72a7415ea30949" 38 | "sha512=2e70be5f3d6e377485c60664a0e235c3b9b24a8d6b6a03895d092c6e40d53810bfe1f292ee69e5181ce6daa8a582bfe3d59f3af889f417134f658812be5b8b85" 39 | ] 40 | } 41 | -------------------------------------------------------------------------------- /esy.lock/opam/uutf.1.0.3/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: """Non-blocking streaming Unicode codec for OCaml""" 3 | maintainer: ["Daniel Bünzli "] 4 | authors: ["The uutf programmers"] 5 | homepage: "https://erratique.ch/software/uutf" 6 | doc: "https://erratique.ch/software/uutf/doc/" 7 | dev-repo: "git+https://erratique.ch/repos/uutf.git" 8 | bug-reports: "https://github.com/dbuenzli/uutf/issues" 9 | license: ["ISC"] 10 | tags: ["unicode" "text" "utf-8" "utf-16" "codec" "org:erratique"] 11 | depends: ["ocaml" {>= "4.03.0"} 12 | "ocamlfind" {build} 13 | "ocamlbuild" {build} 14 | "topkg" {build & >= "1.0.3"}] 15 | depopts: ["cmdliner"] 16 | conflicts: ["cmdliner" {< "0.9.8"}] 17 | build: [["ocaml" "pkg/pkg.ml" "build" "--dev-pkg" "%{dev}%" 18 | "--with-cmdliner" "%{cmdliner:installed}%"]] 19 | url { 20 | src: "https://erratique.ch/software/uutf/releases/uutf-1.0.3.tbz" 21 | checksum: "sha512=50cc4486021da46fb08156e9daec0d57b4ca469b07309c508d5a9a41e9dbcf1f32dec2ed7be027326544453dcaf9c2534919395fd826dc7768efc6cc4bfcc9f8"} 22 | description: """ 23 | Uutf is a non-blocking streaming codec to decode and encode the UTF-8, 24 | UTF-16, UTF-16LE and UTF-16BE encoding schemes. It can efficiently 25 | work character by character without blocking on IO. Decoders perform 26 | character position tracking and support newline normalization. 27 | 28 | Functions are also provided to fold over the characters of UTF encoded 29 | OCaml string values and to directly encode characters in OCaml 30 | Buffer.t values. **Note** that since OCaml 4.14, that functionality 31 | can be found in the Stdlib and you are encouraged to migrate to it. 32 | 33 | Uutf has no dependency and is distributed under the ISC license. 34 | 35 | Home page: http://erratique.ch/software/uutf 36 | Contact: Daniel Bünzli ``""" -------------------------------------------------------------------------------- /esy.lock/opam/graphql.0.14.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Andreas Garnaes " 3 | authors: "Andreas Garnaes " 4 | homepage: "https://github.com/andreas/ocaml-graphql-server" 5 | doc: "https://andreas.github.io/ocaml-graphql-server/" 6 | bug-reports: "https://github.com/andreas/ocaml-graphql-server/issues" 7 | dev-repo: "git+https://github.com/andreas/ocaml-graphql-server.git" 8 | license: "MIT" 9 | 10 | build: [ 11 | ["dune" "build" "-p" name "-j" jobs] 12 | ["dune" "runtest" "-p" name "-j" jobs] {with-test} 13 | ] 14 | 15 | depends: [ 16 | "ocaml" {>= "4.08.0"} 17 | "dune" {>= "1.11"} 18 | "graphql_parser" {>= "0.9.0"} 19 | "yojson" {>= "1.6.0"} 20 | "rresult" {>= "0.3.0"} 21 | "seq" 22 | "alcotest" {with-test} 23 | ] 24 | 25 | synopsis: "Build GraphQL schemas and execute queries against them" 26 | 27 | description: """ 28 | `graphql` is a package for creating GraphQL servers. Current feature set includes: 29 | 30 | - Type-safe schema design 31 | - GraphQL parser in pure OCaml using [angstrom](https://github.com/inhabitedtype/angstrom) (April 2016 RFC draft) 32 | - Query execution 33 | - Introspection of schemas 34 | - Arguments for fields 35 | - Allows variables in queries 36 | - Subscriptions 37 | 38 | Supporting packages: 39 | 40 | - Use `graphql-lwt` for Lwt support. 41 | - Use `graphql-async` for Async support. 42 | - Use `graphql-cohttp` to run a GraphQL server with `cohttp`.""" 43 | url { 44 | src: 45 | "https://github.com/andreas/ocaml-graphql-server/releases/download/0.14.0/graphql-0.14.0.tbz" 46 | checksum: [ 47 | "sha256=bf8bf5b9e17e355ecbbd82158a769fe2b138e746753fd3a23008ada3afcd1c06" 48 | "sha512=1d303d9ab67faecea8081f007b3696e36033aa65eba0854f50067b4d667d9a9ad185ad949371790a03509cb31bf6356b75c58f3066da9c35d82e620df5780185" 49 | ] 50 | } 51 | x-commit-hash: "79e01a09d08b0de3b3fff8195e19f7d8ab566498" 52 | -------------------------------------------------------------------------------- /esy.lock/opam/reason-react.0.14.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Reason bindings for React.js" 3 | description: """ 4 | ReasonReact helps you use Reason to build React components with deeply integrated, strong, static type safety. 5 | 6 | It is designed and built by people using Reason and React in large, mission critical production React codebases.""" 7 | maintainer: [ 8 | "David Sancho " 9 | "Antonio Monteiro " 10 | ] 11 | authors: [ 12 | "Cheng Lou " "Ricky Vetter " 13 | ] 14 | license: "MIT" 15 | homepage: "https://reasonml.github.io/reason-react" 16 | doc: "https://reasonml.github.io/reason-react" 17 | bug-reports: "https://github.com/reasonml/reason-react/issues" 18 | depends: [ 19 | "dune" {>= "3.9"} 20 | "ocaml" 21 | "melange" {>= "3.0.0"} 22 | "reason-react-ppx" {= version} 23 | "reason" {>= "3.10.0"} 24 | "ocaml-lsp-server" {with-test} 25 | "opam-check-npm-deps" {= "1.0.0" & with-dev-setup} 26 | "ocamlformat" {= "0.24.0" & with-dev-setup} 27 | "odoc" {with-doc} 28 | ] 29 | build: [ 30 | ["dune" "subst"] {dev} 31 | [ 32 | "dune" 33 | "build" 34 | "-p" 35 | name 36 | "-j" 37 | jobs 38 | "@install" 39 | "@doc" {with-doc} 40 | ] 41 | ] 42 | dev-repo: "git+https://github.com/reasonml/reason-react.git" 43 | depexts: [ 44 | ["react"] {npm-version = "^18.0.0"} 45 | ["react-dom"] {npm-version = "^18.0.0"} 46 | ] 47 | url { 48 | src: 49 | "https://github.com/reasonml/reason-react/releases/download/0.14.0/reason-react-0.14.0.tbz" 50 | checksum: [ 51 | "sha256=beea06b4a02111b5e46804e359d168d357f278267c5cb4faf3f5d66e7cfe60a8" 52 | "sha512=072cb9184e6a3c963fc27220f52ded0b3cb5b21a2f62770f08eb261682ea9c4faf7de2f281f82816e17d19d6b806513cd51dfe69e9928eba4eef162867a06560" 53 | ] 54 | } 55 | x-commit-hash: "7856cb0c3fdad99c9d4e6f1453e53aeb0e737c3b" 56 | -------------------------------------------------------------------------------- /esy.lock/opam/server-reason-react.0.2.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Rendering React components on the server natively" 3 | maintainer: ["David Sancho "] 4 | authors: ["David Sancho "] 5 | license: "MIT" 6 | homepage: "https://github.com/ml-in-barcelona/server-reason-react" 7 | bug-reports: "https://github.com/ml-in-barcelona/server-reason-react/issues" 8 | depends: [ 9 | "dune" {>= "3.9"} 10 | "ocaml" {>= "5.0.0"} 11 | "reason" {>= "3.10.0"} 12 | "melange" {>= "3.0.0"} 13 | "ppxlib" {> "0.23.0"} 14 | "quickjs" {>= "0.1.1"} 15 | "promise" {>= "1.1.2"} 16 | "lwt" {>= "5.6.0"} 17 | "lwt_ppx" {>= "2.1.0"} 18 | "uri" {>= "4.2.0"} 19 | "alcotest" {with-test} 20 | "alcotest-lwt" {with-test} 21 | "fmt" {with-test} 22 | "merlin" {with-test} 23 | "odoc" {with-doc} 24 | "ocamlformat" {= "0.26.1" & with-test} 25 | "ocaml-lsp-server" {with-test} 26 | "tiny_httpd" {with-test} 27 | "melange-webapi" {with-test} 28 | "reason-react" {with-test} 29 | "melange-webapi" {with-test} 30 | "reason-react-ppx" {with-test} 31 | ] 32 | dev-repo: "git+https://github.com/ml-in-barcelona/server-reason-react.git" 33 | # build command is custom to add "@new-doc" 34 | build: [ 35 | ["dune" "subst"] {dev} 36 | [ 37 | "dune" 38 | "build" 39 | "-p" 40 | name 41 | "-j" 42 | jobs 43 | "@install" 44 | "@runtest" {with-test} 45 | "@new-doc" {with-doc} 46 | ] 47 | ] 48 | url { 49 | src: 50 | "https://github.com/ml-in-barcelona/server-reason-react/releases/download/0.2.0/server-reason-react-0.2.0.tbz" 51 | checksum: [ 52 | "sha256=f7e93b2c24e6420ed7352f5b04ff028ea6ea8b9b91679bbce43aadfcae028f34" 53 | "sha512=b74f883d8fad95738b7dd9b51f23af27ef1b541939ad9b8ea65cfb0d48a217c2265ca9319e9355c7782bf223a5168ee4ff236677503afa301c8b7b08561fcd8c" 54 | ] 55 | } 56 | x-commit-hash: "84d3b3ed92b6e7bd3849a0ca96c31acbadee5ba4" 57 | -------------------------------------------------------------------------------- /esy.lock/opam/spawn.v0.15.1/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Spawning sub-processes" 3 | description: """ 4 | Spawn is a small library exposing only one functionality: spawning sub-process. 5 | 6 | It has three main goals: 7 | 8 | 1. provide missing features of Unix.create_process such as providing a 9 | working directory 10 | 11 | 2. provide better errors when a system call fails in the 12 | sub-process. For instance if a command is not found, you get a proper 13 | [Unix.Unix_error] exception 14 | 15 | 3. improve performance by using vfork when available. It is often 16 | claimed that nowadays fork is as fast as vfork, however in practice 17 | fork takes time proportional to the process memory while vfork is 18 | constant time. In application using a lot of memory, vfork can be 19 | thousands of times faster than fork. 20 | """ 21 | maintainer: ["Jane Street developers"] 22 | authors: ["Jane Street Group, LLC"] 23 | license: "MIT" 24 | homepage: "https://github.com/janestreet/spawn" 25 | doc: "https://janestreet.github.io/spawn/" 26 | bug-reports: "https://github.com/janestreet/spawn/issues" 27 | depends: [ 28 | "dune" {>= "2.8"} 29 | "ppx_expect" {with-test} 30 | "ocaml" {>= "4.05"} 31 | "odoc" {with-doc} 32 | ] 33 | build: [ 34 | ["dune" "subst"] {dev} 35 | [ 36 | "dune" 37 | "build" 38 | "-p" 39 | name 40 | "-j" 41 | jobs 42 | "@install" 43 | "@runtest" {with-test} 44 | "@doc" {with-doc} 45 | ] 46 | ] 47 | dev-repo: "git+https://github.com/janestreet/spawn.git" 48 | x-commit-hash: "13d279ebfa8c40d4bafe18cddfdff0de54b4eaff" 49 | url { 50 | src: 51 | "https://github.com/janestreet/spawn/archive/v0.15.1.tar.gz" 52 | checksum: [ 53 | "sha256=9afdee314fab6c3fcd689ab6eb5608d6b78078e6dede3953a47debde06c19d50" 54 | "sha512=efdb31d5ec5ea36d0bc80224d4ee04e46ce3428d1662870e6cebece92bc313d6eebee378802c0c059dd6e0cafea515308c31b7dfaf04a098eb4566583c1e9ed4" 55 | ] 56 | } 57 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:16.3-alpine3.12 as build 2 | 3 | ENV TERM=dumb 4 | ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/lib 5 | 6 | RUN set NODE_OPTIONS=--max-old-space-size=30720 7 | 8 | RUN mkdir /esy 9 | WORKDIR /esy 10 | 11 | ENV NPM_CONFIG_PREFIX=/esy 12 | RUN npm install -g esy@0.7.2 13 | 14 | # Alpine image where 15 | FROM node:16.3-alpine3.12 as esy 16 | 17 | ENV TERM=dumb 18 | ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/lib 19 | 20 | COPY --from=build /esy /esy 21 | 22 | RUN apk add --no-cache ca-certificates wget bash curl perl-utils git patch gcc g++ musl-dev make m4 coreutils tar xz linux-headers 23 | 24 | RUN wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub 25 | RUN wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.28-r0/glibc-2.28-r0.apk 26 | RUN apk add --no-cache glibc-2.28-r0.apk 27 | 28 | ENV PATH=/esy/bin:$PATH 29 | 30 | WORKDIR /app 31 | 32 | # Install npm dependencies 33 | COPY package*.json ./ 34 | RUN npm ci --only=production 35 | 36 | # Install esy dependencies 37 | ADD esy.json esy.json 38 | ADD esy.lock/ esy.lock/ 39 | RUN esy --version 40 | RUN esy solve 41 | RUN esy fetch 42 | RUN esy build-dependencies 43 | 44 | # Copy the project (move folder by folder instead of COPY . . to not override _esy folder) 45 | COPY client/ client/ 46 | COPY shared/ shared/ 47 | COPY server/ server/ 48 | COPY dune dune 49 | COPY dune-project dune-project 50 | COPY webpack.config.js webpack.config.js 51 | 52 | # Build client 53 | RUN esy build 54 | # Bundle client 55 | RUN node_modules/.bin/webpack 56 | # Build server 57 | RUN esy dune build --profile=prod @@default 58 | 59 | FROM alpine:3.12 as run 60 | 61 | RUN apk update && apk add --update libev gmp git 62 | 63 | RUN chmod -R 755 /var 64 | 65 | # Copy server binary 66 | COPY --from=esy /app/_build/default/server/server.exe /bin/server.exe 67 | # Copy client artifacts 68 | COPY --from=esy /app/static /static 69 | 70 | ENV SERVER_INTERFACE "0.0.0.0" 71 | 72 | CMD ["/bin/server.exe"] 73 | -------------------------------------------------------------------------------- /esy.lock/opam/ctypes.0.22.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Combinators for binding to C libraries without writing any C" 3 | description: """ 4 | 5 | ctypes is a library for binding to C libraries using pure OCaml. The primary 6 | aim is to make writing C extensions as straightforward as possible. 7 | The core of ctypes is a set of combinators for describing the structure of C 8 | types -- numeric types, arrays, pointers, structs, unions and functions. You 9 | can use these combinators to describe the types of the functions that you want 10 | to call, then bind directly to those functions -- all without writing or 11 | generating any C! 12 | 13 | To install the optional `ctypes-foreign` interface (which uses `libffi` to 14 | provide dynamic access to foreign libraries), you will need to also install 15 | the `ctypes-foreign` package. 16 | 17 | opam install ctypes-foreign 18 | 19 | This will make the `ctypes-foreign` ocamlfind subpackage available.""" 20 | maintainer: ["Jeremy Yallop "] 21 | authors: ["Jeremy Yallop"] 22 | license: "MIT" 23 | tags: ["org:mirage"] 24 | homepage: "https://github.com/yallop/ocaml-ctypes" 25 | doc: "https://yallop.github.io/ocaml-ctypes/" 26 | bug-reports: "https://github.com/yallop/ocaml-ctypes/issues" 27 | depends: [ 28 | "dune" {>= "2.9"} 29 | "ocaml" {>= "4.03.0"} 30 | "integers" 31 | "dune-configurator" 32 | "bigarray-compat" 33 | "ounit2" {with-test} 34 | "conf-fts" {with-test & os != "win32"} 35 | "conf-pkg-config" {with-test} 36 | "odoc" {with-doc} 37 | ] 38 | build: [ 39 | ["dune" "subst"] {dev} 40 | [ 41 | "dune" 42 | "build" 43 | "-p" 44 | name 45 | "-j" 46 | jobs 47 | "--promote-install-files=false" 48 | "@install" 49 | "@runtest" {with-test} 50 | "@doc" {with-doc} 51 | ] 52 | ["dune" "install" "-p" name "--create-install-files" name] 53 | ] 54 | dev-repo: "git+https://github.com/yallop/ocaml-ctypes.git" 55 | url { 56 | src: "https://github.com/yallop/ocaml-ctypes/archive/refs/tags/0.22.0.tar.gz" 57 | checksum: "md5=8a301a3e3b79156448a6659859ad506c" 58 | } 59 | -------------------------------------------------------------------------------- /esy.lock/opam/csexp.1.5.2/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Parsing and printing of S-expressions in Canonical form" 3 | description: """ 4 | 5 | This library provides minimal support for Canonical S-expressions 6 | [1]. Canonical S-expressions are a binary encoding of S-expressions 7 | that is super simple and well suited for communication between 8 | programs. 9 | 10 | This library only provides a few helpers for simple applications. If 11 | you need more advanced support, such as parsing from more fancy input 12 | sources, you should consider copying the code of this library given 13 | how simple parsing S-expressions in canonical form is. 14 | 15 | To avoid a dependency on a particular S-expression library, the only 16 | module of this library is parameterised by the type of S-expressions. 17 | 18 | [1] https://en.wikipedia.org/wiki/Canonical_S-expressions 19 | """ 20 | maintainer: ["Jeremie Dimino "] 21 | authors: [ 22 | "Quentin Hocquet " 23 | "Jane Street Group, LLC " 24 | "Jeremie Dimino " 25 | ] 26 | license: "MIT" 27 | homepage: "https://github.com/ocaml-dune/csexp" 28 | doc: "https://ocaml-dune.github.io/csexp/" 29 | bug-reports: "https://github.com/ocaml-dune/csexp/issues" 30 | depends: [ 31 | "dune" {>= "3.4"} 32 | "ocaml" {>= "4.03.0"} 33 | "odoc" {with-doc} 34 | ] 35 | dev-repo: "git+https://github.com/ocaml-dune/csexp.git" 36 | build: [ 37 | ["dune" "subst"] {dev} 38 | [ 39 | "dune" 40 | "build" 41 | "-p" 42 | name 43 | "-j" 44 | jobs 45 | "@install" 46 | # "@runtest" {with-test & ocaml:version >= "4.04"} 47 | "@doc" {with-doc} 48 | ] 49 | ] 50 | url { 51 | src: 52 | "https://github.com/ocaml-dune/csexp/releases/download/1.5.2/csexp-1.5.2.tbz" 53 | checksum: [ 54 | "sha256=1a14dd04bb4379a41990248550628c77913a9c07f3c35c1370b6960e697787ff" 55 | "sha512=be281018bcfc20d4db14894ef51c4b836d6338d2fdfe22e63d46f405f8dea7349e16f1c0ecd65f73d4c85a2a80e618cdbb8c9dafcbb9f229f04f1adca5b1973c" 56 | ] 57 | } 58 | x-commit-hash: "e6c4768e10c61bcb04d09748744dad55602149c6" 59 | -------------------------------------------------------------------------------- /esy.lock/opam/topkg.1.0.7/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "The transitory OCaml software packager" 3 | description: """\ 4 | Topkg is a packager for distributing OCaml software. It provides an 5 | API to describe the files a package installs in a given build 6 | configuration and to specify information about the package's 7 | distribution, creation and publication procedures. 8 | 9 | The optional topkg-care package provides the `topkg` command line tool 10 | which helps with various aspects of a package's life cycle: creating 11 | and linting a distribution, releasing it on the WWW, publish its 12 | documentation, add it to the OCaml opam repository, etc. 13 | 14 | Topkg is distributed under the ISC license and has **no** 15 | dependencies. This is what your packages will need as a *build* 16 | dependency. 17 | 18 | Topkg-care is distributed under the ISC license it depends on 19 | [fmt][fmt], [logs][logs], [bos][bos], [cmdliner][cmdliner], 20 | [webbrowser][webbrowser] and `opam-format`. 21 | 22 | [fmt]: http://erratique.ch/software/fmt 23 | [logs]: http://erratique.ch/software/logs 24 | [bos]: http://erratique.ch/software/bos 25 | [cmdliner]: http://erratique.ch/software/cmdliner 26 | [webbrowser]: http://erratique.ch/software/webbrowser 27 | 28 | Home page: http://erratique.ch/software/topkg""" 29 | maintainer: "Daniel Bünzli " 30 | authors: "The topkg programmers" 31 | license: "ISC" 32 | tags: ["packaging" "ocamlbuild" "org:erratique"] 33 | homepage: "https://erratique.ch/software/topkg" 34 | doc: "https://erratique.ch/software/topkg/doc" 35 | bug-reports: "https://github.com/dbuenzli/topkg/issues" 36 | depends: [ 37 | "ocaml" {>= "4.05.0"} 38 | "ocamlfind" {build & >= "1.6.1"} 39 | "ocamlbuild" 40 | ] 41 | build: ["ocaml" "pkg/pkg.ml" "build" "--pkg-name" name "--dev-pkg" "%{dev}%"] 42 | dev-repo: "git+https://erratique.ch/repos/topkg.git" 43 | url { 44 | src: "https://erratique.ch/software/topkg/releases/topkg-1.0.7.tbz" 45 | checksum: 46 | "sha512=09e59f1759bf4db8471f02d0aefd8db602b44932a291c05c312b1423796e7a15d1598d3c62a0cec7f083eff8e410fac09363533dc4bd2120914bb9664efea535" 47 | } -------------------------------------------------------------------------------- /esy.lock/opam/ocaml-lsp-server.1.17.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "LSP Server for OCaml" 3 | description: "An LSP server for OCaml." 4 | maintainer: ["Rudi Grinberg "] 5 | authors: [ 6 | "Andrey Popp <8mayday@gmail.com>" 7 | "Rusty Key " 8 | "Louis Roché " 9 | "Oleksiy Golovko " 10 | "Rudi Grinberg " 11 | "Sacha Ayoun " 12 | "cannorin " 13 | "Ulugbek Abdullaev " 14 | "Thibaut Mattio " 15 | "Max Lantas " 16 | ] 17 | license: "ISC" 18 | homepage: "https://github.com/ocaml/ocaml-lsp" 19 | bug-reports: "https://github.com/ocaml/ocaml-lsp/issues" 20 | depends: [ 21 | "dune" {>= "3.0"} 22 | "yojson" 23 | "re" {>= "1.5.0"} 24 | "ppx_yojson_conv_lib" {>= "v0.14"} 25 | "dune-rpc" {>= "3.4.0"} 26 | "chrome-trace" {>= "3.3.0"} 27 | "dyn" 28 | "stdune" 29 | "fiber" {>= "3.1.1" & < "4.0.0"} 30 | "xdg" 31 | "ordering" 32 | "dune-build-info" 33 | "spawn" 34 | "astring" 35 | "camlp-streams" 36 | "ppx_expect" {>= "v0.15.0" & with-test} 37 | "ocamlformat" {with-test & = "0.24.1"} 38 | "ocamlc-loc" {>= "3.7.0"} 39 | "uutf" {>= "1.0.2"} 40 | "pp" {>= "1.1.2"} 41 | "csexp" {>= "1.5"} 42 | "ocamlformat-rpc-lib" {>= "0.21.0"} 43 | "odoc" {with-doc} 44 | "ocaml" {>= "4.14" & < "5.2"} 45 | "merlin-lib" {>= "4.9" & < "5.0"} 46 | ] 47 | dev-repo: "git+https://github.com/ocaml/ocaml-lsp.git" 48 | build: [ 49 | ["dune" "subst"] {dev} 50 | [ 51 | "dune" 52 | "build" 53 | "-j" 54 | jobs 55 | "ocaml-lsp-server.install" 56 | "--release" 57 | ] 58 | ] 59 | url { 60 | src: 61 | "https://github.com/ocaml/ocaml-lsp/releases/download/1.17.0/lsp-1.17.0.tbz" 62 | checksum: [ 63 | "sha256=8fb8bbd717eefd2608b4d83458105b660e0de3a1134dc8fc216ae659d4d19600" 64 | "sha512=6876df760dbcb51f85e7fd9d08cc8498c69ede38a52f4e12407187da3fbd9657c71f3223f9490ad97edd5259cfdeb2819d943db65bb9ce3c2a18dace3b65ffa8" 65 | ] 66 | } 67 | x-commit-hash: "d3d8de5a4213c2a16e43ac4f87cbbe88a894d05f" 68 | -------------------------------------------------------------------------------- /esy.lock/opam/pp.1.2.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Pretty-printing library" 3 | description: """ 4 | 5 | This library provides a lean alternative to the Format [1] module of 6 | the OCaml standard library. It aims to make it easy for users to do 7 | the right thing. If you have tried Format before but find its API 8 | complicated and difficult to use, then Pp might be a good choice for 9 | you. 10 | 11 | Pp uses the same concepts of boxes and break hints, and the final 12 | rendering is done to formatter from the Format module. However it 13 | defines its own algebra which some might find easier to work with and 14 | reason about. No previous knowledge is required to start using this 15 | library, however the various guides for the Format module such as this 16 | one [2] should be applicable to Pp as well. 17 | 18 | [1]: https://caml.inria.fr/pub/docs/manual-ocaml/libref/Format.html 19 | [2]: http://caml.inria.fr/resources/doc/guides/format.en.html 20 | """ 21 | maintainer: ["Jeremie Dimino "] 22 | authors: [ 23 | "Jane Street Group, LLC " 24 | "Jeremie Dimino " 25 | ] 26 | license: "MIT" 27 | homepage: "https://github.com/ocaml-dune/pp" 28 | doc: "https://ocaml-dune.github.io/pp/" 29 | bug-reports: "https://github.com/ocaml-dune/pp/issues" 30 | depends: [ 31 | "dune" {>= "2.8"} 32 | "ocaml" {>= "4.08.0"} 33 | "ppx_expect" {with-test} 34 | "odoc" {with-doc} 35 | ] 36 | build: [ 37 | ["dune" "subst"] {dev} 38 | [ 39 | "dune" 40 | "build" 41 | "-p" 42 | name 43 | "-j" 44 | jobs 45 | "@install" 46 | "@runtest" {with-test} 47 | "@doc" {with-doc} 48 | ] 49 | ] 50 | dev-repo: "git+https://github.com/ocaml-dune/pp.git" 51 | url { 52 | src: 53 | "https://github.com/ocaml-dune/pp/releases/download/1.2.0/pp-1.2.0.tbz" 54 | checksum: [ 55 | "sha256=a5e822573c55afb42db29ec56eacd1f2acd8f65cf2df2878e291de374ce6909c" 56 | "sha512=912164c2aa7241d73f735dadfbefe8ed0138d241579d2e885440e068fac78eb9f0b3d782c2420e757e313168c1725daff6ab91800dd315b1e05288456998b40a" 57 | ] 58 | } 59 | x-commit-hash: "83b68c740f21acdcfe54436355ab328372871357" 60 | -------------------------------------------------------------------------------- /esy.lock/opam/camlp-streams.5.0.1/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "The Stream and Genlex libraries for use with Camlp4 and Camlp5" 3 | description: """ 4 | 5 | This package provides two library modules: 6 | - Stream: imperative streams, with in-place update and memoization 7 | of the latest element produced. 8 | - Genlex: a small parameterized lexical analyzer producing streams 9 | of tokens from streams of characters. 10 | 11 | The two modules are designed for use with Camlp4 and Camlp5: 12 | - The stream patterns and stream expressions of Camlp4/Camlp5 consume 13 | and produce data of type 'a Stream.t. 14 | - The Genlex tokenizer can be used as a simple lexical analyzer for 15 | Camlp4/Camlp5-generated parsers. 16 | 17 | The Stream module can also be used by hand-written recursive-descent 18 | parsers, but is not very convenient for this purpose. 19 | 20 | The Stream and Genlex modules have been part of the OCaml standard library 21 | for a long time, and have been distributed as part of the core OCaml system. 22 | They will be removed from the OCaml standard library at some future point, 23 | but will be maintained and distributed separately in this camlpstreams package. 24 | """ 25 | maintainer: [ 26 | "Florian Angeletti " 27 | "Xavier Leroy " 28 | ] 29 | authors: ["Daniel de Rauglaudre" "Xavier Leroy"] 30 | license: "LGPL-2.1-only WITH OCaml-LGPL-linking-exception" 31 | homepage: "https://github.com/ocaml/camlp-streams" 32 | bug-reports: "https://github.com/ocaml/camlp-streams/issues" 33 | depends: [ 34 | "dune" {>= "2.7"} 35 | "ocaml" {>= "4.02.3"} 36 | "odoc" {with-doc} 37 | ] 38 | build: [ 39 | ["dune" "subst"] {dev} 40 | [ 41 | "dune" 42 | "build" 43 | "-p" 44 | name 45 | "-j" 46 | jobs 47 | "@install" 48 | "@runtest" {with-test} 49 | "@doc" {with-doc} 50 | ] 51 | ] 52 | dev-repo: "git+https://github.com/ocaml/camlp-streams.git" 53 | url { 54 | src: "https://github.com/ocaml/camlp-streams/archive/v5.0.1.tar.gz" 55 | checksum: [ 56 | "md5=afc874b25f7a1f13e8f5cfc1182b51a7" 57 | "sha512=2efa8dd4a636217c8d49bac1e4e7e5558fc2f45cfea66514140a59fd99dd08d61fb9f1e17804997ff648b71b13820a5d4a1eb70fed9d848aa2abd6e41f853c86" 58 | ] 59 | } 60 | -------------------------------------------------------------------------------- /esy.lock/opam/digestif.1.2.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: [ "Eyyüb Sari " 3 | "Romain Calascibetta " ] 4 | authors: [ "Eyyüb Sari " 5 | "Romain Calascibetta " ] 6 | homepage: "https://github.com/mirage/digestif" 7 | bug-reports: "https://github.com/mirage/digestif/issues" 8 | dev-repo: "git+https://github.com/mirage/digestif.git" 9 | doc: "https://mirage.github.io/digestif/" 10 | license: "MIT" 11 | synopsis: "Hashes implementations (SHA*, RIPEMD160, BLAKE2* and MD5)" 12 | description: """ 13 | Digestif is a toolbox to provide hashes implementations in C and OCaml. 14 | 15 | It uses the linking trick and user can decide at the end to use the C implementation or the OCaml implementation. 16 | 17 | We provides implementation of: 18 | * MD5 19 | * SHA1 20 | * SHA224 21 | * SHA256 22 | * SHA384 23 | * SHA512 24 | * SHA3 25 | * Keccak-256 26 | * WHIRLPOOL 27 | * BLAKE2B 28 | * BLAKE2S 29 | * RIPEMD160 30 | """ 31 | 32 | build: [ 33 | [ "dune" "build" "-p" name "-j" jobs ] 34 | [ "dune" "runtest" "-p" name "-j" jobs ] {with-test} 35 | ] 36 | install: [ 37 | [ "dune" "install" "-p" name ] {with-test} 38 | [ "ocaml" "./test/test_runes.ml" ] {with-test} 39 | ] 40 | 41 | depends: [ 42 | "ocaml" {>= "4.08.0"} 43 | "dune" {>= "2.6.0"} 44 | "eqaf" 45 | "fmt" {with-test & >= "0.8.7"} 46 | "alcotest" {with-test} 47 | "bos" {with-test} 48 | "astring" {with-test} 49 | "fpath" {with-test} 50 | "rresult" {with-test} 51 | "ocamlfind" {with-test} 52 | "crowbar" {with-test} 53 | ] 54 | 55 | conflicts: [ 56 | "mirage-xen" {< "6.0.0"} 57 | "ocaml-freestanding" 58 | ] 59 | url { 60 | src: 61 | "https://github.com/mirage/digestif/releases/download/v1.2.0/digestif-1.2.0.tbz" 62 | checksum: [ 63 | "sha256=c30168cafe279a665367806b3e5e6398fd7474f1e5260e76826d5ec9d3b2a508" 64 | "sha512=1a4d6ff31fa59d99548cf21a3cedbb0cdb2000d890fcb1c4633eda2723ea6157b10b7dfd089411d51e2d6f653466875efa7aed9807055ecdd3df24ec8d72c234" 65 | ] 66 | } 67 | x-commit-hash: "f8f383581fd2e29f873d2d699c4be58fcc341290" 68 | -------------------------------------------------------------------------------- /esy.lock/opam/ppxlib.0.32.1/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Standard infrastructure for ppx rewriters" 3 | description: """ 4 | Ppxlib is the standard infrastructure for ppx rewriters 5 | and other programs that manipulate the in-memory representation of 6 | OCaml programs, a.k.a the "Parsetree". 7 | 8 | It also comes bundled with two ppx rewriters that are commonly used to 9 | write tools that manipulate and/or generate Parsetree values; 10 | `ppxlib.metaquot` which allows to construct Parsetree values using the 11 | OCaml syntax directly and `ppxlib.traverse` which provides various 12 | ways of automatically traversing values of a given type, in particular 13 | allowing to inject a complex structured value into generated code. 14 | """ 15 | maintainer: ["opensource@janestreet.com"] 16 | authors: ["Jane Street Group, LLC "] 17 | license: "MIT" 18 | homepage: "https://github.com/ocaml-ppx/ppxlib" 19 | doc: "https://ocaml-ppx.github.io/ppxlib/" 20 | bug-reports: "https://github.com/ocaml-ppx/ppxlib/issues" 21 | depends: [ 22 | "dune" {>= "2.7"} 23 | "ocaml" {>= "4.04.1" & < "5.3.0"} 24 | "ocaml-compiler-libs" {>= "v0.11.0"} 25 | "ppx_derivers" {>= "1.0"} 26 | "sexplib0" {>= "v0.12"} 27 | "sexplib0" {with-test & >= "v0.15"} 28 | "stdlib-shims" 29 | "ocamlfind" {with-test} 30 | "re" {with-test & >= "1.9.0"} 31 | "cinaps" {with-test & >= "v0.12.1"} 32 | "odoc" {with-doc} 33 | ] 34 | conflicts: [ 35 | "ocaml-migrate-parsetree" {< "2.0.0"} 36 | "ocaml-base-compiler" {= "5.1.0~alpha1"} 37 | "ocaml-variants" {= "5.1.0~alpha1+options"} 38 | "base-effects" 39 | ] 40 | build: [ 41 | ["dune" "subst"] {dev} 42 | [ 43 | "dune" 44 | "build" 45 | "-p" 46 | name 47 | "-j" 48 | jobs 49 | "@install" 50 | "@runtest" {with-test} 51 | "@doc" {with-doc} 52 | ] 53 | ] 54 | dev-repo: "git+https://github.com/ocaml-ppx/ppxlib.git" 55 | url { 56 | src: 57 | "https://github.com/ocaml-ppx/ppxlib/releases/download/0.32.1/ppxlib-0.32.1.tbz" 58 | checksum: [ 59 | "sha256=9dbad8bcb1c8b4f3df3f58bca60a5ed23d86531f0da34b4196c86bd585c09d7f" 60 | "sha512=7b93b622b119478dde03adcf4993e73ea937c91c280e453ccee631c682d8589ecb31841f11d6a14966239954e22e000da8afbe25a0f089532c7210b698c52553" 61 | ] 62 | } 63 | x-commit-hash: "cd138a752ae6f21ad649c531b3b2276f332b3bb0" 64 | -------------------------------------------------------------------------------- /esy.lock/opam/logs.0.7.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Daniel Bünzli " 3 | authors: ["The logs programmers"] 4 | homepage: "https://erratique.ch/software/logs" 5 | doc: "https://erratique.ch/software/logs/doc" 6 | dev-repo: "git+https://erratique.ch/repos/logs.git" 7 | bug-reports: "https://github.com/dbuenzli/logs/issues" 8 | tags: [ "log" "system" "org:erratique" ] 9 | license: "ISC" 10 | depends: [ 11 | "ocaml" {>= "4.03.0"} 12 | "ocamlfind" {build} 13 | "ocamlbuild" {build} 14 | "topkg" {build} 15 | "mtime" {with-test} ] 16 | depopts: [ 17 | "js_of_ocaml" 18 | "fmt" 19 | "cmdliner" 20 | "lwt" 21 | "base-threads" 22 | ] 23 | conflicts: [ 24 | "cmdliner" {< "0.9.8"} 25 | "js_of_ocaml" { < "3.3.0" } 26 | ] 27 | 28 | build: [[ 29 | "ocaml" "pkg/pkg.ml" "build" 30 | "--pinned" "%{pinned}%" 31 | "--with-js_of_ocaml" "%{js_of_ocaml:installed}%" 32 | "--with-fmt" "%{fmt:installed}%" 33 | "--with-cmdliner" "%{cmdliner:installed}%" 34 | "--with-lwt" "%{lwt:installed}%" 35 | "--with-base-threads" "%{base-threads:installed}%" 36 | ]] 37 | 38 | synopsis: """Logging infrastructure for OCaml""" 39 | description: """\ 40 | 41 | Logs provides a logging infrastructure for OCaml. Logging is performed 42 | on sources whose reporting level can be set independently. Log message 43 | report is decoupled from logging and is handled by a reporter. 44 | 45 | A few optional log reporters are distributed with the base library and 46 | the API easily allows to implement your own. 47 | 48 | `Logs` has no dependencies. The optional `Logs_fmt` reporter on OCaml 49 | formatters depends on [Fmt][fmt]. The optional `Logs_browser` 50 | reporter that reports to the web browser console depends on 51 | [js_of_ocaml][jsoo]. The optional `Logs_cli` library that provides 52 | command line support for controlling Logs depends on 53 | [`Cmdliner`][cmdliner]. The optional `Logs_lwt` library that provides 54 | Lwt logging functions depends on [`Lwt`][lwt] 55 | 56 | Logs and its reporters are distributed under the ISC license. 57 | 58 | [fmt]: http://erratique.ch/software/fmt 59 | [jsoo]: http://ocsigen.org/js_of_ocaml/ 60 | [cmdliner]: http://erratique.ch/software/cmdliner 61 | [lwt]: http://ocsigen.org/lwt/ 62 | """ 63 | url { 64 | archive: "https://erratique.ch/software/logs/releases/logs-0.7.0.tbz" 65 | checksum: "2bf021ca13331775e33cf34ab60246f7" 66 | } 67 | -------------------------------------------------------------------------------- /esy.lock/opam/dune.3.15.3/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Fast, portable, and opinionated build system" 3 | description: """ 4 | 5 | Dune is a build system that was designed to simplify the release of 6 | Jane Street packages. It reads metadata from "dune" files following a 7 | very simple s-expression syntax. 8 | 9 | Dune is fast, has very low-overhead, and supports parallel builds on 10 | all platforms. It has no system dependencies; all you need to build 11 | dune or packages using dune is OCaml. You don't need make or bash 12 | as long as the packages themselves don't use bash explicitly. 13 | 14 | Dune is composable; supporting multi-package development by simply 15 | dropping multiple repositories into the same directory. 16 | 17 | Dune also supports multi-context builds, such as building against 18 | several opam roots/switches simultaneously. This helps maintaining 19 | packages across several versions of OCaml and gives cross-compilation 20 | for free. 21 | """ 22 | maintainer: ["Jane Street Group, LLC "] 23 | authors: ["Jane Street Group, LLC "] 24 | license: "MIT" 25 | homepage: "https://github.com/ocaml/dune" 26 | doc: "https://dune.readthedocs.io/" 27 | bug-reports: "https://github.com/ocaml/dune/issues" 28 | conflicts: [ 29 | "merlin" {< "3.4.0"} 30 | "ocaml-lsp-server" {< "1.3.0"} 31 | "dune-configurator" {< "2.3.0"} 32 | "odoc" {< "2.0.1"} 33 | "dune-release" {< "1.3.0"} 34 | "js_of_ocaml-compiler" {< "3.6.0"} 35 | "jbuilder" {= "transition"} 36 | ] 37 | dev-repo: "git+https://github.com/ocaml/dune.git" 38 | build: [ 39 | ["ocaml" "boot/bootstrap.ml" "-j" jobs] 40 | ["./_boot/dune.exe" "build" "dune.install" "--release" "--profile" "dune-bootstrap" "-j" jobs] 41 | ] 42 | depends: [ 43 | # Please keep the lower bound in sync with .github/workflows/workflow.yml, 44 | # dune-project and min_ocaml_version in bootstrap.ml 45 | ("ocaml" {>= "4.08"} | ("ocaml" {>= "4.02" & < "4.08~~"} & "ocamlfind-secondary")) 46 | "base-unix" 47 | "base-threads" 48 | ] 49 | url { 50 | src: 51 | "https://github.com/ocaml/dune/releases/download/3.15.3/dune-3.15.3.tbz" 52 | checksum: [ 53 | "sha256=3c27c7676414056f0368a71fdc670d2b0a59898090c78a1b68230984e5beb713" 54 | "sha512=c88ac7a6ed9334a4bc6231ecfb0efaa961dda99bc386fd5b92505151ff833dfaf058d75305fbb64c496e570058ec9000ac6add06dda7a395e757e924af1d1a7f" 55 | ] 56 | } 57 | x-commit-hash: "55da8f9248e3f5a06d6234ae35b140d1b37c6f0b" 58 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | .DEFAULT_GOAL := help 2 | 3 | name = fullstack-reason-react-demo 4 | current_hash = $(shell git rev-parse HEAD | cut -c1-7) 5 | 6 | ESY = esy 7 | DUNE = esy dune 8 | WEBPACK = npx webpack --progress 9 | 10 | .PHONY: install 11 | install: ## Install dependencies from esy.json and package.json 12 | @$(ESY) install 13 | @npm install 14 | 15 | .PHONY: webpack 16 | webpack: ## Bundle the JS code 17 | @$(WEBPACK) --env development 18 | 19 | .PHONY: webpack-prod 20 | webpack-prod: ## Bundle the JS code for production 21 | @$(WEBPACK) --env production 22 | 23 | .PHONY: webpack-watch 24 | webpack-watch: ## Watch and bundle the JS code 25 | @$(WEBPACK) --watch --env development 26 | 27 | .PHONY: build-client 28 | build-client: ## Build Reason code 29 | @$(DUNE) build @client 30 | 31 | .PHONY: build-client-watch 32 | build-client-watch: ## Watch reason code 33 | @$(DUNE) build -w @client 34 | 35 | .PHONY: build-server-prod 36 | build-server-prod: ## Build for production (--profile=prod) 37 | @$(DUNE) build --profile=prod @server 38 | 39 | .PHONY: build-server 40 | build-server: ## Build the project, including non installable libraries and executables 41 | @$(DUNE) build @server 42 | 43 | .PHONY: start-server 44 | start-server: ## Start the server 45 | @$(DUNE) exec server/server.exe --watch 46 | 47 | .PHONY: run 48 | run: ## Start the server in dev mode 49 | @watchexec --no-ignore -w .processes/last_built_at.txt -r -c \ 50 | "clear; _build/default/server/server.exe" 51 | 52 | .PHONY: watch 53 | watch: ## Build in watch mode 54 | @$(DUNE) build -w @client @server 55 | 56 | .PHONY: clean 57 | clean: ## Clean artifacts 58 | @$(DUNE) clean 59 | @rm -rf static/ 60 | 61 | .PHONY: format 62 | format: ## Format the codebase with ocamlformat/refmt 63 | @$(DUNE) build @fmt --auto-promote 64 | 65 | .PHONY: format-check 66 | format-check: ## Checks if format is correct 67 | @$(DUNE) build @fmt 68 | 69 | .PHONY: help 70 | help: ## Print this help message 71 | @echo ""; 72 | @echo "List of available make commands:"; 73 | @echo ""; 74 | @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-15s\033[0m %s\n", $$1, $$2}'; 75 | @echo ""; 76 | 77 | .PHONY: docker-build 78 | docker-build: ## docker build 79 | @docker build . --tag "$(name):$(current_hash)" --platform linux/amd64 --progress=plain 80 | 81 | .PHONY: docker-run 82 | docker-run: ## docker run 83 | @docker run -d --platform linux/amd64 @$(name):$(current_hash) 84 | -------------------------------------------------------------------------------- /esy.lock/opam/caqti.1.9.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Petter A. Urkedal " 3 | authors: [ 4 | "Petter A. Urkedal " 5 | "Nathan Rebours " 6 | ] 7 | license: "LGPL-3.0-or-later WITH LGPL-3.0-linking-exception" 8 | homepage: "https://github.com/paurkedal/ocaml-caqti/" 9 | doc: "https://paurkedal.github.io/ocaml-caqti/index.html" 10 | bug-reports: "https://github.com/paurkedal/ocaml-caqti/issues" 11 | depends: [ 12 | "alcotest" {with-test & >= "1.5.0"} 13 | "angstrom" {>= "0.14.0"} 14 | "bigstringaf" 15 | "cmdliner" {with-test & >= "1.1.0"} 16 | "cppo" {build & >= "1.1.0"} 17 | "dune" {>= "2.0"} 18 | "logs" 19 | "ocaml" {>= "4.04.0"} 20 | "odoc" {with-doc} 21 | "ptime" 22 | "re" {with-test} 23 | "uri" {>= "1.9.0"} 24 | ] 25 | build: [ 26 | ["dune" "build" "-p" name "-j" jobs] 27 | ["dune" "runtest" "-p" name "-j" jobs] {with-test} 28 | ["dune" "build" "@doc" "-p" name "-j" jobs] {with-doc} 29 | ] 30 | dev-repo: "git+https://github.com/paurkedal/ocaml-caqti.git" 31 | synopsis: "Unified interface to relational database libraries" 32 | description: """ 33 | Caqti provides a monadic cooperative-threaded OCaml connector API for 34 | relational databases. 35 | 36 | The purpose of Caqti is further to help make applications independent of a 37 | particular database system. This is achieved by defining a common signature, 38 | which is implemented by the database drivers. Connection parameters are 39 | specified as an URI, which is typically provided at run-time. Caqti then 40 | loads a driver which can handle the URI, and provides a first-class module 41 | which implements the driver API and additional convenience functionality. 42 | 43 | Caqti does not make assumptions about the structure of the query language, 44 | and only provides the type information needed at the edges of communication 45 | between the OCaml code and the database; i.e. for encoding parameters and 46 | decoding returned tuples. It is hoped that this agnostic choice makes it a 47 | suitable target for higher level interfaces and code generators.""" 48 | url { 49 | src: 50 | "https://github.com/paurkedal/ocaml-caqti/releases/download/v1.9.0/caqti-v1.9.0.tbz" 51 | checksum: [ 52 | "sha256=e1f580848faf3a54f23174067f2c75f77f6a2fe50ca8bc923428d0e1841192c5" 53 | "sha512=7a11edfcfbbe4855347b066e222cf6bf46d1afedcd4978661b9a2b3931921faa1768a6bc24031fd3afa84537fe2adc8b139399deb77120461bee8fb394d68e82" 54 | ] 55 | } 56 | x-commit-hash: "55ab7a2851694f08c62cbb6438c681ebb565636d" 57 | -------------------------------------------------------------------------------- /esy.lock/overrides/feaa64344e452925e6ebbe0a3b417907/.ci/verdaccio-config.yaml: -------------------------------------------------------------------------------- 1 | # 2 | # This is the default config file. It allows all users to do anything, 3 | # so don't use it on production systems. 4 | # 5 | # Look here for more config file examples: 6 | # https://github.com/verdaccio/verdaccio/tree/master/conf 7 | # 8 | 9 | # path to a directory with all packages 10 | storage: ./verdaccio-storage 11 | # path to a directory with plugins to include 12 | plugins: ./plugins 13 | 14 | web: 15 | title: Verdaccio 16 | # comment out to disable gravatar support 17 | # gravatar: false 18 | # by default packages are ordercer ascendant (asc|desc) 19 | # sort_packages: asc 20 | # convert your UI to the dark side 21 | # darkMode: true 22 | 23 | # translate your registry, api i18n not available yet 24 | # i18n: 25 | # list of the available translations https://github.com/verdaccio/ui/tree/master/i18n/translations 26 | # web: en-US 27 | 28 | # auth: 29 | # htpasswd: 30 | # file: ./htpasswd 31 | # Maximum amount of users allowed to register, defaults to "+inf". 32 | # You can set this to -1 to disable registration. 33 | # max_users: 1000 34 | 35 | # a list of other known repositories we can talk to 36 | uplinks: 37 | npmjs: 38 | url: https://registry.npmjs.org/ 39 | 40 | packages: 41 | '@*/*': 42 | # scoped packages 43 | access: $all 44 | publish: $all 45 | unpublish: $all 46 | proxy: npmjs 47 | 48 | '**': 49 | # allow all users (including non-authenticated users) to read and 50 | # publish all packages 51 | # 52 | # you can specify usernames/groupnames (depending on your auth plugin) 53 | # and three keywords: "$all", "$anonymous", "$authenticated" 54 | access: $all 55 | 56 | # allow all known users to publish/publish packages 57 | # (anyone can register by default, remember?) 58 | publish: $all 59 | unpublish: $all 60 | 61 | # if package is not available locally, proxy requests to 'npmjs' registry 62 | proxy: npmjs 63 | 64 | # You can specify HTTP/1.1 server keep alive timeout in seconds for incoming connections. 65 | # A value of 0 makes the http server behave similarly to Node.js versions prior to 8.0.0, which did not have a keep-alive timeout. 66 | # WORKAROUND: Through given configuration you can workaround following issue https://github.com/verdaccio/verdaccio/issues/301. Set to 0 in case 60 is not enough. 67 | server: 68 | keepAliveTimeout: 60 69 | 70 | middlewares: 71 | audit: 72 | enabled: true 73 | 74 | # log settings 75 | logs: 76 | - { type: stdout, format: pretty, level: http } 77 | #- {type: file, path: verdaccio.log, level: info} 78 | #experiments: 79 | # # support for npm token command 80 | # token: false 81 | # # support for the new v1 search endpoint, functional by incomplete read more on ticket 1732 82 | # search: false 83 | 84 | # This affect the web and api (not developed yet) 85 | #i18n: 86 | #web: en-US 87 | max_body_size: 1000mb 88 | -------------------------------------------------------------------------------- /shared/native/lib/App.re: -------------------------------------------------------------------------------- 1 | module Hr = { 2 | [@react.component] 3 | let make = () => { 4 | ; 12 | }; 13 | }; 14 | 15 | module Layout = { 16 | [@react.component] 17 | let make = (~children) => { 18 |
30 | children 31 |
; 32 | }; 33 | }; 34 | 35 | module Header = { 36 | type item = { 37 | label: string, 38 | link: string, 39 | }; 40 | 41 | module Menu = { 42 | [@react.component] 43 | let make = () => { 44 | let data = [| 45 | { 46 | label: "Documentation", 47 | link: "https://github.com/ml-in-barcelona/server-reason-react", 48 | }, 49 | { 50 | label: "Issues", 51 | link: "https://github.com/ml-in-barcelona/server-reason-react/issues", 52 | }, 53 | {label: "About", link: "https://twitter.com/davesnx"}, 54 | |]; 55 | 56 |
63 | {React.array( 64 | Belt.Array.mapWithIndex(data, (key, item) => 65 | 79 | ), 80 | )} 81 |
; 82 | }; 83 | }; 84 | 85 | [@react.component] 86 | let make = () => { 87 |
89 |

90 | {React.string("Server Reason React")} 91 |

92 | 93 |
; 94 | }; 95 | }; 96 | 97 | [@react.component] 98 | let make = () => { 99 | 100 | 101 | 102 | <>

103 | 104 | 105 | ; 106 | }; 107 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # fullstack-reason-react-demo 2 | 3 | > **Warning** 4 | > This repo is in constant flux as I'm polishing the experience with [`server-reason-react`](https://github.com/ml-in-barcelona/server-reason-react) and related tooling. 5 | 6 | A demo of a fullstack reason-react app using Melange and Dream. Code is written in Reason and compiled by both [Melange](https://github.com/melange-re/melange) and OCaml. 7 | 8 | Demoing [server-reason-react](https://github.com/ml-in-barcelona/server-reason-react). 9 | 10 | --- 11 | 12 | The app consist of 3 folders: `shared`, `server` and `client`, which encapsulates each compilation target defined by dune. 13 | 14 | ## `client/` 15 | 16 | A folder that contains the code executed in the client only. It's defined in dune as a `melange.emit` to emit JavaScript from Reason via Melange. It uses all the ReScript goodies: Belt, Js, etc. Currently is tiny: client only renders the `Shared_js.App` component: 17 | 18 | ```re 19 | switch (ReactDOM.querySelector("#root")) { 20 | | Some(el) => ReactDOM.render(, el) 21 | | None => () 22 | }; 23 | ``` 24 | 25 | ## `server/` 26 | 27 | An executable that expose a dream app with a home route which serves an HTML page. Written in [server-reason-react](https://github.com/ml-in-barcelona/server-reason-react) and send it as a string with `ReactDOM.renderToString` 28 | 29 | ## `shared/` 30 | 31 | The folder contains the library for shared code between `client` and `server`. dune generates the two libraries `Shared_js` and `Shared_native` with `copy_files#` and the dependencies that matter for each compilation: 32 | 33 | ```dune 34 | ; shared/js/dune 35 | (library 36 | (name shared_js) 37 | (modes melange) 38 | (flags :standard -bs-jsx 3) 39 | (libraries reason_react bs_css bs_css_emotion)) 40 | 41 | (copy_files# "../*.re") 42 | ``` 43 | 44 | ```dune 45 | ; shared/native/dune 46 | (library 47 | (name shared_native) 48 | (modes best) ; best means native and byte 49 | (libraries 50 | server-reason-react.react 51 | server-reason-react.reactDom 52 | server-reason-react.js 53 | server-reason-react.css) 54 | (preprocess 55 | (pps server-reason-react.ppx))) 56 | 57 | (copy_files# "../*.re") 58 | ``` 59 | 60 | `Shared_js` is compiled by Melange to JavaScript while `Shared_native` by OCaml to a native library. 61 | 62 | The code of shared consist of an app to demostrate a few usages of server-reason-react implementations, such as server-reason-react.css or server-reason-react.js. 63 | 64 | - `server-reason-react.css` is the implementation of bs-css in the server. Maintains the same API and does the same functionality as emotion.js but in the server. All Css.* methods are available and generates the hash of the classnames. It also adds a fn `Css.render_style_tag()` to render the resultant CSS in the page, with the intention to be called in native. 65 | - `server-reason-react.belt` is the implementation of [Belt](https://rescript-lang.org/docs/manual/latest/api/belt) in pure OCaml. 66 | - `server-reason-react.js` is an incomplete implementation of [Js](https://rescript-lang.org/docs/manual/latest/api/js) 67 | -------------------------------------------------------------------------------- /server/server.re: -------------------------------------------------------------------------------- 1 | let globalStyles = {js| 2 | html, body, #root { 3 | margin: 0; 4 | padding: 0; 5 | width: 100vw; 6 | height: 100vh; 7 | } 8 | 9 | * { 10 | font-family: -apple-system, BlinkMacSystemFont, Roboto, Helvetica, Arial, sans-serif; 11 | -webkit-font-smoothing: antialiased; 12 | -moz-osx-font-smoothing: grayscale; 13 | box-sizing: border-box; 14 | } 15 | 16 | @keyframes spin { 17 | to { 18 | transform: rotate(360deg); 19 | } 20 | } 21 | |js}; 22 | 23 | module Page = { 24 | [@react.component] 25 | let make = (~children, ~scripts=[], ~styles=[]) => { 26 | 27 | 28 | 29 | 33 | {React.string("Server Reason React demo")} 34 | 38 |