From 36de0b4b9b2c0f070cb0ad6fc1ba54ded29db860 Mon Sep 17 00:00:00 2001 From: Alex Fedoseev Date: Wed, 28 Feb 2024 16:58:13 +0400 Subject: [PATCH 01/10] Update: OCaml 4.14, ReScript 11 --- .github/workflows/ci.yml | 278 +++++-- .github/workflows/scripts/print-esy-cache.js | 15 - .gitignore | 2 +- devbox.json | 15 +- devbox.lock | 34 +- dune-project | 2 +- dune-workspace | 1 + esy.json | 24 - esy.lock/.gitattributes | 3 - esy.lock/.gitignore | 3 - esy.lock/index.json | 690 ------------------ esy.lock/opam/base-threads.base/opam | 6 - esy.lock/opam/base-unix.base/opam | 6 - esy.lock/opam/biniou.1.2.1/opam | 45 -- esy.lock/opam/conf-m4.1/opam | 22 - esy.lock/opam/cppo.1.6.8/opam | 37 - esy.lock/opam/csexp.1.5.1/opam | 60 -- esy.lock/opam/dot-merlin-reader.4.1/opam | 30 - esy.lock/opam/dune.2.9.2/opam | 59 -- esy.lock/opam/easy-format.1.3.2/opam | 46 -- esy.lock/opam/fix.20220121/opam | 26 - esy.lock/opam/menhir.20220210/opam | 29 - esy.lock/opam/menhirLib.20220210/opam | 30 - esy.lock/opam/menhirSdk.20220210/opam | 30 - esy.lock/opam/merlin-extend.0.6/opam | 30 - esy.lock/opam/merlin.4.4-412/opam | 77 -- .../opam/ocaml-compiler-libs.v0.12.4/opam | 39 - .../opam/ocamlfind.1.8.1/files/ocaml-stub | 4 - .../ocamlfind.1.8.1/files/ocamlfind.install | 6 - esy.lock/opam/ocamlfind.1.8.1/opam | 64 -- esy.lock/opam/ppx_derivers.1.2.1/opam | 23 - esy.lock/opam/ppxlib.0.24.0/opam | 62 -- esy.lock/opam/reason.3.7.0/opam | 31 - esy.lock/opam/result.1.5/opam | 22 - esy.lock/opam/sexplib0.v0.14.0/opam | 26 - esy.lock/opam/stdlib-shims.0.3.0/opam | 31 - esy.lock/opam/yojson.1.7.0/opam | 38 - .../package.json | 6 - .../files/findlib-1.8.1.patch | 471 ------------ .../package.json | 61 -- examples/bsconfig.json | 17 - examples/package.json | 20 +- examples/rescript.json | 22 + examples/src/Reason.re | 117 --- lib/bsconfig.json | 15 - lib/package.json | 20 +- lib/rescript.json | 15 + linux.patch | 10 - nix/ocaml/flake.lock | 61 -- nix/ocaml/flake.nix | 47 -- package.json | 6 +- ppx/bin/Bin.ml | 2 +- ppx/bin/dune | 9 +- ppx/lib/Lib.ml | 64 +- ppx/lib/dune | 3 +- rescript-logger-ppx.opam | 21 + scripts/build-linux-arm64.sh | 69 -- scripts/build-macos-arm64.sh | 16 - scripts/release.sh | 49 -- scripts/user-data.linux-arm64.sh | 27 - shell.nix | 28 - yarn.lock | 8 +- 62 files changed, 380 insertions(+), 2750 deletions(-) delete mode 100644 .github/workflows/scripts/print-esy-cache.js create mode 100644 dune-workspace delete mode 100644 esy.json delete mode 100644 esy.lock/.gitattributes delete mode 100644 esy.lock/.gitignore delete mode 100644 esy.lock/index.json delete mode 100644 esy.lock/opam/base-threads.base/opam delete mode 100644 esy.lock/opam/base-unix.base/opam delete mode 100644 esy.lock/opam/biniou.1.2.1/opam delete mode 100644 esy.lock/opam/conf-m4.1/opam delete mode 100644 esy.lock/opam/cppo.1.6.8/opam delete mode 100644 esy.lock/opam/csexp.1.5.1/opam delete mode 100644 esy.lock/opam/dot-merlin-reader.4.1/opam delete mode 100644 esy.lock/opam/dune.2.9.2/opam delete mode 100644 esy.lock/opam/easy-format.1.3.2/opam delete mode 100644 esy.lock/opam/fix.20220121/opam delete mode 100644 esy.lock/opam/menhir.20220210/opam delete mode 100644 esy.lock/opam/menhirLib.20220210/opam delete mode 100644 esy.lock/opam/menhirSdk.20220210/opam delete mode 100644 esy.lock/opam/merlin-extend.0.6/opam delete mode 100644 esy.lock/opam/merlin.4.4-412/opam delete mode 100644 esy.lock/opam/ocaml-compiler-libs.v0.12.4/opam delete mode 100644 esy.lock/opam/ocamlfind.1.8.1/files/ocaml-stub delete mode 100644 esy.lock/opam/ocamlfind.1.8.1/files/ocamlfind.install delete mode 100644 esy.lock/opam/ocamlfind.1.8.1/opam delete mode 100644 esy.lock/opam/ppx_derivers.1.2.1/opam delete mode 100644 esy.lock/opam/ppxlib.0.24.0/opam delete mode 100644 esy.lock/opam/reason.3.7.0/opam delete mode 100644 esy.lock/opam/result.1.5/opam delete mode 100644 esy.lock/opam/sexplib0.v0.14.0/opam delete mode 100644 esy.lock/opam/stdlib-shims.0.3.0/opam delete mode 100644 esy.lock/opam/yojson.1.7.0/opam delete mode 100644 esy.lock/overrides/opam__s__conf_m4_opam__c__1_opam_override/package.json delete mode 100644 esy.lock/overrides/opam__s__ocamlfind_opam__c__1.8.1_opam_override/files/findlib-1.8.1.patch delete mode 100644 esy.lock/overrides/opam__s__ocamlfind_opam__c__1.8.1_opam_override/package.json delete mode 100644 examples/bsconfig.json create mode 100644 examples/rescript.json delete mode 100644 examples/src/Reason.re delete mode 100644 lib/bsconfig.json create mode 100644 lib/rescript.json delete mode 100644 linux.patch delete mode 100644 nix/ocaml/flake.lock delete mode 100644 nix/ocaml/flake.nix delete mode 100755 scripts/build-linux-arm64.sh delete mode 100755 scripts/build-macos-arm64.sh delete mode 100755 scripts/release.sh delete mode 100644 scripts/user-data.linux-arm64.sh delete mode 100644 shell.nix diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 041f47b..60930e2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -4,164 +4,299 @@ on: pull_request: branches: - master + push: + tags: + - 'v*' jobs: - build: - name: Build on ${{ matrix.os }} - runs-on: ${{ matrix.os }} + validate: + name: Validate + runs-on: ubuntu-latest strategy: matrix: + os: [ubuntu-latest] + ocaml-version: [4.14.1] node-version: [16.x] - os: [macOS-latest, windows-latest] steps: - name: Checkout repo - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Setup Node ${{ matrix.node-version }} - uses: actions/setup-node@v1 + uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - name: Print Yarn cache id: print-yarn-cache - run: echo "::set-output name=yarn-cache::$(yarn cache dir)" + run: echo "yarn-cache=$(yarn cache dir)" >> $GITHUB_OUTPUT - name: Restore Yarn cache id: yarn-cache - uses: actions/cache@v1 + uses: actions/cache@v4 with: path: ${{ steps.print-yarn-cache.outputs.yarn-cache }} - key: ${{ matrix.os }}-yarn-${{ hashFiles('**/yarn.lock') }} + key: ${{ matrix.os }}-yarn-${{ hashFiles('yarn.lock', '*/yarn.lock') }} - name: Install Yarn deps run: yarn install - - name: Install Esy - run: npm install -g esy@0.6.12 + - name: Setup OCaml ${{ matrix.ocaml-version }} + uses: ocaml/setup-ocaml@v2 + with: + ocaml-compiler: ${{ matrix.ocaml-version }} + + - name: Install Opam deps + run: opam install . --deps-only --with-test + + - name: Build PPX + run: opam exec -- dune build + + - name: Build ReScript lib + run: | + cd lib + yarn run build + + - name: Build ReScript examples + run: | + cd examples + yarn run build - - name: Install Esy deps - run: esy install + build_macos: + name: Build on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + if: startsWith(github.ref, 'refs/tags/v') + needs: + - validate + strategy: + matrix: + os: [macos-13, macos-14] + ocaml-version: [4.14.1] + node-version: [16.x] - - name: Print Esy cache - id: print-esy-cache - run: node .github/workflows/scripts/print-esy-cache.js + steps: + - name: Checkout repo + uses: actions/checkout@v4 - - name: Restore Esy cache - id: esy-cache - uses: actions/cache@v1 + - name: Setup Node ${{ matrix.node-version }} + uses: actions/setup-node@v4 with: - path: ${{ steps.print-esy-cache.outputs.esy-cache }} - key: ${{ matrix.os }}-esy-${{ hashFiles('**/index.json') }} + node-version: ${{ matrix.node-version }} - - name: Build ppx - run: esy build + - name: Print Yarn cache + id: print-yarn-cache + run: echo "yarn-cache=$(yarn cache dir)" >> $GITHUB_OUTPUT + + - name: Restore Yarn cache + id: yarn-cache + uses: actions/cache@v4 + with: + path: ${{ steps.print-yarn-cache.outputs.yarn-cache }} + key: ${{ matrix.os }}-yarn-${{ hashFiles('yarn.lock', '*/yarn.lock') }} + + - name: Install Yarn deps + run: yarn install + + - name: Setup OCaml ${{ matrix.ocaml-version }} + uses: ocaml/setup-ocaml@v2 + with: + ocaml-compiler: ${{ matrix.ocaml-version }} - - name: Build lib + - name: Install Opam deps + run: opam install . --deps-only --with-test + + - name: Build PPX + run: opam exec -- dune build + + - name: Build ReScript lib run: | cd lib yarn run build + - name: Build ReScript examples + run: | + cd examples + yarn run build + - name: Upload artifacts - uses: actions/upload-artifact@v1 + uses: actions/upload-artifact@v4 with: name: ${{ matrix.os }} path: _build/default/ppx/bin/bin.exe build_linux: - name: Build on ${{ matrix.os }} - runs-on: ${{ matrix.os }} + name: Build on ${{ matrix.container-os }} + runs-on: ${{ matrix.host-os }} + if: startsWith(github.ref, 'refs/tags/v') + needs: + - validate strategy: matrix: - os: [ubuntu-latest] - + host-os: [ubuntu-latest] + container-os: [linux-alpine-3] + ocaml-version: [4.14.1] + node-version: [16.x] container: - image: alexfedoseev/alpine-node-yarn-esy:0.0.9 + image: alex35mil/alpine-ocaml-opam-node-yarn:alpine-3.19-ocaml-4.14-node-16.20-yarn-1.22-o5gm steps: - name: Checkout repo - uses: actions/checkout@v2 + uses: actions/checkout@v4 - - name: Apply static linking patch - run: git apply linux.patch + - name: Print Yarn cache + id: print-yarn-cache + run: echo "yarn-cache=$(yarn cache dir)" >> $GITHUB_OUTPUT + + - name: Restore Yarn cache + id: yarn-cache + uses: actions/cache@v4 + with: + path: ${{ steps.print-yarn-cache.outputs.yarn-cache }} + key: ${{ matrix.container-os }}-yarn-${{ hashFiles('yarn.lock', '*/yarn.lock') }} + + - name: Install Yarn deps + run: yarn install + + - name: Setup OCaml ${{ matrix.ocaml-version }} + run: opam init -a --disable-sandboxing --compiler=${{ matrix.ocaml-version }} + + - name: Install Opam deps + run: opam install . --deps-only --with-test + + - name: Build PPX + run: opam exec -- dune build --profile static + + - name: Build ReScript lib + run: | + cd lib + yarn run build + + - name: Build ReScript examples + run: | + cd examples + yarn run build + + - name: Upload artifacts + uses: actions/upload-artifact@v4 + with: + name: ${{ matrix.container-os }} + path: _build/default/ppx/bin/bin.exe + + build_windows: + name: Build on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + if: startsWith(github.ref, 'refs/tags/v') + needs: + - validate + strategy: + matrix: + os: [windows-latest] + ocaml-version: [4.14.1] + node-version: [16.x] + + steps: + - name: Checkout repo + uses: actions/checkout@v4 - name: Setup Node ${{ matrix.node-version }} - uses: actions/setup-node@v1 + uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - name: Print Yarn cache id: print-yarn-cache - run: echo "::set-output name=yarn-cache::$(yarn cache dir)" + run: echo "::set-output name=yarn-cache::$(yarn cache dir)" # Using the old way as the new way doesn't work on windows - name: Restore Yarn cache id: yarn-cache - uses: actions/cache@v1 + uses: actions/cache@v4 with: path: ${{ steps.print-yarn-cache.outputs.yarn-cache }} - key: ${{ matrix.os }}-yarn-${{ hashFiles('**/yarn.lock') }} + key: ${{ matrix.os }}-yarn-${{ hashFiles('yarn.lock', '*/yarn.lock') }} - name: Install Yarn deps run: yarn install - - name: Install Esy deps - run: esy install + - name: Apply Opam deps patch + run: | + $lastCommitterName = git log -1 --pretty=format:'%an' + $lastCommitterEmail = git log -1 --pretty=format:'%ae' + git config user.name "$lastCommitterName" + git config user.email "$lastCommitterEmail" + git apply windows.patch + git add . + git commit -m "Patch opam deps" + + - name: Setup OCaml ${{ matrix.ocaml-version }} + uses: ocaml/setup-ocaml@v2 + with: + ocaml-compiler: ${{ matrix.ocaml-version }} - - name: Print Esy cache - id: print-esy-cache - run: node .github/workflows/scripts/print-esy-cache.js + - name: Pin Opam deps + run: | + opam pin add dune https://github.com/ocaml/dune.git#7cbb0e7 # 3.11.1 + opam pin add ppxlib https://github.com/ocaml-ppx/ppxlib.git#f0496c9 # 0.30.0 - - name: Restore Esy cache - id: esy-cache - uses: actions/cache@v1 - with: - path: ${{ steps.print-esy-cache.outputs.esy-cache }} - key: ${{ matrix.os }}-esy-${{ hashFiles('**/index.json') }} + - name: Install Opam deps + run: opam install . --deps-only --with-test - - name: Build ppx - run: esy build + - name: Build PPX + run: opam exec -- dune build - - name: Build lib + - name: Build ReScript lib run: | cd lib yarn run build + - name: Build ReScript examples + run: | + cd examples + yarn run build + - name: Upload artifacts - uses: actions/upload-artifact@v1 + uses: actions/upload-artifact@v4 with: name: ${{ matrix.os }} path: _build/default/ppx/bin/bin.exe - release: + prepare_release: needs: - - build + - build_macos - build_linux - name: Prepare RC + - build_windows + name: Prepare release runs-on: ubuntu-latest + if: startsWith(github.ref, 'refs/tags/v') steps: - name: Checkout repo - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Setup Node ${{ matrix.node-version }} - uses: actions/setup-node@v1 + uses: actions/setup-node@v4 with: node-version: 16.x - - name: Download Linux artifacts - uses: actions/download-artifact@v1 + - name: Download macOS x86 artifacts + uses: actions/download-artifact@v4 with: - name: ubuntu-latest - path: _bin/linux + name: macos-13 + path: _bin/darwin/intel - - name: Download macOS artifacts - uses: actions/download-artifact@v1 + - name: Download macOS ARM artifacts + uses: actions/download-artifact@v4 with: - name: macOS-latest - path: _bin/darwin + name: macos-14 + path: _bin/darwin/arm + + - name: Download Linux artifacts + uses: actions/download-artifact@v4 + with: + name: linux-alpine-3 + path: _bin/linux - name: Download Windows artifacts - uses: actions/download-artifact@v1 + uses: actions/download-artifact@v4 with: name: windows-latest path: _bin/windows @@ -169,22 +304,23 @@ jobs: - name: Move artifacts run: | mkdir -p _release/bin - mv _bin/darwin/bin.exe _release/bin/rescript-logger-ppx-darwin-x64.exe - mv _bin/windows/bin.exe _release/bin/rescript-logger-ppx-win-x64.exe - mv _bin/linux/bin.exe _release/bin/rescript-logger-ppx-linux-x64.exe + mv _bin/darwin/intel/bin.exe _release/bin/re-formality-ppx-darwin-x64.exe + mv _bin/darwin/arm/bin.exe _release/bin/re-formality-ppx-darwin-arm64.exe + mv _bin/linux/bin.exe _release/bin/re-formality-ppx-linux-x64.exe + mv _bin/windows/bin.exe _release/bin/re-formality-ppx-win-x64.exe rm -rf _bin - name: Move lib files run: | mkdir -p _release/src cp README.md _release/README.md - cp lib/bsconfig.json _release/bsconfig.json + cp lib/rescript.json _release/rescript.json cp -a lib/src/. _release/src/ cp .github/workflows/scripts/postinstall.js _release/postinstall.js node .github/workflows/scripts/write-package-json.js - name: Upload release - uses: actions/upload-artifact@v1 + uses: actions/upload-artifact@v4 with: name: release path: _release diff --git a/.github/workflows/scripts/print-esy-cache.js b/.github/workflows/scripts/print-esy-cache.js deleted file mode 100644 index 4d417a3..0000000 --- a/.github/workflows/scripts/print-esy-cache.js +++ /dev/null @@ -1,15 +0,0 @@ -const fs = require("fs"); -const os = require("os"); -const path = require("path"); - -const ESY_FOLDER = process.env.ESY__PREFIX - ? process.env.ESY__PREFIX - : path.join(os.homedir(), ".esy"); - -const esy3 = fs - .readdirSync(ESY_FOLDER) - .filter(name => name.length > 0 && name[0] === "3") - .sort() - .pop(); - -console.log(`::set-output name=esy-cache::${path.join(ESY_FOLDER, esy3, "i")}`); diff --git a/.gitignore b/.gitignore index 9ab40cd..ae43b47 100644 --- a/.gitignore +++ b/.gitignore @@ -6,7 +6,7 @@ node_modules/ .cache .merlin .bsb.lock -*.bs.js +*.res.js .DS_Store /_esy /_build diff --git a/devbox.json b/devbox.json index 56383f1..bf20658 100644 --- a/devbox.json +++ b/devbox.json @@ -1,14 +1,13 @@ { "packages": [ - "path:./nix/ocaml#ocaml", - "path:./nix/ocaml#dune", - "path:./nix/ocaml#findlib", - "path:./nix/ocaml#ppxlib", - "path:./nix/ocaml#merlin", - "path:./nix/ocaml#lsp", + "ocamlPackages.ocaml", + "ocamlPackages.dune_3", + "ocamlPackages.findlib", + "ocamlPackages.ppxlib", + "ocamlPackages.alcotest", + "ocamlPackages.ocaml-lsp", "nodejs", - "yarn", - "awscli2" + "yarn" ], "shell": { "init_hook": [ diff --git a/devbox.lock b/devbox.lock index ac39a3b..89e3c1c 100644 --- a/devbox.lock +++ b/devbox.lock @@ -1,20 +1,34 @@ { "lockfile_version": "1", "packages": { - "awscli2": { - "resolved": "github:NixOS/nixpkgs/f80ac848e3d6f0c12c52758c0f25c10c97ca3b62#awscli2", - "source": "nixpkg" - }, "nodejs": { "resolved": "github:NixOS/nixpkgs/f80ac848e3d6f0c12c52758c0f25c10c97ca3b62#nodejs", "source": "nixpkg" }, - "path:./nix/ocaml#dune": {}, - "path:./nix/ocaml#findlib": {}, - "path:./nix/ocaml#lsp": {}, - "path:./nix/ocaml#merlin": {}, - "path:./nix/ocaml#ocaml": {}, - "path:./nix/ocaml#ppxlib": {}, + "ocamlPackages.alcotest": { + "resolved": "github:NixOS/nixpkgs/75a52265bda7fd25e06e3a67dee3f0354e73243c#ocamlPackages.alcotest", + "source": "nixpkg" + }, + "ocamlPackages.dune_3": { + "resolved": "github:NixOS/nixpkgs/75a52265bda7fd25e06e3a67dee3f0354e73243c#ocamlPackages.dune_3", + "source": "nixpkg" + }, + "ocamlPackages.findlib": { + "resolved": "github:NixOS/nixpkgs/75a52265bda7fd25e06e3a67dee3f0354e73243c#ocamlPackages.findlib", + "source": "nixpkg" + }, + "ocamlPackages.ocaml": { + "resolved": "github:NixOS/nixpkgs/75a52265bda7fd25e06e3a67dee3f0354e73243c#ocamlPackages.ocaml", + "source": "nixpkg" + }, + "ocamlPackages.ocaml-lsp": { + "resolved": "github:NixOS/nixpkgs/75a52265bda7fd25e06e3a67dee3f0354e73243c#ocamlPackages.ocaml-lsp", + "source": "nixpkg" + }, + "ocamlPackages.ppxlib": { + "resolved": "github:NixOS/nixpkgs/75a52265bda7fd25e06e3a67dee3f0354e73243c#ocamlPackages.ppxlib", + "source": "nixpkg" + }, "yarn": { "resolved": "github:NixOS/nixpkgs/f80ac848e3d6f0c12c52758c0f25c10c97ca3b62#yarn", "source": "nixpkg" diff --git a/dune-project b/dune-project index 674bfd2..95f0673 100644 --- a/dune-project +++ b/dune-project @@ -1,2 +1,2 @@ (lang dune 2.6) - (name rescript-logger-ppx) +(name rescript-logger-ppx) diff --git a/dune-workspace b/dune-workspace new file mode 100644 index 0000000..e8b8374 --- /dev/null +++ b/dune-workspace @@ -0,0 +1 @@ +(lang dune 2.6) diff --git a/esy.json b/esy.json deleted file mode 100644 index ab88cd3..0000000 --- a/esy.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "rescript-logger-ppx", - "version": "3.1.0", - "description": "Logging implementation for ReScript", - "author": "Alex Fedoseev ", - "license": "MIT", - "esy": { - "build": "dune build -p #{self.name}", - "buildsInSource": "_build" - }, - "dependencies": { - "ocaml": "4.12.0", - "@opam/reason": "3.7.0", - "@opam/dune": "2.9.2", - "@opam/ppxlib": "*", - "@opam/ocamlfind": "1.8.1" - }, - "devDependencies": { - "@opam/merlin": "*" - }, - "resolutions": { - "@opam/ppxlib": "zth/ppxlib:ppxlib.opam#32f83395fb89693a873541298b6367449f23bc4a" - } -} diff --git a/esy.lock/.gitattributes b/esy.lock/.gitattributes deleted file mode 100644 index e0b4e26..0000000 --- a/esy.lock/.gitattributes +++ /dev/null @@ -1,3 +0,0 @@ - -# Set eol to LF so files aren't converted to CRLF-eol on Windows. -* text eol=lf linguist-generated diff --git a/esy.lock/.gitignore b/esy.lock/.gitignore deleted file mode 100644 index a221be2..0000000 --- a/esy.lock/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ - -# Reset any possible .gitignore, we want all esy.lock to be un-ignored. -!* diff --git a/esy.lock/index.json b/esy.lock/index.json deleted file mode 100644 index ba00a62..0000000 --- a/esy.lock/index.json +++ /dev/null @@ -1,690 +0,0 @@ -{ - "checksum": "4df9426972ae415cdc1216840a4cddbb", - "root": "rescript-logger-ppx@link-dev:./esy.json", - "node": { - "rescript-logger-ppx@link-dev:./esy.json": { - "id": "rescript-logger-ppx@link-dev:./esy.json", - "name": "rescript-logger-ppx", - "version": "link-dev:./esy.json", - "source": { "type": "link-dev", "path": ".", "manifest": "esy.json" }, - "overrides": [], - "dependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/reason@opam:3.7.0@5ea7a0b2", - "@opam/ppxlib@opam:0.24.0@4c00d6db", - "@opam/ocamlfind@opam:1.8.1@b7dc3072", - "@opam/dune@opam:2.9.2@f48e8212" - ], - "devDependencies": [ "@opam/merlin@opam:4.4-412@c7695ce2" ] - }, - "ocaml@4.12.0@d41d8cd9": { - "id": "ocaml@4.12.0@d41d8cd9", - "name": "ocaml", - "version": "4.12.0", - "source": { - "type": "install", - "source": [ - "archive:https://registry.npmjs.org/ocaml/-/ocaml-4.12.0.tgz#sha1:2a979f37535faaded8aa3fdf82b6f16f2c71e284" - ] - }, - "overrides": [], - "dependencies": [], - "devDependencies": [] - }, - "esy-m4@github:esy-packages/esy-m4#c7cf0ac9221be2b1f9d90e83559ca08397a629e7@d41d8cd9": { - "id": - "esy-m4@github:esy-packages/esy-m4#c7cf0ac9221be2b1f9d90e83559ca08397a629e7@d41d8cd9", - "name": "esy-m4", - "version": - "github:esy-packages/esy-m4#c7cf0ac9221be2b1f9d90e83559ca08397a629e7", - "source": { - "type": "install", - "source": [ - "github:esy-packages/esy-m4#c7cf0ac9221be2b1f9d90e83559ca08397a629e7" - ] - }, - "overrides": [], - "dependencies": [], - "devDependencies": [] - }, - "@opam/yojson@opam:1.7.0@69d87312": { - "id": "@opam/yojson@opam:1.7.0@69d87312", - "name": "@opam/yojson", - "version": "opam:1.7.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/b8/b89d39ca3f8c532abe5f547ad3b8f84d#md5:b89d39ca3f8c532abe5f547ad3b8f84d", - "archive:https://github.com/ocaml-community/yojson/releases/download/1.7.0/yojson-1.7.0.tbz#md5:b89d39ca3f8c532abe5f547ad3b8f84d" - ], - "opam": { - "name": "yojson", - "version": "1.7.0", - "path": "esy.lock/opam/yojson.1.7.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/easy-format@opam:1.3.2@1ea9f987", - "@opam/dune@opam:2.9.2@f48e8212", "@opam/cppo@opam:1.6.8@7e48217d", - "@opam/biniou@opam:1.2.1@420bda02", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/easy-format@opam:1.3.2@1ea9f987", - "@opam/dune@opam:2.9.2@f48e8212", "@opam/biniou@opam:1.2.1@420bda02" - ] - }, - "@opam/stdlib-shims@opam:0.3.0@72c7bc98": { - "id": "@opam/stdlib-shims@opam:0.3.0@72c7bc98", - "name": "@opam/stdlib-shims", - "version": "opam:0.3.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/ba/babf72d3917b86f707885f0c5528e36c63fccb698f4b46cf2bab5c7ccdd6d84a#sha256:babf72d3917b86f707885f0c5528e36c63fccb698f4b46cf2bab5c7ccdd6d84a", - "archive:https://github.com/ocaml/stdlib-shims/releases/download/0.3.0/stdlib-shims-0.3.0.tbz#sha256:babf72d3917b86f707885f0c5528e36c63fccb698f4b46cf2bab5c7ccdd6d84a" - ], - "opam": { - "name": "stdlib-shims", - "version": "0.3.0", - "path": "esy.lock/opam/stdlib-shims.0.3.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/dune@opam:2.9.2@f48e8212", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/dune@opam:2.9.2@f48e8212" - ] - }, - "@opam/sexplib0@opam:v0.14.0@155c136c": { - "id": "@opam/sexplib0@opam:v0.14.0@155c136c", - "name": "@opam/sexplib0", - "version": "opam:v0.14.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/37/37aff0af8f8f6f759249475684aebdc4#md5:37aff0af8f8f6f759249475684aebdc4", - "archive:https://ocaml.janestreet.com/ocaml-core/v0.14/files/sexplib0-v0.14.0.tar.gz#md5:37aff0af8f8f6f759249475684aebdc4" - ], - "opam": { - "name": "sexplib0", - "version": "v0.14.0", - "path": "esy.lock/opam/sexplib0.v0.14.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/dune@opam:2.9.2@f48e8212", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/dune@opam:2.9.2@f48e8212" - ] - }, - "@opam/result@opam:1.5@1c6a6533": { - "id": "@opam/result@opam:1.5@1c6a6533", - "name": "@opam/result", - "version": "opam:1.5", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/1b/1b82dec78849680b49ae9a8a365b831b#md5:1b82dec78849680b49ae9a8a365b831b", - "archive:https://github.com/janestreet/result/releases/download/1.5/result-1.5.tbz#md5:1b82dec78849680b49ae9a8a365b831b" - ], - "opam": { - "name": "result", - "version": "1.5", - "path": "esy.lock/opam/result.1.5" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/dune@opam:2.9.2@f48e8212", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/dune@opam:2.9.2@f48e8212" - ] - }, - "@opam/reason@opam:3.7.0@5ea7a0b2": { - "id": "@opam/reason@opam:3.7.0@5ea7a0b2", - "name": "@opam/reason", - "version": "opam:3.7.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/7e/7eb8cbbff8565b93ebfabf4eca7254d4#md5:7eb8cbbff8565b93ebfabf4eca7254d4", - "archive:https://registry.npmjs.org/@esy-ocaml/reason/-/reason-3.7.0.tgz#md5:7eb8cbbff8565b93ebfabf4eca7254d4" - ], - "opam": { - "name": "reason", - "version": "3.7.0", - "path": "esy.lock/opam/reason.3.7.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/result@opam:1.5@1c6a6533", - "@opam/ppx_derivers@opam:1.2.1@e2cbad12", - "@opam/ocamlfind@opam:1.8.1@b7dc3072", - "@opam/merlin-extend@opam:0.6@88755c91", - "@opam/menhir@opam:20220210@ff87a93b", - "@opam/fix@opam:20220121@17b9a1a4", "@opam/dune@opam:2.9.2@f48e8212", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/result@opam:1.5@1c6a6533", - "@opam/ppx_derivers@opam:1.2.1@e2cbad12", - "@opam/merlin-extend@opam:0.6@88755c91", - "@opam/menhir@opam:20220210@ff87a93b", - "@opam/fix@opam:20220121@17b9a1a4", "@opam/dune@opam:2.9.2@f48e8212" - ] - }, - "@opam/ppxlib@opam:0.24.0@4c00d6db": { - "id": "@opam/ppxlib@opam:0.24.0@4c00d6db", - "name": "@opam/ppxlib", - "version": "opam:0.24.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/77/7766027c2ecd0f5b3b460e9212a70709c6744278113eb91f317c56c41e7a90c8#sha256:7766027c2ecd0f5b3b460e9212a70709c6744278113eb91f317c56c41e7a90c8", - "archive:https://github.com/ocaml-ppx/ppxlib/releases/download/0.24.0/ppxlib-0.24.0.tbz#sha256:7766027c2ecd0f5b3b460e9212a70709c6744278113eb91f317c56c41e7a90c8" - ], - "opam": { - "name": "ppxlib", - "version": "0.24.0", - "path": "esy.lock/opam/ppxlib.0.24.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/stdlib-shims@opam:0.3.0@72c7bc98", - "@opam/sexplib0@opam:v0.14.0@155c136c", - "@opam/ppx_derivers@opam:1.2.1@e2cbad12", - "@opam/ocaml-compiler-libs@opam:v0.12.4@41979882", - "@opam/dune@opam:2.9.2@f48e8212", "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/stdlib-shims@opam:0.3.0@72c7bc98", - "@opam/sexplib0@opam:v0.14.0@155c136c", - "@opam/ppx_derivers@opam:1.2.1@e2cbad12", - "@opam/ocaml-compiler-libs@opam:v0.12.4@41979882", - "@opam/dune@opam:2.9.2@f48e8212" - ] - }, - "@opam/ppx_derivers@opam:1.2.1@e2cbad12": { - "id": "@opam/ppx_derivers@opam:1.2.1@e2cbad12", - "name": "@opam/ppx_derivers", - "version": "opam:1.2.1", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/5d/5dc2bf130c1db3c731fe0fffc5648b41#md5:5dc2bf130c1db3c731fe0fffc5648b41", - "archive:https://github.com/ocaml-ppx/ppx_derivers/archive/1.2.1.tar.gz#md5:5dc2bf130c1db3c731fe0fffc5648b41" - ], - "opam": { - "name": "ppx_derivers", - "version": "1.2.1", - "path": "esy.lock/opam/ppx_derivers.1.2.1" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/dune@opam:2.9.2@f48e8212", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/dune@opam:2.9.2@f48e8212" - ] - }, - "@opam/ocamlfind@opam:1.8.1@b7dc3072": { - "id": "@opam/ocamlfind@opam:1.8.1@b7dc3072", - "name": "@opam/ocamlfind", - "version": "opam:1.8.1", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/18/18ca650982c15536616dea0e422cbd8c#md5:18ca650982c15536616dea0e422cbd8c", - "archive:http://download2.camlcity.org/download/findlib-1.8.1.tar.gz#md5:18ca650982c15536616dea0e422cbd8c", - "archive:http://download.camlcity.org/download/findlib-1.8.1.tar.gz#md5:18ca650982c15536616dea0e422cbd8c" - ], - "opam": { - "name": "ocamlfind", - "version": "1.8.1", - "path": "esy.lock/opam/ocamlfind.1.8.1" - } - }, - "overrides": [ - { - "opamoverride": - "esy.lock/overrides/opam__s__ocamlfind_opam__c__1.8.1_opam_override" - } - ], - "dependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/conf-m4@opam:1@196bf219", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ "ocaml@4.12.0@d41d8cd9" ] - }, - "@opam/ocaml-compiler-libs@opam:v0.12.4@41979882": { - "id": "@opam/ocaml-compiler-libs@opam:v0.12.4@41979882", - "name": "@opam/ocaml-compiler-libs", - "version": "opam:v0.12.4", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/4e/4ec9c9ec35cc45c18c7a143761154ef1d7663036a29297f80381f47981a07760#sha256:4ec9c9ec35cc45c18c7a143761154ef1d7663036a29297f80381f47981a07760", - "archive:https://github.com/janestreet/ocaml-compiler-libs/releases/download/v0.12.4/ocaml-compiler-libs-v0.12.4.tbz#sha256:4ec9c9ec35cc45c18c7a143761154ef1d7663036a29297f80381f47981a07760" - ], - "opam": { - "name": "ocaml-compiler-libs", - "version": "v0.12.4", - "path": "esy.lock/opam/ocaml-compiler-libs.v0.12.4" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/dune@opam:2.9.2@f48e8212", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/dune@opam:2.9.2@f48e8212" - ] - }, - "@opam/merlin-extend@opam:0.6@88755c91": { - "id": "@opam/merlin-extend@opam:0.6@88755c91", - "name": "@opam/merlin-extend", - "version": "opam:0.6", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/c2/c2f236ae97feb6ba0bc90f33beb7b7343e42f9871b66de9ba07974917e256c43#sha256:c2f236ae97feb6ba0bc90f33beb7b7343e42f9871b66de9ba07974917e256c43", - "archive:https://github.com/let-def/merlin-extend/releases/download/v0.6/merlin-extend-v0.6.tbz#sha256:c2f236ae97feb6ba0bc90f33beb7b7343e42f9871b66de9ba07974917e256c43" - ], - "opam": { - "name": "merlin-extend", - "version": "0.6", - "path": "esy.lock/opam/merlin-extend.0.6" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/dune@opam:2.9.2@f48e8212", - "@opam/cppo@opam:1.6.8@7e48217d", "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/dune@opam:2.9.2@f48e8212" - ] - }, - "@opam/merlin@opam:4.4-412@c7695ce2": { - "id": "@opam/merlin@opam:4.4-412@c7695ce2", - "name": "@opam/merlin", - "version": "opam:4.4-412", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/16/16d879496882d44ee0a5392e20b3824240e70f1585b9ae6d936ff5f3a3beb2a3#sha256:16d879496882d44ee0a5392e20b3824240e70f1585b9ae6d936ff5f3a3beb2a3", - "archive:https://github.com/ocaml/merlin/releases/download/v4.4-412/merlin-4.4-412.tbz#sha256:16d879496882d44ee0a5392e20b3824240e70f1585b9ae6d936ff5f3a3beb2a3" - ], - "opam": { - "name": "merlin", - "version": "4.4-412", - "path": "esy.lock/opam/merlin.4.4-412" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/yojson@opam:1.7.0@69d87312", - "@opam/result@opam:1.5@1c6a6533", "@opam/dune@opam:2.9.2@f48e8212", - "@opam/dot-merlin-reader@opam:4.1@84436e1c", - "@opam/csexp@opam:1.5.1@8a8fb3a7", "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/yojson@opam:1.7.0@69d87312", - "@opam/result@opam:1.5@1c6a6533", "@opam/dune@opam:2.9.2@f48e8212", - "@opam/dot-merlin-reader@opam:4.1@84436e1c", - "@opam/csexp@opam:1.5.1@8a8fb3a7" - ] - }, - "@opam/menhirSdk@opam:20220210@b8921e41": { - "id": "@opam/menhirSdk@opam:20220210@b8921e41", - "name": "@opam/menhirSdk", - "version": "opam:20220210", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/e3/e3cef220f676c4b1c16cbccb174cefe3#md5:e3cef220f676c4b1c16cbccb174cefe3", - "archive:https://gitlab.inria.fr/fpottier/menhir/-/archive/20220210/archive.tar.gz#md5:e3cef220f676c4b1c16cbccb174cefe3" - ], - "opam": { - "name": "menhirSdk", - "version": "20220210", - "path": "esy.lock/opam/menhirSdk.20220210" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/dune@opam:2.9.2@f48e8212", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/dune@opam:2.9.2@f48e8212" - ] - }, - "@opam/menhirLib@opam:20220210@e6562f4f": { - "id": "@opam/menhirLib@opam:20220210@e6562f4f", - "name": "@opam/menhirLib", - "version": "opam:20220210", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/e3/e3cef220f676c4b1c16cbccb174cefe3#md5:e3cef220f676c4b1c16cbccb174cefe3", - "archive:https://gitlab.inria.fr/fpottier/menhir/-/archive/20220210/archive.tar.gz#md5:e3cef220f676c4b1c16cbccb174cefe3" - ], - "opam": { - "name": "menhirLib", - "version": "20220210", - "path": "esy.lock/opam/menhirLib.20220210" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/dune@opam:2.9.2@f48e8212", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/dune@opam:2.9.2@f48e8212" - ] - }, - "@opam/menhir@opam:20220210@ff87a93b": { - "id": "@opam/menhir@opam:20220210@ff87a93b", - "name": "@opam/menhir", - "version": "opam:20220210", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/e3/e3cef220f676c4b1c16cbccb174cefe3#md5:e3cef220f676c4b1c16cbccb174cefe3", - "archive:https://gitlab.inria.fr/fpottier/menhir/-/archive/20220210/archive.tar.gz#md5:e3cef220f676c4b1c16cbccb174cefe3" - ], - "opam": { - "name": "menhir", - "version": "20220210", - "path": "esy.lock/opam/menhir.20220210" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/menhirSdk@opam:20220210@b8921e41", - "@opam/menhirLib@opam:20220210@e6562f4f", - "@opam/dune@opam:2.9.2@f48e8212", "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/menhirSdk@opam:20220210@b8921e41", - "@opam/menhirLib@opam:20220210@e6562f4f", - "@opam/dune@opam:2.9.2@f48e8212" - ] - }, - "@opam/fix@opam:20220121@17b9a1a4": { - "id": "@opam/fix@opam:20220121@17b9a1a4", - "name": "@opam/fix", - "version": "opam:20220121", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/48/48d8a5bdff23cf7fbf9288877df2b6aa#md5:48d8a5bdff23cf7fbf9288877df2b6aa", - "archive:https://gitlab.inria.fr/fpottier/fix/-/archive/20220121/archive.tar.gz#md5:48d8a5bdff23cf7fbf9288877df2b6aa" - ], - "opam": { - "name": "fix", - "version": "20220121", - "path": "esy.lock/opam/fix.20220121" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/dune@opam:2.9.2@f48e8212", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/dune@opam:2.9.2@f48e8212" - ] - }, - "@opam/easy-format@opam:1.3.2@1ea9f987": { - "id": "@opam/easy-format@opam:1.3.2@1ea9f987", - "name": "@opam/easy-format", - "version": "opam:1.3.2", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/34/3440c2b882d537ae5e9011eb06abb53f5667e651ea4bb3b460ea8230fa8c1926#sha256:3440c2b882d537ae5e9011eb06abb53f5667e651ea4bb3b460ea8230fa8c1926", - "archive:https://github.com/mjambon/easy-format/releases/download/1.3.2/easy-format-1.3.2.tbz#sha256:3440c2b882d537ae5e9011eb06abb53f5667e651ea4bb3b460ea8230fa8c1926" - ], - "opam": { - "name": "easy-format", - "version": "1.3.2", - "path": "esy.lock/opam/easy-format.1.3.2" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/dune@opam:2.9.2@f48e8212", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/dune@opam:2.9.2@f48e8212" - ] - }, - "@opam/dune@opam:2.9.2@f48e8212": { - "id": "@opam/dune@opam:2.9.2@f48e8212", - "name": "@opam/dune", - "version": "opam:2.9.2", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/b8/b8e7cc507fb978b45f6fdc839f2b3201d2c1e611e4a8e972c8c8cfd8522e7447#sha256:b8e7cc507fb978b45f6fdc839f2b3201d2c1e611e4a8e972c8c8cfd8522e7447", - "archive:https://github.com/ocaml/dune/releases/download/2.9.2/dune-site-2.9.2.tbz#sha256:b8e7cc507fb978b45f6fdc839f2b3201d2c1e611e4a8e972c8c8cfd8522e7447" - ], - "opam": { - "name": "dune", - "version": "2.9.2", - "path": "esy.lock/opam/dune.2.9.2" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/base-unix@opam:base@87d0b2eb", - "@opam/base-threads@opam:base@36803084", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/base-unix@opam:base@87d0b2eb", - "@opam/base-threads@opam:base@36803084" - ] - }, - "@opam/dot-merlin-reader@opam:4.1@84436e1c": { - "id": "@opam/dot-merlin-reader@opam:4.1@84436e1c", - "name": "@opam/dot-merlin-reader", - "version": "opam:4.1", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/14/14a36d6fb8646a5df4530420a7861722f1a4ee04753717947305e3676031e7cd#sha256:14a36d6fb8646a5df4530420a7861722f1a4ee04753717947305e3676031e7cd", - "archive:https://github.com/ocaml/merlin/releases/download/v4.1/dot-merlin-reader-v4.1.tbz#sha256:14a36d6fb8646a5df4530420a7861722f1a4ee04753717947305e3676031e7cd" - ], - "opam": { - "name": "dot-merlin-reader", - "version": "4.1", - "path": "esy.lock/opam/dot-merlin-reader.4.1" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/yojson@opam:1.7.0@69d87312", - "@opam/result@opam:1.5@1c6a6533", - "@opam/ocamlfind@opam:1.8.1@b7dc3072", - "@opam/dune@opam:2.9.2@f48e8212", "@opam/csexp@opam:1.5.1@8a8fb3a7", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/yojson@opam:1.7.0@69d87312", - "@opam/result@opam:1.5@1c6a6533", - "@opam/ocamlfind@opam:1.8.1@b7dc3072", - "@opam/dune@opam:2.9.2@f48e8212", "@opam/csexp@opam:1.5.1@8a8fb3a7" - ] - }, - "@opam/csexp@opam:1.5.1@8a8fb3a7": { - "id": "@opam/csexp@opam:1.5.1@8a8fb3a7", - "name": "@opam/csexp", - "version": "opam:1.5.1", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/d6/d605e4065fa90a58800440ef2f33a2d931398bf2c22061a8acb7df845c0aac02#sha256:d605e4065fa90a58800440ef2f33a2d931398bf2c22061a8acb7df845c0aac02", - "archive:https://github.com/ocaml-dune/csexp/releases/download/1.5.1/csexp-1.5.1.tbz#sha256:d605e4065fa90a58800440ef2f33a2d931398bf2c22061a8acb7df845c0aac02" - ], - "opam": { - "name": "csexp", - "version": "1.5.1", - "path": "esy.lock/opam/csexp.1.5.1" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/dune@opam:2.9.2@f48e8212", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/dune@opam:2.9.2@f48e8212" - ] - }, - "@opam/cppo@opam:1.6.8@7e48217d": { - "id": "@opam/cppo@opam:1.6.8@7e48217d", - "name": "@opam/cppo", - "version": "opam:1.6.8", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/fe/fed401197d86f9089e89f6cbdf1d660d#md5:fed401197d86f9089e89f6cbdf1d660d", - "archive:https://github.com/ocaml-community/cppo/archive/v1.6.8.tar.gz#md5:fed401197d86f9089e89f6cbdf1d660d" - ], - "opam": { - "name": "cppo", - "version": "1.6.8", - "path": "esy.lock/opam/cppo.1.6.8" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/dune@opam:2.9.2@f48e8212", - "@opam/base-unix@opam:base@87d0b2eb", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/dune@opam:2.9.2@f48e8212", - "@opam/base-unix@opam:base@87d0b2eb" - ] - }, - "@opam/conf-m4@opam:1@196bf219": { - "id": "@opam/conf-m4@opam:1@196bf219", - "name": "@opam/conf-m4", - "version": "opam:1", - "source": { - "type": "install", - "source": [ "no-source:" ], - "opam": { - "name": "conf-m4", - "version": "1", - "path": "esy.lock/opam/conf-m4.1" - } - }, - "overrides": [ - { - "opamoverride": - "esy.lock/overrides/opam__s__conf_m4_opam__c__1_opam_override" - } - ], - "dependencies": [ - "esy-m4@github:esy-packages/esy-m4#c7cf0ac9221be2b1f9d90e83559ca08397a629e7@d41d8cd9", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [] - }, - "@opam/biniou@opam:1.2.1@420bda02": { - "id": "@opam/biniou@opam:1.2.1@420bda02", - "name": "@opam/biniou", - "version": "opam:1.2.1", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/35/35546c68b1929a8e6d27a3b39ecd17b38303a0d47e65eb9d1480c2061ea84335#sha256:35546c68b1929a8e6d27a3b39ecd17b38303a0d47e65eb9d1480c2061ea84335", - "archive:https://github.com/mjambon/biniou/releases/download/1.2.1/biniou-1.2.1.tbz#sha256:35546c68b1929a8e6d27a3b39ecd17b38303a0d47e65eb9d1480c2061ea84335" - ], - "opam": { - "name": "biniou", - "version": "1.2.1", - "path": "esy.lock/opam/biniou.1.2.1" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/easy-format@opam:1.3.2@1ea9f987", - "@opam/dune@opam:2.9.2@f48e8212", "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/easy-format@opam:1.3.2@1ea9f987", - "@opam/dune@opam:2.9.2@f48e8212" - ] - }, - "@opam/base-unix@opam:base@87d0b2eb": { - "id": "@opam/base-unix@opam:base@87d0b2eb", - "name": "@opam/base-unix", - "version": "opam:base", - "source": { - "type": "install", - "source": [ "no-source:" ], - "opam": { - "name": "base-unix", - "version": "base", - "path": "esy.lock/opam/base-unix.base" - } - }, - "overrides": [], - "dependencies": [ "@esy-ocaml/substs@0.0.1@d41d8cd9" ], - "devDependencies": [] - }, - "@opam/base-threads@opam:base@36803084": { - "id": "@opam/base-threads@opam:base@36803084", - "name": "@opam/base-threads", - "version": "opam:base", - "source": { - "type": "install", - "source": [ "no-source:" ], - "opam": { - "name": "base-threads", - "version": "base", - "path": "esy.lock/opam/base-threads.base" - } - }, - "overrides": [], - "dependencies": [ "@esy-ocaml/substs@0.0.1@d41d8cd9" ], - "devDependencies": [] - }, - "@esy-ocaml/substs@0.0.1@d41d8cd9": { - "id": "@esy-ocaml/substs@0.0.1@d41d8cd9", - "name": "@esy-ocaml/substs", - "version": "0.0.1", - "source": { - "type": "install", - "source": [ - "archive:https://registry.npmjs.org/@esy-ocaml/substs/-/substs-0.0.1.tgz#sha1:59ebdbbaedcda123fc7ed8fb2b302b7d819e9a46" - ] - }, - "overrides": [], - "dependencies": [], - "devDependencies": [] - } - } -} \ No newline at end of file diff --git a/esy.lock/opam/base-threads.base/opam b/esy.lock/opam/base-threads.base/opam deleted file mode 100644 index 914ff50..0000000 --- a/esy.lock/opam/base-threads.base/opam +++ /dev/null @@ -1,6 +0,0 @@ -opam-version: "2.0" -maintainer: "https://github.com/ocaml/opam-repository/issues" -description: """ -Threads library distributed with the OCaml compiler -""" - diff --git a/esy.lock/opam/base-unix.base/opam b/esy.lock/opam/base-unix.base/opam deleted file mode 100644 index b973540..0000000 --- a/esy.lock/opam/base-unix.base/opam +++ /dev/null @@ -1,6 +0,0 @@ -opam-version: "2.0" -maintainer: "https://github.com/ocaml/opam-repository/issues" -description: """ -Unix library distributed with the OCaml compiler -""" - diff --git a/esy.lock/opam/biniou.1.2.1/opam b/esy.lock/opam/biniou.1.2.1/opam deleted file mode 100644 index ec7028f..0000000 --- a/esy.lock/opam/biniou.1.2.1/opam +++ /dev/null @@ -1,45 +0,0 @@ -opam-version: "2.0" -build: [ - ["dune" "subst"] {dev} - ["dune" "build" "-p" name "-j" jobs] - ["dune" "runtest" "-p" name "-j" jobs] {with-test} - ["dune" "build" "-p" name "@doc"] {with-doc} -] -maintainer: ["martin@mjambon.com"] -authors: ["Martin Jambon"] -bug-reports: "https://github.com/mjambon/biniou/issues" -homepage: "https://github.com/mjambon/biniou" -doc: "https://mjambon.github.io/biniou/" -license: "BSD-3-Clause" -dev-repo: "git+https://github.com/mjambon/biniou.git" -synopsis: - "Binary data format designed for speed, safety, ease of use and backward compatibility as protocols evolve" -description: """ - -Biniou (pronounced "be new") is a binary data format designed for speed, safety, -ease of use and backward compatibility as protocols evolve. Biniou is vastly -equivalent to JSON in terms of functionality but allows implementations several -times faster (4 times faster than yojson), with 25-35% space savings. - -Biniou data can be decoded into human-readable form without knowledge of type -definitions except for field and variant names which are represented by 31-bit -hashes. A program named bdump is provided for routine visualization of biniou -data files. - -The program atdgen is used to derive OCaml-Biniou serializers and deserializers -from type definitions. - -Biniou format specification: mjambon.github.io/atdgen-doc/biniou-format.txt""" -depends: [ - "easy-format" - "dune" {>= "1.10"} - "ocaml" {>= "4.02.3"} -] -url { - src: - "https://github.com/mjambon/biniou/releases/download/1.2.1/biniou-1.2.1.tbz" - checksum: [ - "sha256=35546c68b1929a8e6d27a3b39ecd17b38303a0d47e65eb9d1480c2061ea84335" - "sha512=82670cc77bf3e869ee26e5fbe5a5affa45a22bc8b6c4bd7e85473912780e0111baca59b34a2c14feae3543ce6e239d7fddaeab24b686a65bfe642cdb91d27ebf" - ] -} diff --git a/esy.lock/opam/conf-m4.1/opam b/esy.lock/opam/conf-m4.1/opam deleted file mode 100644 index c6feb2a..0000000 --- a/esy.lock/opam/conf-m4.1/opam +++ /dev/null @@ -1,22 +0,0 @@ -opam-version: "2.0" -maintainer: "tim@gfxmonk.net" -homepage: "http://www.gnu.org/software/m4/m4.html" -bug-reports: "https://github.com/ocaml/opam-repository/issues" -authors: "GNU Project" -license: "GPL-3.0-only" -build: [["sh" "-exc" "echo | m4"]] -depexts: [ - ["m4"] {os-family = "debian"} - ["m4"] {os-distribution = "fedora"} - ["m4"] {os-distribution = "rhel"} - ["m4"] {os-distribution = "centos"} - ["m4"] {os-distribution = "alpine"} - ["m4"] {os-distribution = "nixos"} - ["m4"] {os-family = "suse"} - ["m4"] {os-distribution = "ol"} - ["m4"] {os-distribution = "arch"} -] -synopsis: "Virtual package relying on m4" -description: - "This package can only install if the m4 binary is installed on the system." -flags: conf diff --git a/esy.lock/opam/cppo.1.6.8/opam b/esy.lock/opam/cppo.1.6.8/opam deleted file mode 100644 index c9d7f68..0000000 --- a/esy.lock/opam/cppo.1.6.8/opam +++ /dev/null @@ -1,37 +0,0 @@ -opam-version: "2.0" -maintainer: "martin@mjambon.com" -authors: "Martin Jambon" -license: "BSD-3-Clause" -homepage: "https://github.com/ocaml-community/cppo" -doc: "https://ocaml-community.github.io/cppo/" -bug-reports: "https://github.com/ocaml-community/cppo/issues" -depends: [ - "ocaml" {>= "4.02.3"} - "dune" {>= "1.0"} - "base-unix" -] -build: [ - ["dune" "subst"] {dev} - ["dune" "build" "-p" name "-j" jobs] - ["dune" "runtest" "-p" name "-j" jobs] {with-test} -] -dev-repo: "git+https://github.com/ocaml-community/cppo.git" -synopsis: "Code preprocessor like cpp for OCaml" -description: """ -Cppo is an equivalent of the C preprocessor for OCaml programs. -It allows the definition of simple macros and file inclusion. - -Cppo is: - -* more OCaml-friendly than cpp -* easy to learn without consulting a manual -* reasonably fast -* simple to install and to maintain -""" -url { - src: "https://github.com/ocaml-community/cppo/archive/v1.6.8.tar.gz" - checksum: [ - "md5=fed401197d86f9089e89f6cbdf1d660d" - "sha512=069bbe0ef09c03b0dc4b5795f909c3ef872fe99c6f1e6704a0fa97594b1570b3579226ec67fe11d696ccc349a4585055bbaf07c65eff423aa45af28abf38c858" - ] -} diff --git a/esy.lock/opam/csexp.1.5.1/opam b/esy.lock/opam/csexp.1.5.1/opam deleted file mode 100644 index 59324f9..0000000 --- a/esy.lock/opam/csexp.1.5.1/opam +++ /dev/null @@ -1,60 +0,0 @@ -opam-version: "2.0" -synopsis: "Parsing and printing of S-expressions in Canonical form" -description: """ - -This library provides minimal support for Canonical S-expressions -[1]. Canonical S-expressions are a binary encoding of S-expressions -that is super simple and well suited for communication between -programs. - -This library only provides a few helpers for simple applications. If -you need more advanced support, such as parsing from more fancy input -sources, you should consider copying the code of this library given -how simple parsing S-expressions in canonical form is. - -To avoid a dependency on a particular S-expression library, the only -module of this library is parameterised by the type of S-expressions. - -[1] https://en.wikipedia.org/wiki/Canonical_S-expressions -""" -maintainer: ["Jeremie Dimino "] -authors: [ - "Quentin Hocquet " - "Jane Street Group, LLC" - "Jeremie Dimino " -] -license: "MIT" -homepage: "https://github.com/ocaml-dune/csexp" -doc: "https://ocaml-dune.github.io/csexp/" -bug-reports: "https://github.com/ocaml-dune/csexp/issues" -depends: [ - "dune" {>= "1.11"} - "ocaml" {>= "4.03.0"} -# "ppx_expect" {with-test & >= "v0.14"} - "odoc" {with-doc} -] -dev-repo: "git+https://github.com/ocaml-dune/csexp.git" -build: [ - ["dune" "subst"] {dev} - [ - "dune" - "build" - "-p" - name - "-j" - jobs - "@install" -# Tests disabled because of a cyclic dependency with csexp, dune-configurator and ppx_expect -# "@runtest" {with-test} - "@doc" {with-doc} - ] -] -x-commit-hash: "7eeb86206819d2b1782d6cde1be9d6cf8b5fc851" -url { - src: - "https://github.com/ocaml-dune/csexp/releases/download/1.5.1/csexp-1.5.1.tbz" - checksum: [ - "sha256=d605e4065fa90a58800440ef2f33a2d931398bf2c22061a8acb7df845c0aac02" - "sha512=d785bbabaff9f6bf601399149ef0a42e5e99647b54e27f97ef1625907793dda22a45bf83e0e8a1eba2c63634c5484b54739ff0904ef556f5fc592efa38af7505" - ] -} diff --git a/esy.lock/opam/dot-merlin-reader.4.1/opam b/esy.lock/opam/dot-merlin-reader.4.1/opam deleted file mode 100644 index f860cab..0000000 --- a/esy.lock/opam/dot-merlin-reader.4.1/opam +++ /dev/null @@ -1,30 +0,0 @@ -opam-version: "2.0" -maintainer: "defree@gmail.com" -authors: "The Merlin team" -synopsis: "Reads config files for merlin" -homepage: "https://github.com/ocaml/merlin" -bug-reports: "https://github.com/ocaml/merlin/issues" -dev-repo: "git+https://github.com/ocaml/merlin.git" -build: [ - ["dune" "subst"] {dev} - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" {>= "4.06.1" } - "dune" {>= "2.7.0"} - "yojson" {>= "1.6.0"} - "ocamlfind" {>= "1.6.0"} - "csexp" {>= "1.2.3"} - "result" {>= "1.5"} -] -description: - "Helper process: reads .merlin files and gives the normalized content to merlin" -x-commit-hash: "ab02f60994c81166820791b5f465f467d752b8dc" -url { - src: - "https://github.com/ocaml/merlin/releases/download/v4.1/dot-merlin-reader-v4.1.tbz" - checksum: [ - "sha256=14a36d6fb8646a5df4530420a7861722f1a4ee04753717947305e3676031e7cd" - "sha512=65fd4ab08904c05651a7ef8971802ffaa428daa920765dbcf162e3c56e8047e4c9e4356daa45efccce7c73a586635c8f6cf8118fd3059789de9aff68579bd436" - ] -} diff --git a/esy.lock/opam/dune.2.9.2/opam b/esy.lock/opam/dune.2.9.2/opam deleted file mode 100644 index a775c56..0000000 --- a/esy.lock/opam/dune.2.9.2/opam +++ /dev/null @@ -1,59 +0,0 @@ -opam-version: "2.0" -synopsis: "Fast, portable, and opinionated build system" -description: """ - -dune is a build system that was designed to simplify the release of -Jane Street packages. It reads metadata from "dune" files following a -very simple s-expression syntax. - -dune is fast, has very low-overhead, and supports parallel builds on -all platforms. It has no system dependencies; all you need to build -dune or packages using dune is OCaml. You don't need make or bash -as long as the packages themselves don't use bash explicitly. - -dune supports multi-package development by simply dropping multiple -repositories into the same directory. - -It also supports multi-context builds, such as building against -several opam roots/switches simultaneously. This helps maintaining -packages across several versions of OCaml and gives cross-compilation -for free. -""" -maintainer: ["Jane Street Group, LLC "] -authors: ["Jane Street Group, LLC "] -license: "MIT" -homepage: "https://github.com/ocaml/dune" -doc: "https://dune.readthedocs.io/" -bug-reports: "https://github.com/ocaml/dune/issues" -conflicts: [ - "merlin" {< "3.4.0"} - "ocaml-lsp-server" {< "1.3.0"} - "dune-configurator" {< "2.3.0"} - "odoc" {< "1.3.0"} - "dune-release" {< "1.3.0"} - "js_of_ocaml-compiler" {< "3.6.0"} - "jbuilder" {= "transition"} -] -dev-repo: "git+https://github.com/ocaml/dune.git" -build: [ - # opam 2 sets OPAM_SWITCH_PREFIX, so we don't need a hardcoded path - ["ocaml" "configure.ml" "--libdir" lib] {opam-version < "2"} - ["ocaml" "bootstrap.ml" "-j" jobs] - ["./dune.exe" "build" "-p" name "--profile" "dune-bootstrap" "-j" jobs] -] -depends: [ - # Please keep the lower bound in sync with .github/workflows/workflow.yml, - # dune-project and min_ocaml_version in bootstrap.ml - ("ocaml" {>= "4.08"} | ("ocaml" {>= "4.03" & < "4.08~~"} & "ocamlfind-secondary")) - "base-unix" - "base-threads" -] -url { - src: - "https://github.com/ocaml/dune/releases/download/2.9.2/dune-site-2.9.2.tbz" - checksum: [ - "sha256=b8e7cc507fb978b45f6fdc839f2b3201d2c1e611e4a8e972c8c8cfd8522e7447" - "sha512=e45986afdce4a1a19671206bf9818463b398ee2658ca7203a00546b9b1079cde018bc435b4846c82281960fa3ca1cdca8aab670b15a1b7cac6cafac369de7b67" - ] -} -x-commit-hash: "ee27573858f9ff7fe8e0b8bb1d785be8cabd3b23" diff --git a/esy.lock/opam/easy-format.1.3.2/opam b/esy.lock/opam/easy-format.1.3.2/opam deleted file mode 100644 index f55c2c8..0000000 --- a/esy.lock/opam/easy-format.1.3.2/opam +++ /dev/null @@ -1,46 +0,0 @@ -opam-version: "2.0" -build: [ - ["dune" "subst"] {dev} - ["dune" "build" "-p" name "-j" jobs] - ["dune" "runtest" "-p" name "-j" jobs] {with-test} - ["dune" "build" "-p" name "@doc"] {with-doc} -] -maintainer: ["martin@mjambon.com" "rudi.grinberg@gmail.com"] -authors: ["Martin Jambon"] -bug-reports: "https://github.com/mjambon/easy-format/issues" -homepage: "https://github.com/mjambon/easy-format" -doc: "https://mjambon.github.io/easy-format/" -license: "BSD-3-Clause" -dev-repo: "git+https://github.com/mjambon/easy-format.git" -synopsis: - "High-level and functional interface to the Format module of the OCaml standard library" -description: """ - -This module offers a high-level and functional interface to the Format module of -the OCaml standard library. It is a pretty-printing facility, i.e. it takes as -input some code represented as a tree and formats this code into the most -visually satisfying result, breaking and indenting lines of code where -appropriate. - -Input data must be first modelled and converted into a tree using 3 kinds of -nodes: - -* atoms -* lists -* labelled nodes - -Atoms represent any text that is guaranteed to be printed as-is. Lists can model -any sequence of items such as arrays of data or lists of definitions that are -labelled with something like "int main", "let x =" or "x:".""" -depends: [ - "dune" {>= "1.10"} - "ocaml" {>= "4.02.3"} -] -url { - src: - "https://github.com/mjambon/easy-format/releases/download/1.3.2/easy-format-1.3.2.tbz" - checksum: [ - "sha256=3440c2b882d537ae5e9011eb06abb53f5667e651ea4bb3b460ea8230fa8c1926" - "sha512=e39377a2ff020ceb9ac29e8515a89d9bdbc91dfcfa871c4e3baafa56753fac2896768e5d9822a050dc1e2ade43c8967afb69391a386c0a8ecd4e1f774e236135" - ] -} diff --git a/esy.lock/opam/fix.20220121/opam b/esy.lock/opam/fix.20220121/opam deleted file mode 100644 index 877b44e..0000000 --- a/esy.lock/opam/fix.20220121/opam +++ /dev/null @@ -1,26 +0,0 @@ - -opam-version: "2.0" -maintainer: "francois.pottier@inria.fr" -authors: [ - "François Pottier " -] -homepage: "https://gitlab.inria.fr/fpottier/fix" -dev-repo: "git+https://gitlab.inria.fr/fpottier/fix.git" -bug-reports: "francois.pottier@inria.fr" -license: "LGPL-2.0-only" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" { >= "4.03" } - "dune" { >= "1.3" } -] -synopsis: "Algorithmic building blocks for memoization, recursion, and more" -url { - src: - "https://gitlab.inria.fr/fpottier/fix/-/archive/20220121/archive.tar.gz" - checksum: [ - "md5=48d8a5bdff23cf7fbf9288877df2b6aa" - "sha512=a851d8783c0c519c6e55359a5c471af433058872409c29a1a7bdfd0076813341ad2c0ebd1ce9e28bff4d4c729dfbc808c41c084fe12a42b45a2b5e391e77ccd2" - ] -} diff --git a/esy.lock/opam/menhir.20220210/opam b/esy.lock/opam/menhir.20220210/opam deleted file mode 100644 index 3cd7988..0000000 --- a/esy.lock/opam/menhir.20220210/opam +++ /dev/null @@ -1,29 +0,0 @@ - -opam-version: "2.0" -maintainer: "francois.pottier@inria.fr" -authors: [ - "François Pottier " - "Yann Régis-Gianas " -] -homepage: "http://gitlab.inria.fr/fpottier/menhir" -dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" -bug-reports: "https://gitlab.inria.fr/fpottier/menhir/-/issues" -license: "LGPL-2.0-only with OCaml-LGPL-linking-exception" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" {>= "4.03.0"} - "dune" {>= "2.8.0"} - "menhirLib" {= version} - "menhirSdk" {= version} -] -synopsis: "An LR(1) parser generator" -url { - src: - "https://gitlab.inria.fr/fpottier/menhir/-/archive/20220210/archive.tar.gz" - checksum: [ - "md5=e3cef220f676c4b1c16cbccb174cefe3" - "sha512=3063fec1d8b9fe092c8461b0689d426c7fe381a2bf3fd258dc42ceecca1719d32efbb8a18d94ada5555c38175ea352da3adbb239fdbcbcf52c3a5c85a4d9586f" - ] -} diff --git a/esy.lock/opam/menhirLib.20220210/opam b/esy.lock/opam/menhirLib.20220210/opam deleted file mode 100644 index 895b542..0000000 --- a/esy.lock/opam/menhirLib.20220210/opam +++ /dev/null @@ -1,30 +0,0 @@ - -opam-version: "2.0" -maintainer: "francois.pottier@inria.fr" -authors: [ - "François Pottier " - "Yann Régis-Gianas " -] -homepage: "http://gitlab.inria.fr/fpottier/menhir" -dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" -bug-reports: "https://gitlab.inria.fr/fpottier/menhir/-/issues" -license: "LGPL-2.0-only with OCaml-LGPL-linking-exception" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" { >= "4.03.0" } - "dune" { >= "2.8.0" } -] -conflicts: [ - "menhir" { != version } -] -synopsis: "Runtime support library for parsers generated by Menhir" -url { - src: - "https://gitlab.inria.fr/fpottier/menhir/-/archive/20220210/archive.tar.gz" - checksum: [ - "md5=e3cef220f676c4b1c16cbccb174cefe3" - "sha512=3063fec1d8b9fe092c8461b0689d426c7fe381a2bf3fd258dc42ceecca1719d32efbb8a18d94ada5555c38175ea352da3adbb239fdbcbcf52c3a5c85a4d9586f" - ] -} diff --git a/esy.lock/opam/menhirSdk.20220210/opam b/esy.lock/opam/menhirSdk.20220210/opam deleted file mode 100644 index d95c170..0000000 --- a/esy.lock/opam/menhirSdk.20220210/opam +++ /dev/null @@ -1,30 +0,0 @@ - -opam-version: "2.0" -maintainer: "francois.pottier@inria.fr" -authors: [ - "François Pottier " - "Yann Régis-Gianas " -] -homepage: "http://gitlab.inria.fr/fpottier/menhir" -dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" -bug-reports: "https://gitlab.inria.fr/fpottier/menhir/-/issues" -license: "LGPL-2.0-only with OCaml-LGPL-linking-exception" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" { >= "4.03.0" } - "dune" { >= "2.8.0" } -] -conflicts: [ - "menhir" { != version } -] -synopsis: "Compile-time library for auxiliary tools related to Menhir" -url { - src: - "https://gitlab.inria.fr/fpottier/menhir/-/archive/20220210/archive.tar.gz" - checksum: [ - "md5=e3cef220f676c4b1c16cbccb174cefe3" - "sha512=3063fec1d8b9fe092c8461b0689d426c7fe381a2bf3fd258dc42ceecca1719d32efbb8a18d94ada5555c38175ea352da3adbb239fdbcbcf52c3a5c85a4d9586f" - ] -} diff --git a/esy.lock/opam/merlin-extend.0.6/opam b/esy.lock/opam/merlin-extend.0.6/opam deleted file mode 100644 index 8394e1a..0000000 --- a/esy.lock/opam/merlin-extend.0.6/opam +++ /dev/null @@ -1,30 +0,0 @@ -opam-version: "2.0" -maintainer: "Frederic Bour " -authors: "Frederic Bour " -homepage: "https://github.com/let-def/merlin-extend" -bug-reports: "https://github.com/let-def/merlin-extend" -license: "MIT" -dev-repo: "git+https://github.com/let-def/merlin-extend.git" -build: [ - ["dune" "subst"] {dev} - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "dune" {>= "1.0"} - "cppo" {build & >= "1.1.0"} - "ocaml" {>= "4.02.3"} -] -synopsis: "A protocol to provide custom frontend to Merlin" -description: """ -This protocol allows to replace the OCaml frontend of Merlin. -It extends what used to be done with the `-pp' flag to handle a few more cases.""" -doc: "https://let-def.github.io/merlin-extend" -x-commit-hash: "640620568a5f5c7798239ecf7c707c813e3df3cf" -url { - src: - "https://github.com/let-def/merlin-extend/releases/download/v0.6/merlin-extend-v0.6.tbz" - checksum: [ - "sha256=c2f236ae97feb6ba0bc90f33beb7b7343e42f9871b66de9ba07974917e256c43" - "sha512=4c64a490e2ece04fc89aef679c1d9202175df4fe045b5fdc7a37cd7cebe861226fddd9648c1bf4f06175ecfcd2ed7686c96bd6a8cae003a5096f6134c240f857" - ] -} diff --git a/esy.lock/opam/merlin.4.4-412/opam b/esy.lock/opam/merlin.4.4-412/opam deleted file mode 100644 index e8d65e1..0000000 --- a/esy.lock/opam/merlin.4.4-412/opam +++ /dev/null @@ -1,77 +0,0 @@ -opam-version: "2.0" -maintainer: "defree@gmail.com" -authors: "The Merlin team" -homepage: "https://github.com/ocaml/merlin" -bug-reports: "https://github.com/ocaml/merlin/issues" -dev-repo: "git+https://github.com/ocaml/merlin.git" -license: "MIT" -build: [ - ["dune" "subst"] {dev} - ["dune" "build" "-p" name "-j" jobs] - ["dune" "runtest" "-p" "merlin,dot-merlin-reader" "-j" "1"] {with-test} -] -depends: [ - "ocaml" {>= "4.12" & < "4.13"} - "dune" {>= "2.9.0"} - "dot-merlin-reader" {>= "4.0"} - "yojson" {>= "1.6.0"} - "conf-jq" {with-test} - "csexp" {>= "1.2.3"} - "result" {>= "1.5"} - "menhir" {dev} - "menhirLib" {dev} - "menhirSdk" {dev} -] -synopsis: - "Editor helper, provides completion, typing and source browsing in Vim and Emacs" -description: - "Merlin is an assistant for editing OCaml code. It aims to provide the features available in modern IDEs: error reporting, auto completion, source browsing and much more." -post-messages: [ - "merlin installed. - -Quick setup for VIM -------------------- -Append this to your .vimrc to add merlin to vim's runtime-path: - let g:opamshare = substitute(system('opam var share'),'\\n$','','''') - execute \"set rtp+=\" . g:opamshare . \"/merlin/vim\" - -Also run the following line in vim to index the documentation: - :execute \"helptags \" . g:opamshare . \"/merlin/vim/doc\" - -Quick setup for EMACS -------------------- -Add opam emacs directory to your load-path by appending this to your .emacs: - (let ((opam-share (ignore-errors (car (process-lines \"opam\" \"var\" \"share\"))))) - (when (and opam-share (file-directory-p opam-share)) - ;; Register Merlin - (add-to-list 'load-path (expand-file-name \"emacs/site-lisp\" opam-share)) - (autoload 'merlin-mode \"merlin\" nil t nil) - ;; Automatically start it in OCaml buffers - (add-hook 'tuareg-mode-hook 'merlin-mode t) - (add-hook 'caml-mode-hook 'merlin-mode t) - ;; Use opam switch to lookup ocamlmerlin binary - (setq merlin-command 'opam))) - -Take a look at https://github.com/ocaml/merlin for more information - -Quick setup with opam-user-setup --------------------------------- - -Opam-user-setup support Merlin. - - $ opam user-setup install - -should take care of basic setup. -See https://github.com/OCamlPro/opam-user-setup -" - {success & !user-setup:installed} -] -url { - src: - "https://github.com/ocaml/merlin/releases/download/v4.4-412/merlin-4.4-412.tbz" - checksum: [ - "sha256=16d879496882d44ee0a5392e20b3824240e70f1585b9ae6d936ff5f3a3beb2a3" - "sha512=f51b2875b75215d0be378de86b9dca0957b5e62241ce625a46c6341c219582510d37af94dedf67e1d3db61ebacfef8fa764e4719fac16c0b4b99bb85d0b991d4" - ] -} -x-commit-hash: "5497c563b06f868d72d4f74bd8026c1c1aeb6595" diff --git a/esy.lock/opam/ocaml-compiler-libs.v0.12.4/opam b/esy.lock/opam/ocaml-compiler-libs.v0.12.4/opam deleted file mode 100644 index 14c9f75..0000000 --- a/esy.lock/opam/ocaml-compiler-libs.v0.12.4/opam +++ /dev/null @@ -1,39 +0,0 @@ -opam-version: "2.0" -synopsis: "OCaml compiler libraries repackaged" -description: """ -This packages exposes the OCaml compiler libraries repackages under -the toplevel names Ocaml_common, Ocaml_bytecomp, Ocaml_optcomp, ...""" -maintainer: ["Jane Street developers"] -authors: ["Jane Street Group, LLC"] -license: "MIT" -homepage: "https://github.com/janestreet/ocaml-compiler-libs" -bug-reports: "https://github.com/janestreet/ocaml-compiler-libs/issues" -depends: [ - "dune" {>= "2.8"} - "ocaml" {>= "4.04.1"} - "odoc" {with-doc} -] -build: [ - ["dune" "subst"] {dev} - [ - "dune" - "build" - "-p" - name - "-j" - jobs - "@install" - "@runtest" {with-test} - "@doc" {with-doc} - ] -] -dev-repo: "git+https://github.com/janestreet/ocaml-compiler-libs.git" -url { - src: - "https://github.com/janestreet/ocaml-compiler-libs/releases/download/v0.12.4/ocaml-compiler-libs-v0.12.4.tbz" - checksum: [ - "sha256=4ec9c9ec35cc45c18c7a143761154ef1d7663036a29297f80381f47981a07760" - "sha512=978dba8dfa61f98fa24fda7a9c26c2e837081f37d1685fe636dc19cfc3278a940cf01a10293504b185c406706bc1008bc54313d50f023bcdea6d5ac6c0788b35" - ] -} -x-commit-hash: "8cd12f18bb7171c2b67d661868c4271fae528d93" diff --git a/esy.lock/opam/ocamlfind.1.8.1/files/ocaml-stub b/esy.lock/opam/ocamlfind.1.8.1/files/ocaml-stub deleted file mode 100644 index e5ad990..0000000 --- a/esy.lock/opam/ocamlfind.1.8.1/files/ocaml-stub +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -BINDIR=$(dirname "$(command -v ocamlc)") -"$BINDIR/ocaml" -I "$OCAML_TOPLEVEL_PATH" "$@" diff --git a/esy.lock/opam/ocamlfind.1.8.1/files/ocamlfind.install b/esy.lock/opam/ocamlfind.1.8.1/files/ocamlfind.install deleted file mode 100644 index 295c625..0000000 --- a/esy.lock/opam/ocamlfind.1.8.1/files/ocamlfind.install +++ /dev/null @@ -1,6 +0,0 @@ -bin: [ - "src/findlib/ocamlfind" {"ocamlfind"} - "?src/findlib/ocamlfind_opt" {"ocamlfind"} - "?tools/safe_camlp4" -] -toplevel: ["src/findlib/topfind"] diff --git a/esy.lock/opam/ocamlfind.1.8.1/opam b/esy.lock/opam/ocamlfind.1.8.1/opam deleted file mode 100644 index 04cbc6c..0000000 --- a/esy.lock/opam/ocamlfind.1.8.1/opam +++ /dev/null @@ -1,64 +0,0 @@ -opam-version: "2.0" -synopsis: "A library manager for OCaml" -maintainer: "Thomas Gazagnaire " -authors: "Gerd Stolpmann " -homepage: "http://projects.camlcity.org/projects/findlib.html" -bug-reports: "https://gitlab.camlcity.org/gerd/lib-findlib/issues" -dev-repo: "git+https://gitlab.camlcity.org/gerd/lib-findlib.git" -description: """ -Findlib is a library manager for OCaml. It provides a convention how -to store libraries, and a file format ("META") to describe the -properties of libraries. There is also a tool (ocamlfind) for -interpreting the META files, so that it is very easy to use libraries -in programs and scripts. -""" -build: [ - [ - "./configure" - "-bindir" - bin - "-sitelib" - lib - "-mandir" - man - "-config" - "%{lib}%/findlib.conf" - "-no-custom" - "-no-camlp4" {!ocaml:preinstalled & ocaml:version >= "4.02.0"} - "-no-topfind" {ocaml:preinstalled} - ] - [make "all"] - [make "opt"] {ocaml:native} -] -install: [ - [ - "./configure" - "-bindir" - bin - "-sitelib" - lib - "-mandir" - man - "-config" - "%{lib}%/findlib.conf" - "-no-custom" - "-no-camlp4" {!ocaml:preinstalled & ocaml:version >= "4.02.0"} - "-no-topfind" {ocaml:preinstalled} - ] - [make "install"] - ["install" "-m" "0755" "ocaml-stub" "%{bin}%/ocaml"] {ocaml:preinstalled} -] -depends: [ - "ocaml" {>= "4.00.0" & < "4.13"} - "conf-m4" {build} -] -extra-files: [ - ["ocamlfind.install" "md5=06f2c282ab52d93aa6adeeadd82a2543"] - ["ocaml-stub" "md5=181f259c9e0bad9ef523e7d4abfdf87a"] -] -url { - src: "http://download.camlcity.org/download/findlib-1.8.1.tar.gz" - checksum: "md5=18ca650982c15536616dea0e422cbd8c" - mirrors: "http://download2.camlcity.org/download/findlib-1.8.1.tar.gz" -} -depopts: ["graphics"] diff --git a/esy.lock/opam/ppx_derivers.1.2.1/opam b/esy.lock/opam/ppx_derivers.1.2.1/opam deleted file mode 100644 index 484b265..0000000 --- a/esy.lock/opam/ppx_derivers.1.2.1/opam +++ /dev/null @@ -1,23 +0,0 @@ -opam-version: "2.0" -maintainer: "jeremie@dimino.org" -authors: ["Jérémie Dimino"] -license: "BSD-3-Clause" -homepage: "https://github.com/ocaml-ppx/ppx_derivers" -bug-reports: "https://github.com/ocaml-ppx/ppx_derivers/issues" -dev-repo: "git+https://github.com/ocaml-ppx/ppx_derivers.git" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" - "dune" -] -synopsis: "Shared [@@deriving] plugin registry" -description: """ -Ppx_derivers is a tiny package whose sole purpose is to allow -ppx_deriving and ppx_type_conv to inter-operate gracefully when linked -as part of the same ocaml-migrate-parsetree driver.""" -url { - src: "https://github.com/ocaml-ppx/ppx_derivers/archive/1.2.1.tar.gz" - checksum: "md5=5dc2bf130c1db3c731fe0fffc5648b41" -} diff --git a/esy.lock/opam/ppxlib.0.24.0/opam b/esy.lock/opam/ppxlib.0.24.0/opam deleted file mode 100644 index d4b4b0f..0000000 --- a/esy.lock/opam/ppxlib.0.24.0/opam +++ /dev/null @@ -1,62 +0,0 @@ -opam-version: "2.0" -synopsis: "Standard library for ppx rewriters" -description: """ -Ppxlib is the standard library for ppx rewriters and other programs -that manipulate the in-memory reprensation of OCaml programs, a.k.a -the "Parsetree". - -It also comes bundled with two ppx rewriters that are commonly used to -write tools that manipulate and/or generate Parsetree values; -`ppxlib.metaquot` which allows to construct Parsetree values using the -OCaml syntax directly and `ppxlib.traverse` which provides various -ways of automatically traversing values of a given type, in particular -allowing to inject a complex structured value into generated code. -""" -maintainer: ["opensource@janestreet.com"] -authors: ["Jane Street Group, LLC "] -license: "MIT" -homepage: "https://github.com/ocaml-ppx/ppxlib" -doc: "https://ocaml-ppx.github.io/ppxlib/" -bug-reports: "https://github.com/ocaml-ppx/ppxlib/issues" -depends: [ - "dune" {>= "2.7"} - "ocaml" {>= "4.04.1" & < "4.15"} - "ocaml-compiler-libs" {>= "v0.11.0"} - "ppx_derivers" {>= "1.0"} - "sexplib0" {>= "v0.12"} - "stdlib-shims" - "ocamlfind" {with-test} - "re" {with-test & >= "1.9.0"} - "cinaps" {with-test & >= "v0.12.1"} - "base" {with-test} - "stdio" {with-test} - "odoc" {with-doc} -] -conflicts: [ - "ocaml-migrate-parsetree" {< "2.0.0"} - "base-effects" -] -build: [ - ["dune" "subst"] {dev} - [ - "dune" - "build" - "-p" - name - "-j" - jobs - "@install" - "@runtest" {with-test} - "@doc" {with-doc} - ] -] -dev-repo: "git+https://github.com/ocaml-ppx/ppxlib.git" -url { - src: - "https://github.com/ocaml-ppx/ppxlib/releases/download/0.24.0/ppxlib-0.24.0.tbz" - checksum: [ - "sha256=7766027c2ecd0f5b3b460e9212a70709c6744278113eb91f317c56c41e7a90c8" - "sha512=726e48899c43f8bee1935618827e68b2953753a62868e424a2dadf2e156cc60794abacea658686a8a160eccde0f75b95b98daacf2b9242b4f86a92798d47b597" - ] -} -x-commit-hash: "3d858b04613833fec7e2b5f5be25d45bfd354649" diff --git a/esy.lock/opam/reason.3.7.0/opam b/esy.lock/opam/reason.3.7.0/opam deleted file mode 100644 index 8c77ab7..0000000 --- a/esy.lock/opam/reason.3.7.0/opam +++ /dev/null @@ -1,31 +0,0 @@ -opam-version: "2.0" -maintainer: "Jordan Walke " -authors: [ "Jordan Walke " ] -license: "MIT" -homepage: "https://github.com/facebook/reason" -doc: "http://reasonml.github.io/" -bug-reports: "https://github.com/facebook/reason/issues" -dev-repo: "git+https://github.com/facebook/reason.git" -tags: [ "syntax" ] -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" {>= "4.03" & < "4.13"} - "dune" {>= "1.4"} - "ocamlfind" {build} - "menhir" {>= "20180523"} - "merlin-extend" {>= "0.6"} - "ppx_derivers" {< "2.0"} - "fix" - "result" -] -synopsis: "Reason: Syntax & Toolchain for OCaml" -description: """ -Reason gives OCaml a new syntax that is remniscient of languages like -JavaScript. It's also the umbrella project for a set of tools for the OCaml & -JavaScript ecosystem.""" -url { - src: "https://registry.npmjs.org/@esy-ocaml/reason/-/reason-3.7.0.tgz" - checksum: "md5=7eb8cbbff8565b93ebfabf4eca7254d4" -} diff --git a/esy.lock/opam/result.1.5/opam b/esy.lock/opam/result.1.5/opam deleted file mode 100644 index 6b7b68d..0000000 --- a/esy.lock/opam/result.1.5/opam +++ /dev/null @@ -1,22 +0,0 @@ -opam-version: "2.0" -maintainer: "Jane Street developers" -authors: ["Jane Street Group, LLC"] -homepage: "https://github.com/janestreet/result" -dev-repo: "git+https://github.com/janestreet/result.git" -bug-reports: "https://github.com/janestreet/result/issues" -license: "BSD-3-Clause" -build: [["dune" "build" "-p" name "-j" jobs]] -depends: [ - "ocaml" - "dune" {>= "1.0"} -] -synopsis: "Compatibility Result module" -description: """ -Projects that want to use the new result type defined in OCaml >= 4.03 -while staying compatible with older version of OCaml should use the -Result module defined in this library.""" -url { - src: - "https://github.com/janestreet/result/releases/download/1.5/result-1.5.tbz" - checksum: "md5=1b82dec78849680b49ae9a8a365b831b" -} diff --git a/esy.lock/opam/sexplib0.v0.14.0/opam b/esy.lock/opam/sexplib0.v0.14.0/opam deleted file mode 100644 index a618b82..0000000 --- a/esy.lock/opam/sexplib0.v0.14.0/opam +++ /dev/null @@ -1,26 +0,0 @@ -opam-version: "2.0" -maintainer: "Jane Street developers" -authors: ["Jane Street Group, LLC"] -homepage: "https://github.com/janestreet/sexplib0" -bug-reports: "https://github.com/janestreet/sexplib0/issues" -dev-repo: "git+https://github.com/janestreet/sexplib0.git" -doc: "https://ocaml.janestreet.com/ocaml-core/latest/doc/sexplib0/index.html" -license: "MIT" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" {>= "4.04.2"} - "dune" {>= "2.0.0"} -] -synopsis: "Library containing the definition of S-expressions and some base converters" -description: " -Part of Jane Street's Core library -The Core suite of libraries is an industrial strength alternative to -OCaml's standard library that was developed by Jane Street, the -largest industrial user of OCaml. -" -url { - src: "https://ocaml.janestreet.com/ocaml-core/v0.14/files/sexplib0-v0.14.0.tar.gz" - checksum: "md5=37aff0af8f8f6f759249475684aebdc4" -} diff --git a/esy.lock/opam/stdlib-shims.0.3.0/opam b/esy.lock/opam/stdlib-shims.0.3.0/opam deleted file mode 100644 index 8c96957..0000000 --- a/esy.lock/opam/stdlib-shims.0.3.0/opam +++ /dev/null @@ -1,31 +0,0 @@ -opam-version: "2.0" -maintainer: "The stdlib-shims programmers" -authors: "The stdlib-shims programmers" -homepage: "https://github.com/ocaml/stdlib-shims" -doc: "https://ocaml.github.io/stdlib-shims/" -dev-repo: "git+https://github.com/ocaml/stdlib-shims.git" -bug-reports: "https://github.com/ocaml/stdlib-shims/issues" -tags: ["stdlib" "compatibility" "org:ocaml"] -license: ["LGPL-2.1-only WITH OCaml-LGPL-linking-exception"] -depends: [ - "dune" - "ocaml" {>= "4.02.3"} -] -build: [ "dune" "build" "-p" name "-j" jobs ] -synopsis: "Backport some of the new stdlib features to older compiler" -description: """ -Backport some of the new stdlib features to older compiler, -such as the Stdlib module. - -This allows projects that require compatibility with older compiler to -use these new features in their code. -""" -x-commit-hash: "fb6815e5d745f07fd567c11671149de6ef2e74c8" -url { - src: - "https://github.com/ocaml/stdlib-shims/releases/download/0.3.0/stdlib-shims-0.3.0.tbz" - checksum: [ - "sha256=babf72d3917b86f707885f0c5528e36c63fccb698f4b46cf2bab5c7ccdd6d84a" - "sha512=1151d7edc8923516e9a36995a3f8938d323aaade759ad349ed15d6d8501db61ffbe63277e97c4d86149cf371306ac23df0f581ec7e02611f58335126e1870980" - ] -} diff --git a/esy.lock/opam/yojson.1.7.0/opam b/esy.lock/opam/yojson.1.7.0/opam deleted file mode 100644 index f543805..0000000 --- a/esy.lock/opam/yojson.1.7.0/opam +++ /dev/null @@ -1,38 +0,0 @@ -opam-version: "2.0" -maintainer: "martin@mjambon.com" -authors: ["Martin Jambon"] -homepage: "https://github.com/ocaml-community/yojson" -bug-reports: "https://github.com/ocaml-community/yojson/issues" -dev-repo: "git+https://github.com/ocaml-community/yojson.git" -doc: "https://ocaml-community.github.io/yojson/" -build: [ - ["dune" "subst"] {dev} - ["dune" "build" "-p" name "-j" jobs] -] -run-test: [["dune" "runtest" "-p" name "-j" jobs]] -depends: [ - "ocaml" {>= "4.02.3"} - "dune" - "cppo" {build} - "easy-format" - "biniou" {>= "1.2.0"} - "alcotest" {with-test & >= "0.8.5"} -] -synopsis: - "Yojson is an optimized parsing and printing library for the JSON format" -description: """ -Yojson is an optimized parsing and printing library for the JSON format. - -It addresses a few shortcomings of json-wheel including 2x speedup, -polymorphic variants and optional syntax for tuples and variants. - -ydump is a pretty-printing command-line program provided with the -yojson package. - -The program atdgen can be used to derive OCaml-JSON serializers and -deserializers from type definitions.""" -url { - src: - "https://github.com/ocaml-community/yojson/releases/download/1.7.0/yojson-1.7.0.tbz" - checksum: "md5=b89d39ca3f8c532abe5f547ad3b8f84d" -} diff --git a/esy.lock/overrides/opam__s__conf_m4_opam__c__1_opam_override/package.json b/esy.lock/overrides/opam__s__conf_m4_opam__c__1_opam_override/package.json deleted file mode 100644 index ca6a373..0000000 --- a/esy.lock/overrides/opam__s__conf_m4_opam__c__1_opam_override/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "build": "true", - "dependencies": { - "esy-m4": "esy-packages/esy-m4#c7cf0ac9221be2b1f9d90e83559ca08397a629e7" - } -} diff --git a/esy.lock/overrides/opam__s__ocamlfind_opam__c__1.8.1_opam_override/files/findlib-1.8.1.patch b/esy.lock/overrides/opam__s__ocamlfind_opam__c__1.8.1_opam_override/files/findlib-1.8.1.patch deleted file mode 100644 index 3e3ee5a..0000000 --- a/esy.lock/overrides/opam__s__ocamlfind_opam__c__1.8.1_opam_override/files/findlib-1.8.1.patch +++ /dev/null @@ -1,471 +0,0 @@ ---- ./Makefile -+++ ./Makefile -@@ -57,16 +57,16 @@ - cat findlib.conf.in | \ - $(SH) tools/patch '@SITELIB@' '$(OCAML_SITELIB)' >findlib.conf - if ./tools/cmd_from_same_dir ocamlc; then \ -- echo 'ocamlc="ocamlc.opt"' >>findlib.conf; \ -+ echo 'ocamlc="ocamlc.opt$(EXEC_SUFFIX)"' >>findlib.conf; \ - fi - if ./tools/cmd_from_same_dir ocamlopt; then \ -- echo 'ocamlopt="ocamlopt.opt"' >>findlib.conf; \ -+ echo 'ocamlopt="ocamlopt.opt$(EXEC_SUFFIX)"' >>findlib.conf; \ - fi - if ./tools/cmd_from_same_dir ocamldep; then \ -- echo 'ocamldep="ocamldep.opt"' >>findlib.conf; \ -+ echo 'ocamldep="ocamldep.opt$(EXEC_SUFFIX)"' >>findlib.conf; \ - fi - if ./tools/cmd_from_same_dir ocamldoc; then \ -- echo 'ocamldoc="ocamldoc.opt"' >>findlib.conf; \ -+ echo 'ocamldoc="ocamldoc.opt$(EXEC_SUFFIX)"' >>findlib.conf; \ - fi - - .PHONY: install-doc ---- ./src/findlib/findlib_config.mlp -+++ ./src/findlib/findlib_config.mlp -@@ -24,3 +24,5 @@ - | "MacOS" -> "" (* don't know *) - | _ -> failwith "Unknown Sys.os_type" - ;; -+ -+let exec_suffix = "@EXEC_SUFFIX@";; ---- ./src/findlib/findlib.ml -+++ ./src/findlib/findlib.ml -@@ -28,15 +28,20 @@ - let conf_ldconf = ref "";; - let conf_ignore_dups_in = ref ([] : string list);; - --let ocamlc_default = "ocamlc";; --let ocamlopt_default = "ocamlopt";; --let ocamlcp_default = "ocamlcp";; --let ocamloptp_default = "ocamloptp";; --let ocamlmklib_default = "ocamlmklib";; --let ocamlmktop_default = "ocamlmktop";; --let ocamldep_default = "ocamldep";; --let ocamlbrowser_default = "ocamlbrowser";; --let ocamldoc_default = "ocamldoc";; -+let add_exec str = -+ match Findlib_config.exec_suffix with -+ | "" -> str -+ | a -> str ^ a ;; -+let ocamlc_default = add_exec "ocamlc";; -+let ocamlopt_default = add_exec "ocamlopt";; -+let ocamlcp_default = add_exec "ocamlcp";; -+let ocamloptp_default = add_exec "ocamloptp";; -+let ocamlmklib_default = add_exec "ocamlmklib";; -+let ocamlmktop_default = add_exec "ocamlmktop";; -+let ocamldep_default = add_exec "ocamldep";; -+let ocamlbrowser_default = add_exec "ocamlbrowser";; -+let ocamldoc_default = add_exec "ocamldoc";; -+ - - - let init_manually ---- ./src/findlib/fl_package_base.ml -+++ ./src/findlib/fl_package_base.ml -@@ -133,7 +133,15 @@ - List.find (fun def -> def.def_var = "exists_if") p.package_defs in - let files = Fl_split.in_words def.def_value in - List.exists -- (fun file -> Sys.file_exists (Filename.concat d' file)) -+ (fun file -> -+ let fln = Filename.concat d' file in -+ let e = Sys.file_exists fln in -+ (* necessary for ppx executables *) -+ if e || Sys.os_type <> "Win32" || Filename.check_suffix fln ".exe" then -+ e -+ else -+ Sys.file_exists (fln ^ ".exe") -+ ) - files - with Not_found -> true in - ---- ./src/findlib/fl_split.ml -+++ ./src/findlib/fl_split.ml -@@ -126,10 +126,17 @@ - | '/' | '\\' -> true - | _ -> false in - let norm_dir_win() = -- if l >= 1 && s.[0] = '/' then -- Buffer.add_char b '\\' else Buffer.add_char b s.[0]; -- if l >= 2 && s.[1] = '/' then -- Buffer.add_char b '\\' else Buffer.add_char b s.[1]; -+ if l >= 1 then ( -+ if s.[0] = '/' then -+ Buffer.add_char b '\\' -+ else -+ Buffer.add_char b s.[0] ; -+ if l >= 2 then -+ if s.[1] = '/' then -+ Buffer.add_char b '\\' -+ else -+ Buffer.add_char b s.[1]; -+ ); - for k = 2 to l - 1 do - let c = s.[k] in - if is_slash c then ( ---- ./src/findlib/frontend.ml -+++ ./src/findlib/frontend.ml -@@ -31,10 +31,18 @@ - else - Sys_error (arg ^ ": " ^ Unix.error_message code) - -+let is_win = Sys.os_type = "Win32" -+ -+let () = -+ match Findlib_config.system with -+ | "win32" | "win64" | "mingw" | "cygwin" | "mingw64" | "cygwin64" -> -+ (try set_binary_mode_out stdout true with _ -> ()); -+ (try set_binary_mode_out stderr true with _ -> ()); -+ | _ -> () - - let slashify s = - match Findlib_config.system with -- | "mingw" | "mingw64" | "cygwin" -> -+ | "win32" | "win64" | "mingw" | "cygwin" | "mingw64" | "cygwin64" -> - let b = Buffer.create 80 in - String.iter - (function -@@ -49,7 +57,7 @@ - - let out_path ?(prefix="") s = - match Findlib_config.system with -- | "mingw" | "mingw64" | "cygwin" -> -+ | "win32" | "win64" | "mingw" | "mingw64" | "cygwin" -> - let u = slashify s in - prefix ^ - (if String.contains u ' ' then -@@ -273,11 +281,9 @@ - - - let identify_dir d = -- match Sys.os_type with -- | "Win32" -> -- failwith "identify_dir" (* not available *) -- | _ -> -- let s = Unix.stat d in -+ if is_win then -+ failwith "identify_dir"; (* not available *) -+ let s = Unix.stat d in - (s.Unix.st_dev, s.Unix.st_ino) - ;; - -@@ -459,6 +465,96 @@ - ) - packages - -+let rewrite_cmd s = -+ if s = "" || not is_win then -+ s -+ else -+ let s = -+ let l = String.length s in -+ let b = Buffer.create l in -+ for i = 0 to pred l do -+ match s.[i] with -+ | '/' -> Buffer.add_char b '\\' -+ | x -> Buffer.add_char b x -+ done; -+ Buffer.contents b -+ in -+ if (Filename.is_implicit s && String.contains s '\\' = false) || -+ Filename.check_suffix (String.lowercase s) ".exe" then -+ s -+ else -+ let s' = s ^ ".exe" in -+ if Sys.file_exists s' then -+ s' -+ else -+ s -+ -+let rewrite_cmd s = -+ if s = "" || not is_win then s else -+ let s = -+ let l = String.length s in -+ let b = Buffer.create l in -+ for i = 0 to pred l do -+ match s.[i] with -+ | '/' -> Buffer.add_char b '\\' -+ | x -> Buffer.add_char b x -+ done; -+ Buffer.contents b -+ in -+ if (Filename.is_implicit s && String.contains s '\\' = false) || -+ Filename.check_suffix (String.lowercase s) ".exe" then -+ s -+ else -+ let s' = s ^ ".exe" in -+ if Sys.file_exists s' then -+ s' -+ else -+ s -+ -+let rewrite_pp cmd = -+ if not is_win then cmd else -+ let module T = struct exception Keep end in -+ let is_whitespace = function -+ | ' ' | '\011' | '\012' | '\n' | '\r' | '\t' -> true -+ | _ -> false in -+ (* characters that triggers special behaviour (cmd.exe, not unix shell) *) -+ let is_unsafe_char = function -+ | '(' | ')' | '%' | '!' | '^' | '<' | '>' | '&' -> true -+ | _ -> false in -+ let len = String.length cmd in -+ let buf = Buffer.create (len + 4) in -+ let buf_cmd = Buffer.create len in -+ let rec iter_ws i = -+ if i >= len then () else -+ let cur = cmd.[i] in -+ if is_whitespace cur then ( -+ Buffer.add_char buf cur; -+ iter_ws (succ i) -+ ) -+ else -+ iter_cmd i -+ and iter_cmd i = -+ if i >= len then add_buf_cmd () else -+ let cur = cmd.[i] in -+ if is_unsafe_char cur || cur = '"' || cur = '\'' then -+ raise T.Keep; -+ if is_whitespace cur then ( -+ add_buf_cmd (); -+ Buffer.add_substring buf cmd i (len - i) -+ ) -+ else ( -+ Buffer.add_char buf_cmd cur; -+ iter_cmd (succ i) -+ ) -+ and add_buf_cmd () = -+ if Buffer.length buf_cmd > 0 then -+ Buffer.add_string buf (rewrite_cmd (Buffer.contents buf_cmd)) -+ in -+ try -+ iter_ws 0; -+ Buffer.contents buf -+ with -+ | T.Keep -> cmd - - let process_pp_spec syntax_preds packages pp_opts = - (* Returns: pp_command *) -@@ -549,7 +645,7 @@ - None -> [] - | Some cmd -> - ["-pp"; -- cmd ^ " " ^ -+ (rewrite_cmd cmd) ^ " " ^ - String.concat " " (List.map Filename.quote pp_i_options) ^ " " ^ - String.concat " " (List.map Filename.quote pp_archives) ^ " " ^ - String.concat " " (List.map Filename.quote pp_opts)] -@@ -625,9 +721,11 @@ - in - try - let preprocessor = -+ rewrite_cmd ( - resolve_path - ~base ~explicit:true -- (package_property predicates pname "ppx") in -+ (package_property predicates pname "ppx") ) -+ in - ["-ppx"; String.concat " " (preprocessor :: options)] - with Not_found -> [] - ) -@@ -895,6 +993,14 @@ - switch (e.g. -L instead of -L ) - *) - -+(* We may need to remove files on which we do not have complete control. -+ On Windows, removing a read-only file fails so try to change the -+ mode of the file first. *) -+let remove_file fname = -+ try Sys.remove fname -+ with Sys_error _ when is_win -> -+ (try Unix.chmod fname 0o666 with Unix.Unix_error _ -> ()); -+ Sys.remove fname - - let ocamlc which () = - -@@ -1022,9 +1128,12 @@ - - "-intf", - Arg.String (fun s -> pass_files := !pass_files @ [ Intf(slashify s) ]); -- -+ - "-pp", -- Arg.String (fun s -> pp_specified := true; add_spec_fn "-pp" s); -+ Arg.String (fun s -> pp_specified := true; add_spec_fn "-pp" (rewrite_pp s)); -+ -+ "-ppx", -+ Arg.String (fun s -> add_spec_fn "-ppx" (rewrite_pp s)); - - "-thread", - Arg.Unit (fun _ -> threads := threads_default); -@@ -1237,7 +1346,7 @@ - with - any -> - close_out initl; -- Sys.remove initl_file_name; -+ remove_file initl_file_name; - raise any - end; - -@@ -1245,9 +1354,9 @@ - at_exit - (fun () -> - let tr f x = try f x with _ -> () in -- tr Sys.remove initl_file_name; -- tr Sys.remove (Filename.chop_extension initl_file_name ^ ".cmi"); -- tr Sys.remove (Filename.chop_extension initl_file_name ^ ".cmo"); -+ tr remove_file initl_file_name; -+ tr remove_file (Filename.chop_extension initl_file_name ^ ".cmi"); -+ tr remove_file (Filename.chop_extension initl_file_name ^ ".cmo"); - ); - - let exclude_list = [ stdlibdir; threads_dir; vmthreads_dir ] in -@@ -1493,7 +1602,9 @@ - [ "-v", Arg.Unit (fun () -> verbose := Verbose); - "-pp", Arg.String (fun s -> - pp_specified := true; -- options := !options @ ["-pp"; s]); -+ options := !options @ ["-pp"; rewrite_pp s]); -+ "-ppx", Arg.String (fun s -> -+ options := !options @ ["-ppx"; rewrite_pp s]); - ] - ) - ) -@@ -1672,7 +1783,9 @@ - Arg.String (fun s -> add_spec_fn "-I" (slashify (resolve_path s))); - - "-pp", Arg.String (fun s -> pp_specified := true; -- add_spec_fn "-pp" s); -+ add_spec_fn "-pp" (rewrite_pp s)); -+ "-ppx", Arg.String (fun s -> add_spec_fn "-ppx" (rewrite_pp s)); -+ - ] - ) - ) -@@ -1830,7 +1943,10 @@ - output_string ch_out append; - close_out ch_out; - close_in ch_in; -- Unix.utimes outpath s.Unix.st_mtime s.Unix.st_mtime; -+ (try Unix.utimes outpath s.Unix.st_mtime s.Unix.st_mtime -+ with Unix.Unix_error(e,_,_) -> -+ prerr_endline("Warning: setting utimes for " ^ outpath -+ ^ ": " ^ Unix.error_message e)); - - prerr_endline("Installed " ^ outpath); - with -@@ -1882,6 +1998,8 @@ - Unix.openfile (Filename.concat dir owner_file) [Unix.O_RDONLY] 0 in - let f = - Unix.in_channel_of_descr fd in -+ if is_win then -+ set_binary_mode_in f false; - try - let line = input_line f in - let is_my_file = (line = pkg) in -@@ -2208,7 +2326,7 @@ - let lines = read_ldconf !ldconf in - let dlldir_norm = Fl_split.norm_dir dlldir in - let dlldir_norm_lc = string_lowercase_ascii dlldir_norm in -- let ci_filesys = (Sys.os_type = "Win32") in -+ let ci_filesys = is_win in - let check_dir d = - let d' = Fl_split.norm_dir d in - (d' = dlldir_norm) || -@@ -2356,7 +2474,7 @@ - List.iter - (fun file -> - let absfile = Filename.concat dlldir file in -- Sys.remove absfile; -+ remove_file absfile; - prerr_endline ("Removed " ^ absfile) - ) - dll_files -@@ -2365,7 +2483,7 @@ - (* Remove the files from the package directory: *) - if Sys.file_exists pkgdir then begin - let files = Sys.readdir pkgdir in -- Array.iter (fun f -> Sys.remove (Filename.concat pkgdir f)) files; -+ Array.iter (fun f -> remove_file (Filename.concat pkgdir f)) files; - Unix.rmdir pkgdir; - prerr_endline ("Removed " ^ pkgdir) - end -@@ -2415,7 +2533,9 @@ - - - let print_configuration() = -+ let sl = slashify in - let dir s = -+ let s = sl s in - if Sys.file_exists s then - s - else -@@ -2453,27 +2573,27 @@ - if md = "" then "the corresponding package directories" else dir md - ); - Printf.printf "The standard library is assumed to reside in:\n %s\n" -- (Findlib.ocaml_stdlib()); -+ (sl (Findlib.ocaml_stdlib())); - Printf.printf "The ld.conf file can be found here:\n %s\n" -- (Findlib.ocaml_ldconf()); -+ (sl (Findlib.ocaml_ldconf())); - flush stdout - | Some "conf" -> -- print_endline (Findlib.config_file()) -+ print_endline (sl (Findlib.config_file())) - | Some "path" -> -- List.iter print_endline (Findlib.search_path()) -+ List.iter ( fun x -> print_endline (sl x)) (Findlib.search_path()) - | Some "destdir" -> -- print_endline (Findlib.default_location()) -+ print_endline ( sl (Findlib.default_location())) - | Some "metadir" -> -- print_endline (Findlib.meta_directory()) -+ print_endline ( sl (Findlib.meta_directory())) - | Some "metapath" -> - let mdir = Findlib.meta_directory() in - let ddir = Findlib.default_location() in -- print_endline -- (if mdir <> "" then mdir ^ "/META.%s" else ddir ^ "/%s/META") -+ print_endline ( sl -+ (if mdir <> "" then mdir ^ "/META.%s" else ddir ^ "/%s/META")) - | Some "stdlib" -> -- print_endline (Findlib.ocaml_stdlib()) -+ print_endline ( sl (Findlib.ocaml_stdlib())) - | Some "ldconf" -> -- print_endline (Findlib.ocaml_ldconf()) -+ print_endline ( sl (Findlib.ocaml_ldconf())) - | _ -> - assert false - ;; -@@ -2481,7 +2601,7 @@ - - let ocamlcall pkg cmd = - let dir = package_directory pkg in -- let path = Filename.concat dir cmd in -+ let path = rewrite_cmd (Filename.concat dir cmd) in - begin - try Unix.access path [ Unix.X_OK ] - with -@@ -2647,6 +2767,10 @@ - | Sys_error f -> - prerr_endline ("ocamlfind: " ^ f); - exit 2 -+ | Unix.Unix_error (e, fn, f) -> -+ prerr_endline ("ocamlfind: " ^ fn ^ " " ^ f -+ ^ ": " ^ Unix.error_message e); -+ exit 2 - | Findlib.No_such_package(pkg,info) -> - prerr_endline ("ocamlfind: Package `" ^ pkg ^ "' not found" ^ - (if info <> "" then " - " ^ info else "")); ---- ./src/findlib/Makefile -+++ ./src/findlib/Makefile -@@ -90,6 +90,7 @@ - cat findlib_config.mlp | \ - $(SH) $(TOP)/tools/patch '@CONFIGFILE@' '$(OCAMLFIND_CONF)' | \ - $(SH) $(TOP)/tools/patch '@STDLIB@' '$(OCAML_CORE_STDLIB)' | \ -+ $(SH) $(TOP)/tools/patch '@EXEC_SUFFIX@' '$(EXEC_SUFFIX)' | \ - sed -e 's;@AUTOLINK@;$(OCAML_AUTOLINK);g' \ - -e 's;@SYSTEM@;$(SYSTEM);g' \ - >findlib_config.ml diff --git a/esy.lock/overrides/opam__s__ocamlfind_opam__c__1.8.1_opam_override/package.json b/esy.lock/overrides/opam__s__ocamlfind_opam__c__1.8.1_opam_override/package.json deleted file mode 100644 index 9314f87..0000000 --- a/esy.lock/overrides/opam__s__ocamlfind_opam__c__1.8.1_opam_override/package.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "build": [ - [ - "bash", - "-c", - "#{os == 'windows' ? 'patch -p1 < findlib-1.8.1.patch' : 'true'}" - ], - [ - "./configure", - "-bindir", - "#{self.bin}", - "-sitelib", - "#{self.lib}", - "-mandir", - "#{self.man}", - "-config", - "#{self.lib}/findlib.conf", - "-no-custom", - "-no-topfind" - ], - [ - "make", - "all" - ], - [ - "make", - "opt" - ] - ], - "install": [ - [ - "make", - "install" - ], - [ - "install", - "-m", - "0755", - "ocaml-stub", - "#{self.bin}/ocaml" - ], - [ - "mkdir", - "-p", - "#{self.toplevel}" - ], - [ - "install", - "-m", - "0644", - "src/findlib/topfind", - "#{self.toplevel}/topfind" - ] - ], - "exportedEnv": { - "OCAML_TOPLEVEL_PATH": { - "val": "#{self.toplevel}", - "scope": "global" - } - } -} diff --git a/examples/bsconfig.json b/examples/bsconfig.json deleted file mode 100644 index a7993a3..0000000 --- a/examples/bsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "rescript-logger-examples", - "sources": [ - "src" - ], - "bs-dependencies": [ - "rescript-logger" - ], - "package-specs": { - "module": "es6", - "in-source": true - }, - "ppx-flags": [ - ["../_build/default/ppx/bin/bin.exe"] - ], - "suffix": ".bs.js" -} diff --git a/examples/package.json b/examples/package.json index 15b9273..60a9304 100644 --- a/examples/package.json +++ b/examples/package.json @@ -1,12 +1,12 @@ { - "name": "rescript-logger-examples", - "version": "0.0.0", - "private": true, - "scripts": { - "build": "rescript build" - }, - "devDependencies": { - "rescript": "10.0.1", - "rescript-logger": "*" - } + "name": "rescript-logger-examples", + "version": "0.0.0", + "private": true, + "scripts": { + "build": "rescript build" + }, + "devDependencies": { + "rescript": "11.0.1", + "rescript-logger": "*" + } } diff --git a/examples/rescript.json b/examples/rescript.json new file mode 100644 index 0000000..e9b88c6 --- /dev/null +++ b/examples/rescript.json @@ -0,0 +1,22 @@ +{ + "name": "rescript-logger-examples", + "sources": [ + { + "dir": "src", + "subdirs": true + } + ], + "bs-dependencies": [ + "rescript-logger" + ], + "package-specs": { + "module": "es6", + "in-source": true + }, + "ppx-flags": [ + [ + "../_build/default/ppx/bin/bin.exe" + ] + ], + "suffix": ".res.js" +} diff --git a/examples/src/Reason.re b/examples/src/Reason.re deleted file mode 100644 index e5b98c2..0000000 --- a/examples/src/Reason.re +++ /dev/null @@ -1,117 +0,0 @@ -let something = Some("thing"); - -[%log.trace "Trace message"]; -[%log.trace "Trace message"; ("1", 42)]; -[%log.trace "Trace message"; ("1", 42); ("2", {"x": 42})]; -[%log.trace "Trace message"; ("1", 42); ("2", {"x": 42}); ("3", something)]; -[%log.trace "Trace message"; ("1", 42); ("2", {"x": 42}); ("3", something); ("4", [1, 2, 4])]; -[%log.trace "Trace message"; ("1", 42); ("2", {"x": 42}); ("3", something); ("4", [1, 2, 4]); ("5", [|1, 2, 4|])]; -[%log.trace "Trace message"; ("1", 42); ("2", {"x": 42}); ("3", something); ("4", [1, 2, 4]); ("5", [|1, 2, 4|]); ("6", true)]; -[%log.trace "Trace message"; ("1", 42); ("2", {"x": 42}); ("3", something); ("4", [1, 2, 4]); ("5", [|1, 2, 4|]); ("6", true); ("7", `X)]; - -[%log.debug "Debug message"]; -[%log.debug "Debug message"; ("1", 42)]; -[%log.debug "Debug message"; ("1", 42); ("2", {"x": 42})]; -[%log.debug "Debug message"; ("1", 42); ("2", {"x": 42}); ("3", something)]; -[%log.debug "Debug message"; ("1", 42); ("2", {"x": 42}); ("3", something); ("4", [1, 2, 4])]; -[%log.debug "Debug message"; ("1", 42); ("2", {"x": 42}); ("3", something); ("4", [1, 2, 4]); ("5", [|1, 2, 4|])]; -[%log.debug "Debug message"; ("1", 42); ("2", {"x": 42}); ("3", something); ("4", [1, 2, 4]); ("5", [|1, 2, 4|]); ("6", true)]; -[%log.debug "Debug message"; ("1", 42); ("2", {"x": 42}); ("3", something); ("4", [1, 2, 4]); ("5", [|1, 2, 4|]); ("6", true); ("7", `X)]; - -[%log.info "Info message"]; -[%log.info "Info message"; ("1", 42)]; -[%log.info "Info message"; ("1", 42); ("2", {"x": 42})]; -[%log.info "Info message"; ("1", 42); ("2", {"x": 42}); ("3", something)]; -[%log.info "Info message"; ("1", 42); ("2", {"x": 42}); ("3", something); ("4", [1, 2, 4])]; -[%log.info "Info message"; ("1", 42); ("2", {"x": 42}); ("3", something); ("4", [1, 2, 4]); ("5", [|1, 2, 4|])]; -[%log.info "Info message"; ("1", 42); ("2", {"x": 42}); ("3", something); ("4", [1, 2, 4]); ("5", [|1, 2, 4|]); ("6", true)]; -[%log.info "Info message"; ("1", 42); ("2", {"x": 42}); ("3", something); ("4", [1, 2, 4]); ("5", [|1, 2, 4|]); ("6", true); ("7", `X)]; - -[%log.warn "Warn message"]; -[%log.warn "Warn message"; ("1", 42)]; -[%log.warn "Warn message"; ("1", 42); ("2", {"x": 42})]; -[%log.warn "Warn message"; ("1", 42); ("2", {"x": 42}); ("3", something)]; -[%log.warn "Warn message"; ("1", 42); ("2", {"x": 42}); ("3", something); ("4", [1, 2, 4])]; -[%log.warn "Warn message"; ("1", 42); ("2", {"x": 42}); ("3", something); ("4", [1, 2, 4]); ("5", [|1, 2, 4|])]; -[%log.warn "Warn message"; ("1", 42); ("2", {"x": 42}); ("3", something); ("4", [1, 2, 4]); ("5", [|1, 2, 4|]); ("6", true)]; -[%log.warn "Warn message"; ("1", 42); ("2", {"x": 42}); ("3", something); ("4", [1, 2, 4]); ("5", [|1, 2, 4|]); ("6", true); ("7", `X)]; - -[%log.error "Error message"]; -[%log.error "Error message"; ("1", 42)]; -[%log.error "Error message"; ("1", 42); ("2", {"x": 42})]; -[%log.error "Error message"; ("1", 42); ("2", {"x": 42}); ("3", something)]; -[%log.error "Error message"; ("1", 42); ("2", {"x": 42}); ("3", something); ("4", [1, 2, 4])]; -[%log.error "Error message"; ("1", 42); ("2", {"x": 42}); ("3", something); ("4", [1, 2, 4]); ("5", [|1, 2, 4|])]; -[%log.error "Error message"; ("1", 42); ("2", {"x": 42}); ("3", something); ("4", [1, 2, 4]); ("5", [|1, 2, 4|]); ("6", true)]; -[%log.error "Error message"; ("1", 42); ("2", {"x": 42}); ("3", something); ("4", [1, 2, 4]); ("5", [|1, 2, 4|]); ("6", true); ("7", `X)]; - -module Inner = { - [%log.error "Error message in module"]; - - let fn = x => { - [%log.error "Error message in module within a function"; ("X", x)]; - x; - }; -}; - -module Very = { - module Deep = { - module Module = { - [%log.info "Info message from the Very.Deep.Module"]; - }; - }; -}; - -type state; -type action = - | A - | B(string) - | C(string, string) - | D(string, string, string) - | E(string, string, string, string) - | F(string, string, string, string, string) - | G(string, string, string, string, string, string) - | H(string, string, string, string, string, string, string); -type component = {reducer: (action, state) => string}; -let make = { - reducer: (action, _state) => - [@log] - ( - switch (action) { - | A => "a" - | B(x) => - [%log.trace "Ext"; ("within", "@log")]; - x; - | C(_x1, x2) => x2 - | D(_x1, _x2, x3) => x3 - | E(_x1, _x2, _x3, x4) => x4 - | F(_x1, _x2, _x3, _x4, x5) => x5 - | G(_x1, _x2, _x3, _x4, _x5, x6) => x6 - | H(_x1, _x2, _x3, _x4, _x5, _x6, x7) => x7 - } - ), -}; - -type ns = - | A - | B(string) - | C(int); -let ns = x => - [@log "Namespace"] - ( - switch (x) { - | A => "A" - | B(x) => x - | C(_) => "C" - } - ); -let s: string = ns(B("b")); - -let noop = x => - [@log] - ( - switch (x) { - | "" => "a" - | _ => "b" - } - ); diff --git a/lib/bsconfig.json b/lib/bsconfig.json deleted file mode 100644 index 7fcfd4d..0000000 --- a/lib/bsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "rescript-logger", - "namespace": "ReScriptLogger", - "sources": [ - { - "dir": "src", - "subdirs": true - } - ], - "package-specs": { - "module": "es6", - "in-source": true - }, - "suffix": ".bs.js" -} diff --git a/lib/package.json b/lib/package.json index 9a40fc9..ee11aa5 100644 --- a/lib/package.json +++ b/lib/package.json @@ -1,12 +1,12 @@ { - "name": "rescript-logger", - "version": "0.0.0", - "private": true, - "scripts": { - "start": "rescript build -w", - "build": "rescript build" - }, - "devDependencies": { - "rescript": "10.0.1" - } + "name": "rescript-logger", + "version": "0.0.0", + "private": true, + "scripts": { + "start": "rescript build -w", + "build": "rescript build" + }, + "devDependencies": { + "rescript": "11.0.1" + } } diff --git a/lib/rescript.json b/lib/rescript.json new file mode 100644 index 0000000..739ecd1 --- /dev/null +++ b/lib/rescript.json @@ -0,0 +1,15 @@ +{ + "name": "rescript-logger", + "namespace": "ReScriptLogger", + "sources": [ + { + "dir": "src", + "subdirs": true + } + ], + "package-specs": { + "module": "es6", + "in-source": true + }, + "suffix": ".res.js" +} diff --git a/linux.patch b/linux.patch deleted file mode 100644 index 6555317..0000000 --- a/linux.patch +++ /dev/null @@ -1,10 +0,0 @@ -diff --git a/ppx/bin/dune b/ppx/bin/dune -index 45cee2c..345049d 100644 ---- a/ppx/bin/dune -+++ b/ppx/bin/dune -@@ -2,4 +2,5 @@ - (name bin) - (public_name rescript-logger-ppx) - (libraries rescript-logger-ppx.lib) -+ (flags (:standard -ccopt -static)) - ) diff --git a/nix/ocaml/flake.lock b/nix/ocaml/flake.lock deleted file mode 100644 index 15e4c30..0000000 --- a/nix/ocaml/flake.lock +++ /dev/null @@ -1,61 +0,0 @@ -{ - "nodes": { - "flake-utils": { - "inputs": { - "systems": "systems" - }, - "locked": { - "lastModified": 1694529238, - "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "nixpkgs": { - "locked": { - "lastModified": 1694959747, - "narHash": "sha256-CXQ2MuledDVlVM5dLC4pB41cFlBWxRw4tCBsFrq3cRk=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "970a59bd19eff3752ce552935687100c46e820a5", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "root": { - "inputs": { - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs" - } - }, - "systems": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - } - }, - "root": "root", - "version": 7 -} diff --git a/nix/ocaml/flake.nix b/nix/ocaml/flake.nix deleted file mode 100644 index dc609e9..0000000 --- a/nix/ocaml/flake.nix +++ /dev/null @@ -1,47 +0,0 @@ -{ - description = "OCaml 4.12 packages for ReScript PPX development"; - - inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - flake-utils.url = "github:numtide/flake-utils"; - }; - - outputs = { self, nixpkgs, flake-utils }: - flake-utils.lib.eachDefaultSystem (system: - let - overlay = (final: prev: { - ocaml-ng = prev.ocaml-ng // { - ocamlPackages_4_12 = prev.ocaml-ng.ocamlPackages_4_12 // { - ppxlib = prev.ocaml-ng.ocamlPackages_4_12.ppxlib.overrideAttrs (_: { - version = "git"; - src = pkgs.fetchFromGitHub { - owner = "zth"; - repo = "ppxlib"; - rev = "32f83395fb89693a873541298b6367449f23bc4a"; - sha256 = "sha256-8bkmeFh5Unda8n3F2MQWi81QPt2NdkwFcy4wZTJ0STo="; - }; - patches = []; - }); - }; - }; - }); - - pkgs = import nixpkgs { - inherit system; - overlays = [ overlay ]; - }; - - ocamlPackages = pkgs.ocaml-ng.ocamlPackages_4_12; - in - { - packages = { - ocaml = ocamlPackages.ocaml; - dune = ocamlPackages.dune_3; - findlib = ocamlPackages.findlib; - ppxlib = ocamlPackages.ppxlib; - merlin = ocamlPackages.merlin; - lsp = ocamlPackages.ocaml-lsp; - }; - } - ); -} diff --git a/package.json b/package.json index f63293f..b4e9adc 100644 --- a/package.json +++ b/package.json @@ -2,11 +2,11 @@ "name": "rescript-logger", "version": "3.1.0", "description": "Logging implementation for ReScript", - "author": "Alex Fedoseev ", + "author": "Alex Fedoseev ", "license": "MIT", "repository": { "type": "git", - "url": "https://github.com/MinimaHQ/rescript-logger.git" + "url": "https://github.com/shakacode/rescript-logger.git" }, "private": true, "workspaces": [ @@ -16,7 +16,7 @@ "files": [ "src", "bin", - "bsconfig.json", + "rescript.json", "postinstall.js" ], "keywords": [ diff --git a/ppx/bin/Bin.ml b/ppx/bin/Bin.ml index e0919b8..07cb7b1 100644 --- a/ppx/bin/Bin.ml +++ b/ppx/bin/Bin.ml @@ -1 +1 @@ -let _ = Ppxlib.Driver.run_as_ppx_rewriter () +Ppxlib.Driver.run_as_ppx_rewriter () diff --git a/ppx/bin/dune b/ppx/bin/dune index 45cee2c..1dfbef3 100644 --- a/ppx/bin/dune +++ b/ppx/bin/dune @@ -1,5 +1,10 @@ +(env + (static + (flags + (:standard -ccopt -static)))) + (executable + (package rescript-logger-ppx) (name bin) (public_name rescript-logger-ppx) - (libraries rescript-logger-ppx.lib) -) + (libraries rescript-logger-ppx.lib)) diff --git a/ppx/lib/Lib.ml b/ppx/lib/Lib.ml index 0c795d4..9e5626e 100644 --- a/ppx/lib/Lib.ml +++ b/ppx/lib/Lib.ml @@ -1014,24 +1014,49 @@ module LogAttr = struct | ({pexp_loc}, _) -> Location.raise_errorf ~loc: pexp_loc "Expected pattern matching" - let impl = - ( - object (_this) - inherit Ast_traverse.map_with_expansion_context as super + let impl = + ( + object (_self) + inherit Ast_traverse.map_with_expansion_context_and_errors as super - method! expression ctx expr = - let expr = super#expression ctx expr in - match expr |> Attribute.get attr with - | None -> expr - | Some namespace -> - expr |> transform ~env_level: level ~namespace ~context: ctx + method! expression ctx expr = + let expr, errors = super#expression ctx expr in + match expr |> Attribute.get attr with + | None -> (expr, errors) + | Some namespace -> + let expr = expr |> transform ~env_level:level ~namespace ~context:ctx in + (expr, errors) - method! structure str = - let str = super#structure str in - Attribute.check_all_seen (); - str - end - )#structure; + method! structure ctx str = + let str, errors = super#structure ctx str in + Attribute.check_all_seen (); + (str, errors) + end + )#structure +end + +module File_path = struct + let chop_prefix ~prefix x = + let prefix_len = String.length prefix in + let x_len = String.length x in + if x_len >= prefix_len && String.sub x 0 prefix_len = prefix then + Some (String.sub x prefix_len (x_len - prefix_len)) + else + None + + let get_default_path (loc : Location.t) = + let fname = loc.loc_start.pos_fname in + match chop_prefix ~prefix:"./" fname with + | Some fname -> fname + | None -> fname + + let get_default_path_str : structure -> string = function + | [] -> "" + | { pstr_loc = loc; _ } :: _ -> get_default_path loc + + let get_default_path_sig : signature -> string = function + | [] -> "" + | { psig_loc = loc; _ } :: _ -> get_default_path loc end let _ = @@ -1045,15 +1070,16 @@ let _ = let ctx = Expansion_context.Base.top_level ~tool_name: (Ocaml_common.Ast_mapper.tool_name ()) - ~file_path: path + ~file_path: path ~input_name: ( (* I'm not sure if it's what meant by `input_name` *) - match path |> Filename.basename |> Filename.chop_extension with + match path |> Filename.basename |> Filename.chop_extension with | x -> x | exception _ -> "" ) in - str |> LogAttr.impl ctx + let str, _ = str |> LogAttr.impl ctx in + str ) let _ = Driver.add_arg LibArg.key LibArg.spec ~doc:LibArg.doc diff --git a/ppx/lib/dune b/ppx/lib/dune index 8981a5a..0c94a58 100644 --- a/ppx/lib/dune +++ b/ppx/lib/dune @@ -4,5 +4,4 @@ (kind ppx_rewriter) (libraries ppxlib) (flags (:standard -w -30-9)) - (preprocess (pps ppxlib.metaquot)) -) + (preprocess (pps ppxlib.metaquot))) diff --git a/rescript-logger-ppx.opam b/rescript-logger-ppx.opam index e69de29..f270f4d 100644 --- a/rescript-logger-ppx.opam +++ b/rescript-logger-ppx.opam @@ -0,0 +1,21 @@ +opam-version: "2.0" +name: "rescript-logger-ppx" +version: "3.1.0" +synopsis: "Logging implementation for ReScript" +description: """ +Logging implementation for ReScript +""" +maintainer: "Alex Fedoseev " +authors: "Alex Fedoseev " +license: "MIT" +homepage: "https://github.com/shakacode/rescript-logger.git" +bug-reports: "https://github.com/shakacode/rescript-logger/issues" +dev-repo: "git+https://github.com/shakacode/rescript-logger.git" +depends: [ + "ocaml" { = "4.14.1" } + "dune" { = "3.11.1" } + "ppxlib" { = "0.30.0" } +] +build: [ + ["dune" "build" "-p" name "-j" jobs] +] diff --git a/scripts/build-linux-arm64.sh b/scripts/build-linux-arm64.sh deleted file mode 100755 index 4eb3a74..0000000 --- a/scripts/build-linux-arm64.sh +++ /dev/null @@ -1,69 +0,0 @@ -#!/bin/bash - -set -euo pipefail - -export $(cat scripts/aws.env | xargs) - -ARCH="arm64" -PLATFORM="linux" - -BIN="$LIB-$PLATFORM-$ARCH.exe" -REMOTE_BIN="~/rescript-logger/$RELEASE_DIR/$BIN" -RELEASE_BIN="$RELEASE_BIN_DIR/$BIN" - -echo "" -echo "=== Preparing $PLATFORM $ARCH binary" - -echo "Creating EC2 instance" -INSTANCE_ID=$( - aws ec2 run-instances \ - --image-id ami-0f69dd1d0d03ad669 \ - --count 1 \ - --instance-type m6g.medium \ - --key-name rescript-logger \ - --user-data file://scripts/user-data.linux-arm64.sh \ - --tag-specifications="ResourceType=instance,Tags=[{Key=rescript-logger,Value=''}]" \ - | jq -r ".Instances[0].InstanceId" -) -echo "EC2 instance $INSTANCE_ID created" - -echo "Getting public IP" -while : -do - INSTANCE_IP=$( - aws ec2 describe-instances --instance-ids $INSTANCE_ID | jq -r ".Reservations[0].Instances[0].PublicIpAddress" - ) - if [ -n "$INSTANCE_IP" ]; - then - echo "Instance is available at $INSTANCE_IP" - break; - else - sleep 5; - fi -done - -echo "Waiting for the build to complete" - -sleep 300 - -USER="ubuntu" - -while : -do - if ssh -o StrictHostKeyChecking=no -q -i scripts/aws.pem $USER@$INSTANCE_IP test -f "$REMOTE_BIN"; - then - echo "Binary is ready. Downloading." - break - else - sleep 5 - fi -done - -scp -i scripts/aws.pem $USER@$INSTANCE_IP:$REMOTE_BIN $RELEASE_BIN -echo "Downloaded." - -chmod $CHMOD $RELEASE_BIN - -echo "Terminating instance." -aws ec2 terminate-instances --instance-ids $INSTANCE_ID -echo "Instance terminated." diff --git a/scripts/build-macos-arm64.sh b/scripts/build-macos-arm64.sh deleted file mode 100755 index 25110b4..0000000 --- a/scripts/build-macos-arm64.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -set -euo pipefail - -ARCH=$(uname -m) -PLATFORM=$(uname -s | tr '[:upper:]' '[:lower:]') - -echo "" -echo "=== Preparing $PLATFORM $ARCH binary" - -SOURCE_BIN="_build/default/ppx/bin/bin.exe" -RELEASE_BIN="$RELEASE_BIN_DIR/$LIB-$PLATFORM-$ARCH.exe" - -dune build -cp $SOURCE_BIN $RELEASE_BIN -chmod $CHMOD $RELEASE_BIN diff --git a/scripts/release.sh b/scripts/release.sh deleted file mode 100755 index adfc869..0000000 --- a/scripts/release.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/bash - -set -euo pipefail - -OPAM_FILE=$(basename -- "$(find *.opam)") - -export LIB="${OPAM_FILE%.*}" -export RELEASE_DIR="_release" -export RELEASE_ZIP="$RELEASE_DIR/release.zip" -export RELEASE_BIN_DIR="$RELEASE_DIR/bin" - -echo "=== Releasing $LIB" - -if [ ! -f "$RELEASE_ZIP" ]; then - echo "$RELEASE_ZIP does not exist. Download it from Github and put in $RELEASE_DIR/ dir." - exit 1 -fi - -echo "=== Unzipping release archive" -unzip -d $RELEASE_DIR $RELEASE_ZIP -rm $RELEASE_ZIP - -echo "Release tree:" -tree -a -L 2 $RELEASE_DIR - -export CHMOD=$(stat -c %a "$RELEASE_BIN_DIR/$(ls $RELEASE_BIN_DIR | head -n 1)") - -./scripts/build-macos-arm64.sh -./scripts/build-linux-arm64.sh - -echo "Release tree:" -tree -a -L 2 $RELEASE_DIR - -echo "" -echo "=== Publishing to npm" -cd $RELEASE_DIR -rm .DS_Store >/dev/null 2>&1 || true - -echo "package.json:" -cat package.json -echo "" - -npm publish -cd .. - -echo "" -echo "=== Cleaning up" -rm -rf $RELEASE_DIR/* -tree -a -L 2 $RELEASE_DIR diff --git a/scripts/user-data.linux-arm64.sh b/scripts/user-data.linux-arm64.sh deleted file mode 100644 index 0efb0ff..0000000 --- a/scripts/user-data.linux-arm64.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash - -set -euo pipefail - -exec > >(tee /var/log/user-data.log|logger -t user-data -s 2>/dev/console) 2>&1 - -export DEBIAN_FRONTEND=noninteractive - -apt update - -sudo -u ubuntu bash -xec 'pwd; -cd ~; -curl -fsSL https://get.jetpack.io/devbox -o devbox.sh; -bash devbox.sh -f; -git clone https://github.com/shakacode/rescript-logger.git; -cd rescript-logger; -devbox shell; -devbox run build; -ARCH=arm64; -PLATFORM=linux; -OPAM_FILE=$(basename -- $(find *.opam)); -LIB="${OPAM_FILE%.*}"; -SOURCE_BIN="_build/default/ppx/bin/bin.exe"; -RELEASE_BIN="_release/$LIB-$PLATFORM-$ARCH.exe"; -mkdir -p $(dirname $RELEASE_BIN); -cp $SOURCE_BIN $RELEASE_BIN; -' diff --git a/shell.nix b/shell.nix deleted file mode 100644 index aa5f43a..0000000 --- a/shell.nix +++ /dev/null @@ -1,28 +0,0 @@ -with import {}; -with pkgs.ocaml-ng.ocamlPackages_4_12; - -let - ppxlib-rescript = ppxlib.overrideAttrs (_: { - version = "git"; - src = fetchFromGitHub { - owner = "zth"; - repo = "ppxlib"; - rev = "32f83395fb89693a873541298b6367449f23bc4a"; - sha256 = "sha256-8bkmeFh5Unda8n3F2MQWi81QPt2NdkwFcy4wZTJ0STo="; - }; - patches = []; - }); -in - -mkShell { - buildInputs = [ - ocaml - dune_2 - findlib - ppxlib-rescript - merlin - ocaml-lsp - nodejs - yarn - ]; -} diff --git a/yarn.lock b/yarn.lock index 2da7ba9..405d1f4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,7 +2,7 @@ # yarn lockfile v1 -rescript@10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/rescript/-/rescript-10.0.1.tgz#5b2da8a8bcfb994bed1eb24820bf10cfb9d8c440" - integrity sha512-XwO1GPDtoEU4H03xQE5bp0/qtSVR6YLaJRPxWKrfFgKc+LI36ODOCie7o9UJfgzQdoMYkkZyiTGZ4N9OQEaiUw== +rescript@11.0.1: + version "11.0.1" + resolved "https://registry.yarnpkg.com/rescript/-/rescript-11.0.1.tgz#c74af134dc8a16d152169b2456d0720324835f54" + integrity sha512-7T4PRp/d0+CBNnY6PYKffFqo9tGZlvnZpboF/n+8SKS+JZ6VvXJO7W538VPZXf3EYx1COGAWWvkF9e/HgSAqHg== From 90eb4310cacc9a29e3dcadc9106c8e69e737301c Mon Sep 17 00:00:00 2001 From: Alex Fedoseev Date: Wed, 28 Feb 2024 17:00:49 +0400 Subject: [PATCH 02/10] Add windows.patch --- windows.patch | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 windows.patch diff --git a/windows.patch b/windows.patch new file mode 100644 index 0000000..a0a539c --- /dev/null +++ b/windows.patch @@ -0,0 +1,15 @@ +diff --git a/rescript-logger-ppx.opam b/rescript-logger-ppx.opam +index f270f4d..1cd834e 100644 +--- a/rescript-logger-ppx.opam ++++ b/rescript-logger-ppx.opam +@@ -13,8 +13,8 @@ bug-reports: "https://github.com/shakacode/rescript-logger/issues" + dev-repo: "git+https://github.com/shakacode/rescript-logger.git" + depends: [ + "ocaml" { = "4.14.1" } +- "dune" { = "3.11.1" } +- "ppxlib" { = "0.30.0" } ++ "dune" { = "3.5.0" } ++ "ppxlib" { = "0.28.0" } + ] + build: [ + ["dune" "build" "-p" name "-j" jobs] From 184f39aa63d8bd0c4d36e4551f20888fa0555c42 Mon Sep 17 00:00:00 2001 From: Alex Fedoseev Date: Wed, 28 Feb 2024 17:11:40 +0400 Subject: [PATCH 03/10] Check release build --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 60930e2..bd99ea6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -65,7 +65,7 @@ jobs: build_macos: name: Build on ${{ matrix.os }} runs-on: ${{ matrix.os }} - if: startsWith(github.ref, 'refs/tags/v') + # if: startsWith(github.ref, 'refs/tags/v') needs: - validate strategy: @@ -127,7 +127,7 @@ jobs: build_linux: name: Build on ${{ matrix.container-os }} runs-on: ${{ matrix.host-os }} - if: startsWith(github.ref, 'refs/tags/v') + # if: startsWith(github.ref, 'refs/tags/v') needs: - validate strategy: @@ -185,7 +185,7 @@ jobs: build_windows: name: Build on ${{ matrix.os }} runs-on: ${{ matrix.os }} - if: startsWith(github.ref, 'refs/tags/v') + # if: startsWith(github.ref, 'refs/tags/v') needs: - validate strategy: @@ -266,7 +266,7 @@ jobs: - build_windows name: Prepare release runs-on: ubuntu-latest - if: startsWith(github.ref, 'refs/tags/v') + # if: startsWith(github.ref, 'refs/tags/v') steps: - name: Checkout repo From 1ea4434c24e52af9116387f1bc3ec38820bfd85c Mon Sep 17 00:00:00 2001 From: Alex Fedoseev Date: Wed, 28 Feb 2024 17:32:05 +0400 Subject: [PATCH 04/10] Get back release conditionals --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bd99ea6..60930e2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -65,7 +65,7 @@ jobs: build_macos: name: Build on ${{ matrix.os }} runs-on: ${{ matrix.os }} - # if: startsWith(github.ref, 'refs/tags/v') + if: startsWith(github.ref, 'refs/tags/v') needs: - validate strategy: @@ -127,7 +127,7 @@ jobs: build_linux: name: Build on ${{ matrix.container-os }} runs-on: ${{ matrix.host-os }} - # if: startsWith(github.ref, 'refs/tags/v') + if: startsWith(github.ref, 'refs/tags/v') needs: - validate strategy: @@ -185,7 +185,7 @@ jobs: build_windows: name: Build on ${{ matrix.os }} runs-on: ${{ matrix.os }} - # if: startsWith(github.ref, 'refs/tags/v') + if: startsWith(github.ref, 'refs/tags/v') needs: - validate strategy: @@ -266,7 +266,7 @@ jobs: - build_windows name: Prepare release runs-on: ubuntu-latest - # if: startsWith(github.ref, 'refs/tags/v') + if: startsWith(github.ref, 'refs/tags/v') steps: - name: Checkout repo From 7cca70eb99e59233a684e57e092613573cf6b99c Mon Sep 17 00:00:00 2001 From: Alex Fedoseev Date: Wed, 28 Feb 2024 17:33:13 +0400 Subject: [PATCH 05/10] Remove stale entries from gitignore --- .gitignore | 3 --- 1 file changed, 3 deletions(-) diff --git a/.gitignore b/.gitignore index ae43b47..d376524 100644 --- a/.gitignore +++ b/.gitignore @@ -8,11 +8,8 @@ node_modules/ .bsb.lock *.res.js .DS_Store -/_esy /_build /_release /lib/lib/ /examples/lib/ -/scripts/aws.env -/scripts/aws.pem rescript-logger-ppx.install From fdbc4ceb5fb81ba8870e6aaa6f30948d6e16976b Mon Sep 17 00:00:00 2001 From: Alex Fedoseev Date: Wed, 28 Feb 2024 17:40:18 +0400 Subject: [PATCH 06/10] Update HISTORY --- HISTORY.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/HISTORY.md b/HISTORY.md index c976839..addf87d 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,5 +1,7 @@ # History ## UNRELEASED +- Update to ReScript 11. +- **[BREAKING]** Remove Linux `arm64` binary. ## 3.1.0 - Add Linux `arm64` binary. From 5a88b78af20d71ee42d3a0c927ebf5681fc9b8c0 Mon Sep 17 00:00:00 2001 From: Alex Fedoseev Date: Wed, 28 Feb 2024 17:42:52 +0400 Subject: [PATCH 07/10] Add Edge logger --- HISTORY.md | 1 + README.md | 3 +- lib/src/loggers/Edge.res | 518 ++++++++++++++++++++++++++++++++++++++ lib/src/loggers/Edge.resi | 1 + 4 files changed, 522 insertions(+), 1 deletion(-) create mode 100644 lib/src/loggers/Edge.res create mode 100644 lib/src/loggers/Edge.resi diff --git a/HISTORY.md b/HISTORY.md index addf87d..52092ca 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,6 +1,7 @@ # History ## UNRELEASED - Update to ReScript 11. +- Add `Edge` logger. - **[BREAKING]** Remove Linux `arm64` binary. ## 3.1.0 diff --git a/README.md b/README.md index 2d1dcc7..d72a7c9 100644 --- a/README.md +++ b/README.md @@ -250,9 +250,10 @@ let reducer = These entries are logged on the `debug` level so none of it will appear in your production builds. ### Custom loggers -`rescript-logger` ships with 3 loggers: +`rescript-logger` ships with 4 loggers: - `ReScriptLogger.Browser` (default) - `ReScriptLogger.Node` +- `ReScriptLogger.Edge` (to use in edge environment, such as Cloudflare Workers) - `ReScriptLogger.Universal` (picks either `Browser` or `Node` logger at runtime depending on an environment, useful for apps with SSR) And you can easily plug your own. diff --git a/lib/src/loggers/Edge.res b/lib/src/loggers/Edge.res new file mode 100644 index 0000000..72146b2 --- /dev/null +++ b/lib/src/loggers/Edge.res @@ -0,0 +1,518 @@ +@val @scope("console") external log: ('a, 'b) => unit = "log" +@val @scope("console") external group: ('a, 'b, 'c) => unit = "log" +@val @scope("console") external groupCollapsed: ('a, 'b, 'c) => unit = "log" + +// Level: Trace +let traceLabel = `\u001B[48;2;99;99;99m\u001B[38;2;255;255;255m TRACE \u001B[39m\u001B[49m` + +let trace = (loc: Location.t, x: 'x) => { + traceLabel->groupCollapsed(loc->Location.format, x) +} + +let trace1 = (loc: Location.t, x: 'x, (l1, x1): (string, 'x1)) => { + traceLabel->group(loc->Location.format, x) + log(l1 ++ ":", x1) +} + +let trace2 = (loc: Location.t, x: 'x, (l1, x1): (string, 'x1), (l2, x2): (string, 'x2)) => { + traceLabel->group(loc->Location.format, x) + log(l1 ++ ":", x1) + log(l2 ++ ":", x2) +} + +let trace3 = ( + loc: Location.t, + x: 'x, + (l1, x1): (string, 'x1), + (l2, x2): (string, 'x2), + (l3, x3): (string, 'x3), +) => { + traceLabel->group(loc->Location.format, x) + log(l1 ++ ":", x1) + log(l2 ++ ":", x2) + log(l3 ++ ":", x3) +} + +let trace4 = ( + loc: Location.t, + x: 'x, + (l1, x1): (string, 'x1), + (l2, x2): (string, 'x2), + (l3, x3): (string, 'x3), + (l4, x4): (string, 'x4), +) => { + traceLabel->group(loc->Location.format, x) + log(l1 ++ ":", x1) + log(l2 ++ ":", x2) + log(l3 ++ ":", x3) + log(l4 ++ ":", x4) +} + +let trace5 = ( + loc: Location.t, + x: 'x, + (l1, x1): (string, 'x1), + (l2, x2): (string, 'x2), + (l3, x3): (string, 'x3), + (l4, x4): (string, 'x4), + (l5, x5): (string, 'x5), +) => { + traceLabel->group(loc->Location.format, x) + log(l1 ++ ":", x1) + log(l2 ++ ":", x2) + log(l3 ++ ":", x3) + log(l4 ++ ":", x4) + log(l5 ++ ":", x5) +} + +let trace6 = ( + loc: Location.t, + x: 'x, + (l1, x1): (string, 'x1), + (l2, x2): (string, 'x2), + (l3, x3): (string, 'x3), + (l4, x4): (string, 'x4), + (l5, x5): (string, 'x5), + (l6, x6): (string, 'x6), +) => { + traceLabel->group(loc->Location.format, x) + log(l1 ++ ":", x1) + log(l2 ++ ":", x2) + log(l3 ++ ":", x3) + log(l4 ++ ":", x4) + log(l5 ++ ":", x5) + log(l6 ++ ":", x6) +} + +let trace7 = ( + loc: Location.t, + x: 'x, + (l1, x1): (string, 'x1), + (l2, x2): (string, 'x2), + (l3, x3): (string, 'x3), + (l4, x4): (string, 'x4), + (l5, x5): (string, 'x5), + (l6, x6): (string, 'x6), + (l7, x7): (string, 'x7), +) => { + traceLabel->group(loc->Location.format, x) + log(l1 ++ ":", x1) + log(l2 ++ ":", x2) + log(l3 ++ ":", x3) + log(l4 ++ ":", x4) + log(l5 ++ ":", x5) + log(l6 ++ ":", x6) + log(l7 ++ ":", x7) +} + +// Level: Debug +let debugLabel = `\u001B[48;2;130;101;140m\u001B[38;2;255;255;255m DEBUG \u001B[39m\u001B[49m` + +let debug = (loc: Location.t, x: 'x) => { + debugLabel->groupCollapsed(loc->Location.format, x) +} + +let debug1 = (loc: Location.t, x: 'x, (l1, x1): (string, 'x1)) => { + debugLabel->group(loc->Location.format, x) + log(l1 ++ ":", x1) +} + +let debug2 = (loc: Location.t, x: 'x, (l1, x1): (string, 'x1), (l2, x2): (string, 'x2)) => { + debugLabel->group(loc->Location.format, x) + log(l1 ++ ":", x1) + log(l2 ++ ":", x2) +} + +let debug3 = ( + loc: Location.t, + x: 'x, + (l1, x1): (string, 'x1), + (l2, x2): (string, 'x2), + (l3, x3): (string, 'x3), +) => { + debugLabel->group(loc->Location.format, x) + log(l1 ++ ":", x1) + log(l2 ++ ":", x2) + log(l3 ++ ":", x3) +} + +let debug4 = ( + loc: Location.t, + x: 'x, + (l1, x1): (string, 'x1), + (l2, x2): (string, 'x2), + (l3, x3): (string, 'x3), + (l4, x4): (string, 'x4), +) => { + debugLabel->group(loc->Location.format, x) + log(l1 ++ ":", x1) + log(l2 ++ ":", x2) + log(l3 ++ ":", x3) + log(l4 ++ ":", x4) +} + +let debug5 = ( + loc: Location.t, + x: 'x, + (l1, x1): (string, 'x1), + (l2, x2): (string, 'x2), + (l3, x3): (string, 'x3), + (l4, x4): (string, 'x4), + (l5, x5): (string, 'x5), +) => { + debugLabel->group(loc->Location.format, x) + log(l1 ++ ":", x1) + log(l2 ++ ":", x2) + log(l3 ++ ":", x3) + log(l4 ++ ":", x4) + log(l5 ++ ":", x5) +} + +let debug6 = ( + loc: Location.t, + x: 'x, + (l1, x1): (string, 'x1), + (l2, x2): (string, 'x2), + (l3, x3): (string, 'x3), + (l4, x4): (string, 'x4), + (l5, x5): (string, 'x5), + (l6, x6): (string, 'x6), +) => { + debugLabel->group(loc->Location.format, x) + log(l1 ++ ":", x1) + log(l2 ++ ":", x2) + log(l3 ++ ":", x3) + log(l4 ++ ":", x4) + log(l5 ++ ":", x5) + log(l6 ++ ":", x6) +} + +let debug7 = ( + loc: Location.t, + x: 'x, + (l1, x1): (string, 'x1), + (l2, x2): (string, 'x2), + (l3, x3): (string, 'x3), + (l4, x4): (string, 'x4), + (l5, x5): (string, 'x5), + (l6, x6): (string, 'x6), + (l7, x7): (string, 'x7), +) => { + debugLabel->group(loc->Location.format, x) + log(l1 ++ ":", x1) + log(l2 ++ ":", x2) + log(l3 ++ ":", x3) + log(l4 ++ ":", x4) + log(l5 ++ ":", x5) + log(l6 ++ ":", x6) + log(l7 ++ ":", x7) +} + +// Level: Info +let infoLabel = `\u001B[48;2;34;153;221m\u001B[38;2;255;255;255m INFO \u001B[39m\u001B[49m` + +let info = (loc: Location.t, x: 'x) => { + infoLabel->groupCollapsed(loc->Location.format, x) +} + +let info1 = (loc: Location.t, x: 'x, (l1, x1): (string, 'x1)) => { + infoLabel->group(loc->Location.format, x) + log(l1 ++ ":", x1) +} + +let info2 = (loc: Location.t, x: 'x, (l1, x1): (string, 'x1), (l2, x2): (string, 'x2)) => { + infoLabel->group(loc->Location.format, x) + log(l1 ++ ":", x1) + log(l2 ++ ":", x2) +} + +let info3 = ( + loc: Location.t, + x: 'x, + (l1, x1): (string, 'x1), + (l2, x2): (string, 'x2), + (l3, x3): (string, 'x3), +) => { + infoLabel->group(loc->Location.format, x) + log(l1 ++ ":", x1) + log(l2 ++ ":", x2) + log(l3 ++ ":", x3) +} + +let info4 = ( + loc: Location.t, + x: 'x, + (l1, x1): (string, 'x1), + (l2, x2): (string, 'x2), + (l3, x3): (string, 'x3), + (l4, x4): (string, 'x4), +) => { + infoLabel->group(loc->Location.format, x) + log(l1 ++ ":", x1) + log(l2 ++ ":", x2) + log(l3 ++ ":", x3) + log(l4 ++ ":", x4) +} + +let info5 = ( + loc: Location.t, + x: 'x, + (l1, x1): (string, 'x1), + (l2, x2): (string, 'x2), + (l3, x3): (string, 'x3), + (l4, x4): (string, 'x4), + (l5, x5): (string, 'x5), +) => { + infoLabel->group(loc->Location.format, x) + log(l1 ++ ":", x1) + log(l2 ++ ":", x2) + log(l3 ++ ":", x3) + log(l4 ++ ":", x4) + log(l5 ++ ":", x5) +} + +let info6 = ( + loc: Location.t, + x: 'x, + (l1, x1): (string, 'x1), + (l2, x2): (string, 'x2), + (l3, x3): (string, 'x3), + (l4, x4): (string, 'x4), + (l5, x5): (string, 'x5), + (l6, x6): (string, 'x6), +) => { + infoLabel->group(loc->Location.format, x) + log(l1 ++ ":", x1) + log(l2 ++ ":", x2) + log(l3 ++ ":", x3) + log(l4 ++ ":", x4) + log(l5 ++ ":", x5) + log(l6 ++ ":", x6) +} + +let info7 = ( + loc: Location.t, + x: 'x, + (l1, x1): (string, 'x1), + (l2, x2): (string, 'x2), + (l3, x3): (string, 'x3), + (l4, x4): (string, 'x4), + (l5, x5): (string, 'x5), + (l6, x6): (string, 'x6), + (l7, x7): (string, 'x7), +) => { + infoLabel->group(loc->Location.format, x) + log(l1 ++ ":", x1) + log(l2 ++ ":", x2) + log(l3 ++ ":", x3) + log(l4 ++ ":", x4) + log(l5 ++ ":", x5) + log(l6 ++ ":", x6) + log(l7 ++ ":", x7) +} + +// Level: Warn +let warnLabel = `\u001B[48;2;252;228;115m\u001B[38;2;87;58;8m WARNING \u001B[39m\u001B[49m` + +let warn = (loc: Location.t, x: 'x) => { + warnLabel->groupCollapsed(loc->Location.format, x) +} + +let warn1 = (loc: Location.t, x: 'x, (l1, x1): (string, 'x1)) => { + warnLabel->group(loc->Location.format, x) + log(l1 ++ ":", x1) +} + +let warn2 = (loc: Location.t, x: 'x, (l1, x1): (string, 'x1), (l2, x2): (string, 'x2)) => { + warnLabel->group(loc->Location.format, x) + log(l1 ++ ":", x1) + log(l2 ++ ":", x2) +} + +let warn3 = ( + loc: Location.t, + x: 'x, + (l1, x1): (string, 'x1), + (l2, x2): (string, 'x2), + (l3, x3): (string, 'x3), +) => { + warnLabel->group(loc->Location.format, x) + log(l1 ++ ":", x1) + log(l2 ++ ":", x2) + log(l3 ++ ":", x3) +} + +let warn4 = ( + loc: Location.t, + x: 'x, + (l1, x1): (string, 'x1), + (l2, x2): (string, 'x2), + (l3, x3): (string, 'x3), + (l4, x4): (string, 'x4), +) => { + warnLabel->group(loc->Location.format, x) + log(l1 ++ ":", x1) + log(l2 ++ ":", x2) + log(l3 ++ ":", x3) + log(l4 ++ ":", x4) +} + +let warn5 = ( + loc: Location.t, + x: 'x, + (l1, x1): (string, 'x1), + (l2, x2): (string, 'x2), + (l3, x3): (string, 'x3), + (l4, x4): (string, 'x5), + (l5, x5): (string, 'x6), +) => { + warnLabel->group(loc->Location.format, x) + log(l1 ++ ":", x1) + log(l2 ++ ":", x2) + log(l3 ++ ":", x3) + log(l4 ++ ":", x4) + log(l5 ++ ":", x5) +} + +let warn6 = ( + loc: Location.t, + x: 'x, + (l1, x1): (string, 'x1), + (l2, x2): (string, 'x2), + (l3, x3): (string, 'x3), + (l4, x4): (string, 'x4), + (l5, x5): (string, 'x5), + (l6, x6): (string, 'x6), +) => { + warnLabel->group(loc->Location.format, x) + log(l1 ++ ":", x1) + log(l2 ++ ":", x2) + log(l3 ++ ":", x3) + log(l4 ++ ":", x4) + log(l5 ++ ":", x5) + log(l6 ++ ":", x6) +} + +let warn7 = ( + loc: Location.t, + x: 'x, + (l1, x1): (string, 'x1), + (l2, x2): (string, 'x2), + (l3, x3): (string, 'x3), + (l4, x4): (string, 'x4), + (l5, x5): (string, 'x5), + (l6, x6): (string, 'x6), + (l7, x7): (string, 'x7), +) => { + warnLabel->group(loc->Location.format, x) + log(l1 ++ ":", x1) + log(l2 ++ ":", x2) + log(l3 ++ ":", x3) + log(l4 ++ ":", x4) + log(l5 ++ ":", x5) + log(l6 ++ ":", x6) + log(l7 ++ ":", x7) +} + +// Level: Error +let errorLabel = `\u001B[48;2;209;26;26m\u001B[38;2;255;255;255m ERROR \u001B[39m\u001B[49m` + +let error = (loc: Location.t, x: 'x) => { + errorLabel->groupCollapsed(loc->Location.format, x) +} + +let error1 = (loc: Location.t, x: 'x, (l1, x1): (string, 'x1)) => { + errorLabel->group(loc->Location.format, x) + log(l1 ++ ":", x1) +} + +let error2 = (loc: Location.t, x: 'x, (l1, x1): (string, 'x1), (l2, x2): (string, 'x2)) => { + errorLabel->group(loc->Location.format, x) + log(l1 ++ ":", x1) + log(l2 ++ ":", x2) +} + +let error3 = ( + loc: Location.t, + x: 'x, + (l1, x1): (string, 'x1), + (l2, x2): (string, 'x2), + (l3, x3): (string, 'x3), +) => { + errorLabel->group(loc->Location.format, x) + log(l1 ++ ":", x1) + log(l2 ++ ":", x2) + log(l3 ++ ":", x3) +} + +let error4 = ( + loc: Location.t, + x: 'x, + (l1, x1): (string, 'x1), + (l2, x2): (string, 'x2), + (l3, x3): (string, 'x3), + (l4, x4): (string, 'x4), +) => { + errorLabel->group(loc->Location.format, x) + log(l1 ++ ":", x1) + log(l2 ++ ":", x2) + log(l3 ++ ":", x3) + log(l4 ++ ":", x4) +} + +let error5 = ( + loc: Location.t, + x: 'x, + (l1, x1): (string, 'x1), + (l2, x2): (string, 'x2), + (l3, x3): (string, 'x3), + (l4, x4): (string, 'x4), + (l5, x5): (string, 'x5), +) => { + errorLabel->group(loc->Location.format, x) + log(l1 ++ ":", x1) + log(l2 ++ ":", x2) + log(l3 ++ ":", x3) + log(l4 ++ ":", x4) + log(l5 ++ ":", x5) +} + +let error6 = ( + loc: Location.t, + x: 'x, + (l1, x1): (string, 'x1), + (l2, x2): (string, 'x2), + (l3, x3): (string, 'x3), + (l4, x4): (string, 'x4), + (l5, x5): (string, 'x5), + (l6, x6): (string, 'x6), +) => { + errorLabel->group(loc->Location.format, x) + log(l1 ++ ":", x1) + log(l2 ++ ":", x2) + log(l3 ++ ":", x3) + log(l4 ++ ":", x4) + log(l5 ++ ":", x5) + log(l6 ++ ":", x6) +} + +let error7 = ( + loc: Location.t, + x: 'x, + (l1, x1): (string, 'x1), + (l2, x2): (string, 'x2), + (l3, x3): (string, 'x3), + (l4, x4): (string, 'x4), + (l5, x5): (string, 'x5), + (l6, x6): (string, 'x6), + (l7, x7): (string, 'x7), +) => { + errorLabel->group(loc->Location.format, x) + log(l1 ++ ":", x1) + log(l2 ++ ":", x2) + log(l3 ++ ":", x3) + log(l4 ++ ":", x4) + log(l5 ++ ":", x5) + log(l6 ++ ":", x6) + log(l7 ++ ":", x7) +} diff --git a/lib/src/loggers/Edge.resi b/lib/src/loggers/Edge.resi new file mode 100644 index 0000000..7da66f3 --- /dev/null +++ b/lib/src/loggers/Edge.resi @@ -0,0 +1 @@ +include Interface.Logger From 80aa63badb9f91d79776a8a9a7eeb6fd519b73f3 Mon Sep 17 00:00:00 2001 From: Alex Fedoseev Date: Wed, 28 Feb 2024 17:46:54 +0400 Subject: [PATCH 08/10] Fix binary names --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 60930e2..a34830d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -304,10 +304,10 @@ jobs: - name: Move artifacts run: | mkdir -p _release/bin - mv _bin/darwin/intel/bin.exe _release/bin/re-formality-ppx-darwin-x64.exe - mv _bin/darwin/arm/bin.exe _release/bin/re-formality-ppx-darwin-arm64.exe - mv _bin/linux/bin.exe _release/bin/re-formality-ppx-linux-x64.exe - mv _bin/windows/bin.exe _release/bin/re-formality-ppx-win-x64.exe + mv _bin/darwin/intel/bin.exe _release/bin/rescript-logger-ppx-darwin-x64.exe + mv _bin/darwin/arm/bin.exe _release/bin/rescript-logger-ppx-darwin-arm64.exe + mv _bin/linux/bin.exe _release/bin/rescript-logger-ppx-linux-x64.exe + mv _bin/windows/bin.exe _release/bin/rescript-logger-ppx-win-x64.exe rm -rf _bin - name: Move lib files From 990cdc97083bc316c6405c1de8fc730155f3f85f Mon Sep 17 00:00:00 2001 From: Alex Fedoseev Date: Wed, 28 Feb 2024 18:09:10 +0400 Subject: [PATCH 09/10] Release from CI --- .github/workflows/ci.yml | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a34830d..f8e582a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -259,12 +259,12 @@ jobs: name: ${{ matrix.os }} path: _build/default/ppx/bin/bin.exe - prepare_release: + release: needs: - build_macos - build_linux - build_windows - name: Prepare release + name: Release runs-on: ubuntu-latest if: startsWith(github.ref, 'refs/tags/v') @@ -276,6 +276,7 @@ jobs: uses: actions/setup-node@v4 with: node-version: 16.x + registry-url: "https://registry.npmjs.org" - name: Download macOS x86 artifacts uses: actions/download-artifact@v4 @@ -324,3 +325,11 @@ jobs: with: name: release path: _release + + - name: Publish + if: success() + run: | + cd _release + npm publish + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} From 5a4223a677c01920cb7b421100698d0eb3b2ae9c Mon Sep 17 00:00:00 2001 From: Alex Fedoseev Date: Wed, 28 Feb 2024 18:19:01 +0400 Subject: [PATCH 10/10] v4.0.0 --- HISTORY.md | 2 ++ package.json | 2 +- rescript-logger-ppx.opam | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index 52092ca..0b42fc2 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,5 +1,7 @@ # History ## UNRELEASED + +## 4.0.0 - Update to ReScript 11. - Add `Edge` logger. - **[BREAKING]** Remove Linux `arm64` binary. diff --git a/package.json b/package.json index b4e9adc..296696e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rescript-logger", - "version": "3.1.0", + "version": "4.0.0", "description": "Logging implementation for ReScript", "author": "Alex Fedoseev ", "license": "MIT", diff --git a/rescript-logger-ppx.opam b/rescript-logger-ppx.opam index f270f4d..a2cabdb 100644 --- a/rescript-logger-ppx.opam +++ b/rescript-logger-ppx.opam @@ -1,6 +1,6 @@ opam-version: "2.0" name: "rescript-logger-ppx" -version: "3.1.0" +version: "4.0.0" synopsis: "Logging implementation for ReScript" description: """ Logging implementation for ReScript