From 1b9f2746ec1f3a9420b855d203d154a41edf2f37 Mon Sep 17 00:00:00 2001 From: Yura Lazarev Date: Tue, 23 Jun 2026 18:16:13 +0200 Subject: [PATCH 1/5] feat: publish a consumable packages.json for the new spago MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The new spago (1.x) takes a single packageSet source and dropped Dhall, so the forks-only `packages.dhall` overlay is no longer directly consumable: a `//` merge can't be expressed. Spike purescript-lua/purescript-lua#115 confirmed spago consumes a custom set via `packageSet.url`/`path`, with git package entries. Each release now also publishes `packages.json` — a RemotePackageSet of the pinned registry baseline (77.8.0) with the Lua forks overlaid as git entries. Consumers point `workspace.packageSet.url` at it and drop `extraPackages`. `src/packages.dhall` stays the single source of truth; the legacy `packages.dhall` asset is still published for Dhall / spago 0.21 consumers. - scripts/gen-package-set-json: build packages.json from src/packages.dhall onto the registry baseline (self-contained, nixpkgs dhall-json+jq+curl). - release.yml: generate + publish packages.json alongside packages.dhall; modernize to `gh release create` (drops the deprecated node12 release actions); bump checkout/install-nix/cachix to current majors. - test-set.yml: migrate the coherence check to the new spago — generate the set, then build test/ (now spago.yaml) against it via packageSet.path, so the generator is exercised on every push. - test/: spago.dhall/packages.dhall -> spago.yaml; remove the stale committed root packages.json (vestigial upstream snapshot, referenced nowhere); ignore the generated artifacts. - docs: ADR 0008 (supersedes the spago 0.21 pin in 0001); CONTRIBUTING + README updated to the new-spago packageSet.url flow. --- .github/workflows/release.yml | 40 +- .github/workflows/test-set.yml | 26 +- .gitignore | 8 + CONTRIBUTING.md | 15 +- README.md | 45 +- docs/adr/0001-overlay-flake-toolchain.md | 2 +- .../0008-new-spago-and-json-package-set.md | 62 + docs/adr/README.md | 1 + latest-compatible-sets.json | 2 +- packages.json | 6661 ----------------- scripts/gen-package-set-json | 55 + test/.gitignore | 1 + test/packages.dhall | 11 - test/spago.dhall | 30 - test/spago.yaml | 43 + test/src/Main.purs | 2 +- 16 files changed, 247 insertions(+), 6757 deletions(-) create mode 100644 .gitignore create mode 100644 docs/adr/0008-new-spago-and-json-package-set.md delete mode 100644 packages.json create mode 100755 scripts/gen-package-set-json delete mode 100644 test/packages.dhall delete mode 100644 test/spago.dhall create mode 100644 test/spago.yaml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 37d82384..0f30068d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -14,29 +14,27 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v5 - - name: Copy packages.dhall to the root + # The generator pulls dhall-json + jq + curl from nixpkgs. + - uses: cachix/install-nix-action@v31 + + # Legacy asset: the forks-only overlay for Dhall / spago 0.21 consumers + # (the `upstream-ps // upstream-lua` merge). + - name: Assemble packages.dhall run: cp ./src/packages.dhall packages.dhall - - name: Create Release - id: create_release - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: ${{ github.ref }} - release_name: ${{ github.ref }} - draft: false - prerelease: false + # Consumable asset: a full RemotePackageSet (registry baseline + Lua fork + # git overrides) for the new spago via `workspace.packageSet.url`. + - name: Generate packages.json + run: ./scripts/gen-package-set-json - - name: Upload Release Asset - id: upload-release-asset - uses: actions/upload-release-asset@v1 + - name: Create release with both assets env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./packages.dhall - asset_name: packages.dhall - asset_content_type: application/x-dhall + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + gh release create "$GITHUB_REF_NAME" \ + --repo "$GITHUB_REPOSITORY" \ + --title "$GITHUB_REF_NAME" \ + --notes "PureScript Lua package set \`$GITHUB_REF_NAME\`. \`packages.json\` is the consumable set for the new spago (\`workspace.packageSet.url\`); \`packages.dhall\` is the legacy overlay for the Dhall \`//\` merge." \ + ./packages.dhall ./packages.json diff --git a/.github/workflows/test-set.yml b/.github/workflows/test-set.yml index 852b0ae3..059ec86a 100644 --- a/.github/workflows/test-set.yml +++ b/.github/workflows/test-set.yml @@ -1,10 +1,11 @@ name: Test set -# Coherence check for the whole set. Builds a project that depends on every -# package (test/spago.dhall) against `upstream-ps // ./src/packages.dhall`, -# using a SINGLE current toolchain (purs + spago from the pslua compiler's -# dev shell). A red run means the pinned package versions do not compile -# together. +# Coherence check for the whole set. Generates the consumable package set +# (packages.json) with scripts/gen-package-set-json, then builds a project that +# depends on every Lua fork (test/spago.yaml) against it, using a SINGLE current +# toolchain (purs + spago from the pslua compiler's dev shell). A red run means +# the pinned package versions do not compile together — or the generator +# produced a set spago cannot consume. # # This deliberately does NOT enter each package's own flake: that rebuilt the # compiler revision frozen in every tag's flake.lock (cache-miss roulette on @@ -32,22 +33,25 @@ jobs: - name: Free up disk space uses: wimpysworld/nothing-but-nix@687c797a730352432950c707ab493fcc951818d7 - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - - uses: cachix/install-nix-action@v27 + - uses: cachix/install-nix-action@v31 with: extra_nix_config: | extra-substituters = https://cache.iog.io https://purescript-lua.cachix.org extra-trusted-public-keys = hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= purescript-lua.cachix.org-1:yLs4ei2HtnuPtzLekOrW3xdfm95+Etw15gwgyIGTayA= - - uses: cachix/cachix-action@v14 + - uses: cachix/cachix-action@v17 with: name: purescript-lua + - name: Generate the consumable package set (packages.json) + run: ./scripts/gen-package-set-json + - name: Build the whole set with one toolchain run: | nix develop github:purescript-lua/purescript-lua --accept-flake-config \ - -c bash -c 'cd test && spago build -u "-g corefn"' + -c bash -c 'cd test && spago build' # The README package table is generated from src/packages.dhall; guard against # hand-edits / forgotten regeneration so it cannot drift out of sync again. @@ -56,7 +60,7 @@ jobs: permissions: contents: read steps: - - uses: actions/checkout@v4 - - uses: cachix/install-nix-action@v27 + - uses: actions/checkout@v5 + - uses: cachix/install-nix-action@v31 - name: README package table is in sync with src/packages.dhall run: ./scripts/gen-readme-table.sh --check diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..8e7016fa --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +# Release artifacts assembled from src/packages.dhall at release time +# (scripts/gen-package-set-json / the release workflow). The single source of +# truth is src/packages.dhall; these are generated, never committed. +/packages.dhall +/packages.json + +# Local-only working files (drafts, notes); never pushed. +/.local/ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7f3128c0..a59ac840 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -8,10 +8,11 @@ rule lives in [`docs/adr/`](docs/adr/). ## Toolchain -Pinned through purescript-overlay ([ADR 0001](docs/adr/0001-overlay-flake-toolchain.md)): -purs 0.15.16, spago 0.21.0, Lua 5.1. Enter the dev shell with `nix develop`. Keep -`flake.lock` reasonably current with `nix flake update`; a long-stale pslua pin -breaks the build. +Pinned through purescript-overlay ([ADR 0001](docs/adr/0001-overlay-flake-toolchain.md), +[ADR 0008](docs/adr/0008-new-spago-and-json-package-set.md)): purs 0.15.16, spago +1.x (the new PureScript spago — `spago.yaml`/`spago.lock`, not `spago.dhall`), Lua +5.1. Enter the dev shell with `nix develop`. Keep `flake.lock` reasonably current +with `nix flake update`; a long-stale pslua pin breaks the build. ## Commands @@ -45,6 +46,12 @@ regenerate the README package table (`scripts/gen-readme-table.sh`) → refresh `latest-compatible-sets.json` → push a `psc-*` set tag. A tooling-only PR needs no release. +A `psc-*` tag publishes two release assets, both generated from +`src/packages.dhall` ([ADR 0008](docs/adr/0008-new-spago-and-json-package-set.md)): +`packages.json` — the consumable RemotePackageSet for the new spago +(`workspace.packageSet.url`), built by `scripts/gen-package-set-json` — and the +legacy `packages.dhall` overlay, kept for Dhall / spago 0.21 consumers. + The README package table is generated from `src/packages.dhall` (the single source of truth) — run `scripts/gen-readme-table.sh` after any version bump and commit the result. CI (`scripts/gen-readme-table.sh --check`) fails if it drifts. diff --git a/README.md b/README.md index 7e511b64..cd76eaa3 100644 --- a/README.md +++ b/README.md @@ -5,35 +5,48 @@ the PureScript-to-Lua compiler backend. It collects the core PureScript libraries as Lua forks: each fork keeps the upstream PureScript sources and replaces the JavaScript FFI with Lua that runs on Lua 5.1. -[`src/packages.dhall`](src/packages.dhall) holds only these Lua forks. It is the -*overrides* half of a set, not a whole set: the release workflow copies it -verbatim into each `psc-*` release asset. To build a project you merge it with -the standard PureScript set and let the Lua forks win over their -JavaScript-targeting upstreams. +[`src/packages.dhall`](src/packages.dhall) is the source of truth: it lists only +the Lua forks. Each `psc-*` release turns it into two assets — `packages.json`, a +complete set you consume directly with the new spago, and the legacy +`packages.dhall` overlay (see below). ## Using the set with spago -In your project's `packages.dhall`, import both the upstream PureScript set and a -released Lua set, then merge them so the Lua forks override the upstreams: +With the new spago (`spago.yaml`), point `workspace.packageSet.url` at a released +`packages.json`: + +```yaml +workspace: + packageSet: + url: https://github.com/purescript-lua/purescript-lua-package-sets/releases/download/psc-0.15.15-20260623/packages.json +``` + +That set already carries the Lua forks in place of their JavaScript-targeting +upstreams, so you just list what you need under `package.dependencies` — no +`extraPackages` block and no merge. Releases are tagged +`psc-0.15.15-[-N]`; +[`latest-compatible-sets.json`](latest-compatible-sets.json) records the most +recent one. + +### Legacy Dhall consumers (spago 0.21) + +The older `packages.dhall` overlay is still published. It is the *overrides* half +of a set, not a whole set, so in your project's `packages.dhall` you merge it with +the upstream PureScript set and let the Lua forks win: ```dhall let upstream-ps = https://github.com/purescript/package-sets/releases/download/psc-0.15.15-20240309/packages.dhall let upstream-lua = - https://github.com/purescript-lua/purescript-lua-package-sets/releases/download/psc-0.15.15-20260615/packages.dhall + https://github.com/purescript-lua/purescript-lua-package-sets/releases/download/psc-0.15.15-20260623/packages.dhall in upstream-ps // upstream-lua ``` -The right operand wins, so every package that has a Lua fork comes from this set -and everything else comes straight from the PureScript set. Pointing `upstream` -at the Lua release on its own would give you only the forks, which is why the -merge is required. - -Lua releases are tagged `psc-0.15.15-[-N]`; -[`latest-compatible-sets.json`](latest-compatible-sets.json) records the most -recent one, and `spago upgrade-set --tag ` moves between them. +The right operand wins, so every package with a Lua fork comes from this set and +everything else from the PureScript set. Pointing at the Lua release alone would +give you only the forks, which is why the merge is required. ## Packages diff --git a/docs/adr/0001-overlay-flake-toolchain.md b/docs/adr/0001-overlay-flake-toolchain.md index 6d548078..9936d55f 100644 --- a/docs/adr/0001-overlay-flake-toolchain.md +++ b/docs/adr/0001-overlay-flake-toolchain.md @@ -1,6 +1,6 @@ # 0001 — Pin the toolchain with purescript-overlay -Status: Accepted +Status: Accepted (spago pin superseded by [0008](0008-new-spago-and-json-package-set.md): spago 0.21.0 → 1.x; the purs 0.15.16 and Lua 5.1 pins stand) ## Context diff --git a/docs/adr/0008-new-spago-and-json-package-set.md b/docs/adr/0008-new-spago-and-json-package-set.md new file mode 100644 index 00000000..f53a5e87 --- /dev/null +++ b/docs/adr/0008-new-spago-and-json-package-set.md @@ -0,0 +1,62 @@ +# 0008 — Publish a consumable JSON package set for the new spago + +Status: Accepted (supersedes the spago pin in [0001](0001-overlay-flake-toolchain.md)) + +## Context + +The set was built for the legacy spago (0.21.0): a Dhall overlay +(`src/packages.dhall`) holding only the Lua forks, released as a `packages.dhall` +asset that a consumer merged with the upstream PureScript set +(`upstream-ps // upstream-lua`). The right operand won, so each fork overrode its +JavaScript-targeting upstream. ADR 0001 pinned spago 0.21.0 across the forks to +make this work. + +The PureScript toolchain has moved to the new spago (1.x), which drives +`spago.yaml` + `spago.lock` and the PureScript Registry, and dropped Dhall. pslua +itself migrated its test toolchain to it (pslua #54, #55). The new spago has no +Dhall and no set-merge operator: `workspace.packageSet` takes a *single* source — +a registry version, a URL, or a path. So the old "merge two Dhall sets" model +cannot be expressed, and a forks-only overlay is no longer directly consumable. + +A spike (pslua #115) confirmed three ways — the spago docs, the `core/src/Config.purs` +codecs (`RemotePackage = git | registry-version | legacy`), and a working PoC — +that the new spago consumes a *custom* set through `packageSet.url` / `packageSet.path`, +and that such a set may carry git-based package entries. So the set can become a +single, self-contained, consumable input again. + +## Decision + +Each release publishes a `packages.json` asset: a RemotePackageSet +(`{ compiler, version, packages }`) where the pure packages come from a pinned +upstream **registry package set** baseline (the proven-compatible 77.x set; see +the generator) and the Lua forks are overlaid as **git entries** +(`{ git, ref, dependencies }`). `src/packages.dhall` stays the single source of +truth for the forks; `scripts/gen-package-set-json` reshapes it onto the baseline. +Consumers point `workspace.packageSet.url` at the published `packages.json` and +drop `extraPackages` entirely. + +The forks and the set's own coherence check migrate to the new spago (1.x): +`spago.yaml` replaces `spago.dhall`/`packages.dhall`, and the toolchain pin moves +from `spago-bin.spago-0_21_0` to `spago-bin.spago-1_0_4`. This **supersedes the +spago 0.21.0 pin in ADR 0001**; the purs 0.15.16 and Lua 5.1 pins there stand. + +The legacy `packages.dhall` asset is still published alongside `packages.json`, +so existing Dhall / spago 0.21 consumers are not broken. + +## Consequences + +- The set is a live build input again — one URL, no `//` merge, no inlined + `extraPackages` dependency lists in every consumer. +- `packages.json` is generated, never committed: `scripts/gen-package-set-json` + builds it from `src/packages.dhall` + the pinned registry baseline. The + coherence check (`test-set.yml`) regenerates it and builds against it, so the + generator is exercised on every push. +- The published `version`/`compiler` fields are the registry baseline's + (`0.15.15` / its set version); the GitHub release tag (`psc-0.15.15-`) + identifies our revision. purs 0.15.16 against a 0.15.15-built set is the same + proven-compatible pairing pslua's `test/ps` already relies on. +- A fork tag bump flows through unchanged: bump `src/packages.dhall`, regenerate + the README table, refresh `latest-compatible-sets.json`, push a `psc-*` tag — + the release workflow now emits both assets (see [0006](0006-fork-release-by-annotated-tag.md)). +- Each fork's own build migrates to `spago.yaml` + spago 1.x (rolled out per + fork; CONTRIBUTING reflects the new toolchain). diff --git a/docs/adr/README.md b/docs/adr/README.md index 245bd693..e5c8d56d 100644 --- a/docs/adr/README.md +++ b/docs/adr/README.md @@ -35,3 +35,4 @@ The practical, do-this summary of these decisions is in the repository root - [0005](0005-agents-md-single-source.md) — AGENTS.md is the single agent instruction file - [0006](0006-fork-release-by-annotated-tag.md) — Release forks with annotated tags - [0007](0007-formatting-treefmt-purs-tidy-lua-format.md) — Formatting via treefmt: purs-tidy and lua-format +- [0008](0008-new-spago-and-json-package-set.md) — Publish a consumable JSON package set for the new spago diff --git a/latest-compatible-sets.json b/latest-compatible-sets.json index 9aeef1da..c8c960e8 100644 --- a/latest-compatible-sets.json +++ b/latest-compatible-sets.json @@ -1,3 +1,3 @@ { - "0.15.15": "psc-0.15.15-20260615-2" + "0.15.15": "psc-0.15.15-20260623" } diff --git a/packages.json b/packages.json deleted file mode 100644 index 5c166dc5..00000000 --- a/packages.json +++ /dev/null @@ -1,6661 +0,0 @@ -{ - "abc-parser": { - "dependencies": [ - "arrays", - "bifunctors", - "control", - "either", - "enums", - "foldable-traversable", - "identity", - "integers", - "lists", - "maybe", - "midi", - "newtype", - "ordered-collections", - "partial", - "prelude", - "profunctor-lenses", - "rationals", - "string-parsers", - "strings", - "stringutils", - "transformers", - "tuples", - "unfoldable" - ], - "repo": "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/newlandsvalley/purescript-abc-parser.git", - "version": "v2.0.0" - }, - "ace": { - "dependencies": [ - "arrays", - "effect", - "foreign", - "nullable", - "prelude", - "web-html", - "web-uievents" - ], - "repo": "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/purescript-contrib/purescript-ace.git", - "version": "v9.1.0" - }, - "aff": { - "dependencies": [ - "arrays", - "bifunctors", - "control", - "datetime", - "effect", - "either", - "exceptions", - "foldable-traversable", - "functions", - "maybe", - "newtype", - "parallel", - "prelude", - "refs", - "tailrec", - "transformers", - "unsafe-coerce" - ], - "repo": "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/purescript-contrib/purescript-aff.git", - "version": "v7.1.0" - }, - "aff-bus": { - "dependencies": [ - "aff", - "avar", - "console", - "effect", - "either", - "exceptions", - "foldable-traversable", - "lists", - "prelude", - "refs", - "tailrec", - "transformers", - "tuples" - ], - "repo": "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/purescript-contrib/purescript-aff-bus.git", - "version": "v6.0.0" - }, - "aff-coroutines": { - "dependencies": [ - "aff", - "avar", - "coroutines", - "effect" - ], - "repo": "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/purescript-contrib/purescript-aff-coroutines.git", - "version": "v9.0.0" - }, - "aff-promise": { - "dependencies": [ - "aff", - "foreign" - ], - "repo": "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/nwolverson/purescript-aff-promise.git", - "version": "v4.0.0" - }, - "aff-retry": { - "dependencies": [ - "aff", - "arrays", - "datetime", - "effect", - "either", - "exceptions", - "integers", - "maybe", - "newtype", - "numbers", - "prelude", - "random", - "transformers" - ], - "repo": "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/Unisay/purescript-aff-retry.git", - "version": "v2.0.0" - }, - "affjax": { - "dependencies": [ - "aff", - "argonaut-core", - "arraybuffer-types", - "foreign", - "form-urlencoded", - "http-methods", - "integers", - "media-types", - "nullable", - "refs", - "unsafe-coerce", - "web-xhr" - ], - "repo": "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/purescript-contrib/purescript-affjax.git", - "version": "v13.0.0" - }, - "affjax-node": { - "dependencies": [ - "aff", - "affjax", - "either", - "maybe", - "prelude" - ], - "repo": "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/purescript-contrib/purescript-affjax-node.git", - "version": "v1.0.0" - }, - "affjax-web": { - "dependencies": [ - "aff", - "affjax", - "either", - "maybe", - "prelude" - ], - "repo": "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/purescript-contrib/purescript-affjax-web.git", - "version": "v1.0.0" - }, - "ansi": { - "dependencies": [ - "foldable-traversable", - "lists", - "strings" - ], - "repo": "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/hdgarrood/purescript-ansi.git", - "version": "v7.0.0" - }, - "argonaut": { - "dependencies": [ - "argonaut-codecs", - "argonaut-core", - "argonaut-traversals" - ], - "repo": "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/purescript-contrib/purescript-argonaut.git", - "version": "v9.0.0" - }, - "argonaut-aeson-generic": { - "dependencies": [ - "argonaut-codecs", - "argonaut-core", - "argonaut-generic", - "arrays", - "bifunctors", - "control", - "effect", - "either", - "foldable-traversable", - "foreign-object", - "maybe", - "partial", - "prelude", - "psci-support", - "record", - "test-unit", - "typelevel-prelude" - ], - "repo": "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/coot/purescript-argonaut-aeson-generic.git", - "version": "v0.4.1" - }, - "argonaut-codecs": { - "dependencies": [ - "argonaut-core", - "arrays", - "effect", - "foreign-object", - "identity", - "integers", - "maybe", - "nonempty", - "ordered-collections", - "prelude", - "record" - ], - "repo": "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/purescript-contrib/purescript-argonaut-codecs.git", - "version": "v9.1.0" - }, - "argonaut-core": { - "dependencies": [ - "arrays", - "control", - "either", - "foreign-object", - "functions", - "gen", - "maybe", - "nonempty", - "prelude", - "strings", - "tailrec" - ], - "repo": "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/purescript-contrib/purescript-argonaut-core.git", - "version": "v7.0.0" - }, - "argonaut-generic": { - "dependencies": [ - "argonaut-codecs", - "argonaut-core", - "prelude", - "record" - ], - "repo": "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/purescript-contrib/purescript-argonaut-generic.git", - "version": "v8.0.0" - }, - "argonaut-traversals": { - "dependencies": [ - "argonaut-codecs", - "argonaut-core", - "profunctor-lenses" - ], - "repo": "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/purescript-contrib/purescript-argonaut-traversals.git", - "version": "v10.0.0" - }, - "argparse-basic": { - "dependencies": [ - "arrays", - "bifunctors", - "control", - "either", - "foldable-traversable", - "integers", - "lists", - "maybe", - "newtype", - "numbers", - "prelude", - "record", - "strings", - "tuples", - "unfoldable" - ], - "repo": "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/natefaubion/purescript-argparse-basic.git", - "version": "v2.0.0" - }, - "array-builder": { - "dependencies": [ - "arrays", - "assert", - "console", - "effect", - "foldable-traversable", - "maybe", - "nullable", - "prelude" - ], - "repo": "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/paluh/purescript-array-builder.git", - "version": "v0.1.2" - }, - "array-search": { - "dependencies": [ - "arrays", - "effect", - "foldable-traversable", - "maybe", - "prelude" - ], - "repo": "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/joellefkowitz/array-search.git", - "version": "v0.5.6" - }, - "arraybuffer": { - "dependencies": [ - "arraybuffer-types", - "arrays", - "effect", - "float32", - "functions", - "gen", - "maybe", - "nullable", - "prelude", - "tailrec", - "uint", - "unfoldable" - ], - "repo": "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/purescript-contrib/purescript-arraybuffer.git", - "version": "v13.2.0" - }, - "arraybuffer-builder": { - "dependencies": [ - "arraybuffer", - "arraybuffer-types", - "effect", - "float32", - "identity", - "lists", - "maybe", - "newtype", - "prelude", - "tailrec", - "transformers", - "uint" - ], - "repo": "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/jamesdbrock/purescript-arraybuffer-builder.git", - "version": "v3.1.0" - }, - "arraybuffer-types": { - "dependencies": [], - "repo": "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/purescript-contrib/purescript-arraybuffer-types.git", - "version": "v3.0.2" - }, - "arrays": { - "dependencies": [ - "bifunctors", - "control", - "foldable-traversable", - "maybe", - "nonempty", - "partial", - "prelude", - "safe-coerce", - "st", - "tailrec", - "tuples", - "unfoldable", - "unsafe-coerce" - ], - "repo": "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/purescript/purescript-arrays.git", - "version": "v7.2.0" - }, - "arrays-zipper": { - "dependencies": [ - "arrays", - "control", - "quickcheck" - ], - "repo": "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/JordanMartinez/purescript-arrays-zipper.git", - "version": "v2.0.1" - }, - "ask": { - "dependencies": [ - "unsafe-coerce" - ], - "repo": "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/Mateiadrielrafael/purescript-ask.git", - "version": "v1.0.0" - }, - "assert": { - "dependencies": [ - "console", - "effect", - "prelude" - ], - "repo": "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/purescript/purescript-assert.git", - "version": "v6.0.0" - }, - "assert-multiple": { - "dependencies": [ - "effect", - "foldable-traversable", - "prelude" - ], - "repo": "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/joellefkowitz/assert-multiple.git", - "version": "v0.3.4" - }, - "avar": { - "dependencies": [ - "aff", - "effect", - "either", - "exceptions", - "functions", - "maybe" - ], - "repo": "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/purescript-contrib/purescript-avar.git", - "version": "v5.0.0" - }, - "b64": { - "dependencies": [ - "arraybuffer-types", - "either", - "encoding", - "enums", - "exceptions", - "functions", - "partial", - "prelude", - "strings" - ], - "repo": "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/menelaos/purescript-b64.git", - "version": "v0.0.8" - }, - "barbies": { - "dependencies": [ - "console", - "const", - "control", - "effect", - "prelude", - "psci-support", - "transformers" - ], - "repo": "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/the-dr-lazy/purescript-barbies.git", - "version": "v1.0.1" - }, - "barlow-lens": { - "dependencies": [ - "either", - "foldable-traversable", - "lists", - "maybe", - "newtype", - "prelude", - "profunctor", - "profunctor-lenses", - "tuples", - "typelevel-prelude" - ], - "repo": "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/sigma-andex/purescript-barlow-lens.git", - "version": "v0.9.0" - }, - "basic-auth": { - "dependencies": [ - "arrays", - "crypto", - "effect", - "foreign-object", - "maybe", - "node-buffer", - "node-http", - "prelude", - "strings", - "transformers" - ], - "repo": "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/oreshinya/purescript-basic-auth.git", - "version": "v3.0.1" - }, - "bifunctors": { - "dependencies": [ - "const", - "either", - "newtype", - "prelude", - "tuples" - ], - "repo": "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/purescript/purescript-bifunctors.git", - "version": "v6.0.0" - }, - "bigints": { - "dependencies": [ - "arrays", - "assert", - "console", - "effect", - "foldable-traversable", - "integers", - "maybe", - "numbers", - "partial", - "prelude", - "quickcheck", - "quickcheck-laws", - "strings" - ], - "repo": "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/purescript-contrib/purescript-bigints.git", - "version": "v7.0.1" - }, - "bolson": { - "dependencies": [ - "control", - "effect", - "fast-vect", - "filterable", - "foldable-traversable", - "foreign-object", - "hyrule", - "maybe", - "prelude", - "record", - "st", - "tuples", - "unsafe-coerce" - ], - "repo": "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/mikesol/purescript-bolson.git", - "version": "v0.3.2" - }, - "bower-json": { - "dependencies": [ - "argonaut-codecs", - "arrays", - "either", - "foldable-traversable", - "foreign-object", - "maybe", - "newtype", - "prelude", - "tuples" - ], - "repo": "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/klntsky/purescript-bower-json.git", - "version": "v3.0.0" - }, - "bucketchain": { - "dependencies": [ - "aff", - "console", - "control", - "effect", - "either", - "exceptions", - "foreign-object", - "maybe", - "node-buffer", - "node-http", - "node-streams", - "nullable", - "options", - "prelude", - "refs", - "tailrec", - "transformers", - "unsafe-coerce" - ], - "repo": "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/Bucketchain/purescript-bucketchain.git", - "version": "v1.0.1" - }, - "bucketchain-basic-auth": { - "dependencies": [ - "basic-auth", - "bucketchain", - "effect", - "maybe", - "prelude", - "transformers" - ], - "repo": "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/Bucketchain/purescript-bucketchain-basic-auth.git", - "version": "v1.0.1" - }, - "bucketchain-conditional": { - "dependencies": [ - "bucketchain", - "effect", - "foreign-object", - "js-date", - "maybe", - "prelude", - "strings", - "transformers" - ], - "repo": "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/Bucketchain/purescript-bucketchain-conditional.git", - "version": "v1.0.1" - }, - "bucketchain-cors": { - "dependencies": [ - "arrays", - "bucketchain", - "bucketchain-header-utils", - "datetime", - "effect", - "either", - "foldable-traversable", - "foreign-object", - "http-methods", - "integers", - "maybe", - "prelude", - "strings", - "transformers" - ], - "repo": "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/Bucketchain/purescript-bucketchain-cors.git", - "version": "v1.0.1" - }, - "bucketchain-csrf": { - "dependencies": [ - "bucketchain", - "control", - "effect", - "foldable-traversable", - "foreign-object", - "maybe", - "prelude", - "transformers" - ], - "repo": "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/Bucketchain/purescript-bucketchain-csrf.git", - "version": "v1.0.1" - }, - "bucketchain-header-utils": { - "dependencies": [ - "arrays", - "bucketchain", - "datetime", - "effect", - "foreign-object", - "integers", - "maybe", - "prelude", - "strings", - "tuples" - ], - "repo": "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/Bucketchain/purescript-bucketchain-header-utils.git", - "version": "v1.0.1" - }, - "bucketchain-health": { - "dependencies": [ - "bucketchain", - "effect", - "maybe", - "prelude", - "transformers" - ], - "repo": "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/Bucketchain/purescript-bucketchain-health.git", - "version": "v1.0.1" - }, - "bucketchain-history-api-fallback": { - "dependencies": [ - "bucketchain", - "effect", - "foreign-object", - "maybe", - "node-url", - "nullable", - "prelude", - "strings", - "transformers" - ], - "repo": "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/Bucketchain/purescript-bucketchain-history-api-fallback.git", - "version": "v1.0.1" - }, - "bucketchain-logger": { - "dependencies": [ - "arrays", - "bucketchain", - "effect", - "either", - "exceptions", - "foldable-traversable", - "foreign-object", - "js-date", - "maybe", - "node-buffer", - "node-http", - "node-process", - "node-streams", - "prelude", - "strings", - "transformers", - "tuples" - ], - "repo": "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/Bucketchain/purescript-bucketchain-logger.git", - "version": "v1.0.1" - }, - "bucketchain-secure": { - "dependencies": [ - "arrays", - "bucketchain", - "datetime", - "effect", - "integers", - "maybe", - "newtype", - "prelude", - "strings", - "transformers" - ], - "repo": "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/Bucketchain/purescript-bucketchain-secure.git", - "version": "v1.0.1" - }, - "bucketchain-simple-api": { - "dependencies": [ - "aff", - "arrays", - "bucketchain", - "control", - "effect", - "either", - "exceptions", - "foreign", - "foreign-object", - "freet", - "lists", - "maybe", - "media-types", - "nullable", - "parallel", - "prelude", - "simple-json", - "strings", - "tailrec", - "transformers", - "typelevel-prelude", - "unsafe-coerce" - ], - "repo": "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/Bucketchain/purescript-bucketchain-simple-api.git", - "version": "v5.0.1" - }, - "bucketchain-sslify": { - "dependencies": [ - "bucketchain", - "effect", - "foreign-object", - "maybe", - "node-http", - "prelude", - "transformers" - ], - "repo": "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/Bucketchain/purescript-bucketchain-sslify.git", - "version": "v1.0.1" - }, - "bucketchain-static": { - "dependencies": [ - "aff", - "bucketchain", - "datetime", - "effect", - "either", - "exceptions", - "foldable-traversable", - "foreign-object", - "integers", - "js-date", - "maybe", - "newtype", - "node-fs", - "node-fs-aff", - "node-path", - "node-url", - "nullable", - "prelude", - "strings", - "transformers", - "tuples" - ], - "repo": "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/Bucketchain/purescript-bucketchain-static.git", - "version": "v1.0.1" - }, - "call-by-name": { - "dependencies": [ - "control", - "either", - "lazy", - "maybe", - "unsafe-coerce" - ], - "repo": "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/natefaubion/purescript-call-by-name.git", - "version": "v4.0.1" - }, - "canvas": { - "dependencies": [ - "arraybuffer-types", - "effect", - "exceptions", - "functions", - "maybe" - ], - "repo": "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/purescript-web/purescript-canvas.git", - "version": "v6.0.0" - }, - "canvas-action": { - "dependencies": [ - "aff", - "arrays", - "canvas", - "colors", - "effect", - "either", - "exceptions", - "foldable-traversable", - "maybe", - "numbers", - "polymorphic-vectors", - "prelude", - "refs", - "run", - "transformers", - "tuples", - "type-equality", - "typelevel-prelude", - "unsafe-coerce", - "web-dom", - "web-events", - "web-html" - ], - "repo": "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/artemisSystem/purescript-canvas-action.git", - "version": "v9.0.0" - }, - "cartesian": { - "dependencies": [ - "console", - "effect", - "integers", - "psci-support" - ], - "repo": "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/Ebmtranceboy/purescript-cartesian.git", - "version": "v1.0.6" - }, - "catenable-lists": { - "dependencies": [ - "control", - "foldable-traversable", - "lists", - "maybe", - "prelude", - "tuples", - "unfoldable" - ], - "repo": "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/purescript/purescript-catenable-lists.git", - "version": "v7.0.0" - }, - "channel": { - "dependencies": [ - "aff", - "assert", - "avar", - "console", - "contravariant", - "control", - "effect", - "either", - "exceptions", - "foldable-traversable", - "lazy", - "maybe", - "newtype", - "prelude", - "tailrec", - "transformers", - "tuples" - ], - "repo": "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/ConnorDillon/purescript-channel.git", - "version": "v1.0.0" - }, - "checked-exceptions": { - "dependencies": [ - "prelude", - "transformers", - "variant" - ], - "repo": "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/natefaubion/purescript-checked-exceptions.git", - "version": "v3.1.1" - }, - "classless": { - "dependencies": [ - "heterogeneous", - "prelude", - "record" - ], - "repo": "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/thought2/purescript-classless.git", - "version": "v0.1.1" - }, - "classless-arbitrary": { - "dependencies": [ - "arrays", - "classless", - "either", - "enums", - "gen", - "heterogeneous", - "identity", - "lists", - "maybe", - "partial", - "prelude", - "quickcheck", - "record", - "st", - "strings", - "tuples", - "type-equality", - "typelevel-prelude", - "unsafe-coerce" - ], - "repo": "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/thought2/purescript-classless-arbitrary.git", - "version": "v0.1.1" - }, - "classless-decode-json": { - "dependencies": [ - "argonaut", - "classless", - "console", - "effect", - "either", - "maybe", - "prelude", - "record", - "tuples" - ], - "repo": "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/thought2/purescript-classless-decode-json.git", - "version": "v0.1.1" - }, - "classless-encode-json": { - "dependencies": [ - "argonaut", - "argonaut-codecs", - "argonaut-core", - "classless", - "either", - "foreign-object", - "maybe", - "partial", - "prelude", - "record", - "tuples", - "type-equality" - ], - "repo": "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/thought2/purescript-classless-encode-json.git", - "version": "v0.1.3" - }, - "classnames": { - "dependencies": [ - "maybe", - "prelude", - "record", - "strings", - "tuples" - ], - "repo": "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/dewey92/purescript-classnames.git", - "version": "v2.0.0" - }, - "codec": { - "dependencies": [ - "bifunctors", - "profunctor" - ], - "repo": "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/garyb/purescript-codec.git", - "version": "v6.0.0" - }, - "codec-argonaut": { - "dependencies": [ - "argonaut-core", - "codec", - "foreign-object", - "ordered-collections", - "type-equality", - "variant" - ], - "repo": "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/garyb/purescript-codec-argonaut.git", - "version": "v10.0.0" - }, - "colors": { - "dependencies": [ - "arrays", - "integers", - "lists", - "numbers", - "partial", - "strings" - ], - "repo": "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/purescript-contrib/purescript-colors.git", - "version": "v7.0.1" - }, - "concur-core": { - "dependencies": [ - "aff", - "aff-bus", - "arrays", - "avar", - "console", - "control", - "datetime", - "effect", - "either", - "exceptions", - "foldable-traversable", - "free", - "identity", - "lazy", - "maybe", - "newtype", - "parallel", - "prelude", - "profunctor-lenses", - "tailrec", - "transformers", - "tuples" - ], - "repo": "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/purescript-concur/purescript-concur-core.git", - "version": "v0.5.0" - }, - "concur-react": { - "dependencies": [ - "aff", - "arrays", - "avar", - "concur-core", - "console", - "foldable-traversable", - "free", - "nonempty", - "profunctor-lenses", - "react", - "react-dom", - "tailrec", - "web-dom", - "web-html" - ], - "repo": "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/purescript-concur/purescript-concur-react.git", - "version": "v0.5.0" - }, - "concurrent-queues": { - "dependencies": [ - "aff", - "avar", - "effect" - ], - "repo": "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/purescript-contrib/purescript-concurrent-queues.git", - "version": "v3.0.0" - }, - "console": { - "dependencies": [ - "effect", - "prelude" - ], - "repo": "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/purescript/purescript-console.git", - "version": "v6.0.0" - }, - "const": { - "dependencies": [ - "invariant", - "newtype", - "prelude" - ], - "repo": "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/purescript/purescript-const.git", - "version": "v6.0.0" - }, - "contravariant": { - "dependencies": [ - "const", - "either", - "newtype", - "prelude", - "tuples" - ], - "repo": "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/purescript/purescript-contravariant.git", - "version": "v6.0.0" - }, - "control": { - "dependencies": [ - "newtype", - "prelude" - ], - "repo": "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/purescript/purescript-control.git", - "version": "v6.0.0" - }, - "convertable-options": { - "dependencies": [ - "console", - "effect", - "maybe", - "record" - ], - "repo": "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/natefaubion/purescript-convertable-options.git", - "version": "v1.0.0" - }, - "coroutines": { - "dependencies": [ - "freet", - "parallel", - "profunctor" - ], - "repo": "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/purescript-contrib/purescript-coroutines.git", - "version": "v7.0.0" - }, - "crypto": { - "dependencies": [ - "aff", - "effect", - "functions", - "maybe", - "node-buffer", - "nullable", - "prelude" - ], - "repo": "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/oreshinya/purescript-crypto.git", - "version": "v5.0.1" - }, - "css": { - "dependencies": [ - "colors", - "console", - "effect", - "nonempty", - "profunctor", - "strings", - "these", - "transformers" - ], - "repo": "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/purescript-contrib/purescript-css.git", - "version": "v6.0.0" - }, - "datetime": { - "dependencies": [ - "bifunctors", - "control", - "either", - "enums", - "foldable-traversable", - "functions", - "gen", - "integers", - "lists", - "maybe", - "newtype", - "numbers", - "ordered-collections", - "partial", - "prelude", - "tuples" - ], - "repo": "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/purescript/purescript-datetime.git", - "version": "v6.1.0" - }, - "datetime-parsing": { - "dependencies": [ - "arrays", - "datetime", - "either", - "enums", - "foldable-traversable", - "integers", - "lists", - "maybe", - "numbers", - "parsing", - "prelude", - "strings", - "unicode" - ], - "repo": "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/flounders/purescript-datetime-parsing.git", - "version": "v0.2.0" - }, - "debug": { - "dependencies": [ - "functions", - "prelude" - ], - "repo": "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/garyb/purescript-debug.git", - "version": "v6.0.2" - }, - "decimals": { - "dependencies": [ - "maybe" - ], - "repo": "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/sharkdp/purescript-decimals.git", - "version": "v7.1.0" - }, - "default-values": { - "dependencies": [ - "either", - "foreign-object", - "lists", - "maybe", - "ordered-collections", - "prelude", - "tuples" - ], - "repo": "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/imsaravana369/purescript-default.git", - "version": "v1.0.1" - }, - "deku": { - "dependencies": [ - "aff", - "arrays", - "bolson", - "catenable-lists", - "control", - "css", - "effect", - "either", - "fast-vect", - "filterable", - "foldable-traversable", - "foreign-object", - "hyrule", - "maybe", - "newtype", - "ordered-collections", - "prelude", - "profunctor", - "profunctor-lenses", - "quickcheck", - "record", - "safe-coerce", - "st", - "strings", - "transformers", - "tuples", - "unsafe-coerce", - "web-dom", - "web-events", - "web-html", - "web-uievents" - ], - "repo": "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/mikesol/purescript-deku.git", - "version": "v0.9.18" - }, - "deno": { - "dependencies": [ - "aff", - "aff-promise", - "argonaut", - "arraybuffer-types", - "console", - "effect", - "either", - "functions", - "maybe", - "ordered-collections", - "prelude", - "strings", - "tuples", - "unsafe-coerce", - "web-streams" - ], - "repo": "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/njaremko/purescript-deno.git", - "version": "v0.0.5" - }, - "dissect": { - "dependencies": [ - "arrays", - "bifunctors", - "foreign-object", - "functors", - "newtype", - "partial", - "prelude", - "tailrec", - "type-equality", - "typelevel-prelude", - "unsafe-coerce", - "variant" - ], - "repo": "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/PureFunctor/purescript-dissect.git", - "version": "v1.0.0" - }, - "distributive": { - "dependencies": [ - "identity", - "newtype", - "prelude", - "tuples", - "type-equality" - ], - "repo": "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/purescript/purescript-distributive.git", - "version": "v6.0.0" - }, - "dodo-printer": { - "dependencies": [ - "aff", - "ansi", - "arrays", - "avar", - "console", - "control", - "effect", - "either", - "exceptions", - "foldable-traversable", - "integers", - "lists", - "maybe", - "minibench", - "newtype", - "node-buffer", - "node-child-process", - "node-fs-aff", - "node-path", - "node-process", - "node-streams", - "parallel", - "partial", - "posix-types", - "prelude", - "safe-coerce", - "strings", - "tuples" - ], - "repo": "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/natefaubion/purescript-dodo-printer.git", - "version": "v2.2.1" - }, - "dom-filereader": { - "dependencies": [ - "aff", - "arraybuffer-types", - "web-file", - "web-html" - ], - "repo": "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/nwolverson/purescript-dom-filereader.git", - "version": "v7.0.0" - }, - "dom-indexed": { - "dependencies": [ - "media-types", - "prelude", - "web-clipboard", - "web-pointerevents", - "web-touchevents" - ], - "repo": "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/purescript-halogen/purescript-dom-indexed.git", - "version": "v11.0.0" - }, - "dotenv": { - "dependencies": [ - "aff", - "arrays", - "control", - "effect", - "either", - "exceptions", - "foldable-traversable", - "lists", - "maybe", - "node-buffer", - "node-child-process", - "node-fs-aff", - "node-process", - "parsing", - "prelude", - "run", - "strings", - "sunde", - "transformers", - "tuples", - "typelevel-prelude" - ], - "repo": "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/nsaunders/purescript-dotenv.git", - "version": "v4.0.0" - }, - "droplet": { - "dependencies": [ - "aff", - "arrays", - "bifunctors", - "bigints", - "datetime", - "debug", - "effect", - "either", - "enums", - "exceptions", - "foldable-traversable", - "foreign", - "foreign-object", - "integers", - "maybe", - "newtype", - "nonempty", - "nullable", - "ordered-collections", - "partial", - "prelude", - "profunctor", - "record", - "spec", - "strings", - "transformers", - "tuples", - "type-equality", - "typelevel-prelude", - "unsafe-coerce" - ], - "repo": "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/easafe/purescript-droplet.git", - "version": "v0.6.0" - }, - "dynamic-buffer": { - "dependencies": [ - "arraybuffer-types", - "effect", - "refs" - ], - "repo": "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/kritzcreek/purescript-dynamic-buffer.git", - "version": "v3.0.1" - }, - "echarts-simple": { - "dependencies": [ - "console", - "effect", - "functions", - "prelude", - "web-dom" - ], - "repo": "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/lucasdicioccio/purescript-echarts-simple.git", - "version": "v0.0.1" - }, - "effect": { - "dependencies": [ - "prelude" - ], - "repo": "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/purescript/purescript-effect.git", - "version": "v4.0.0" - }, - "either": { - "dependencies": [ - "control", - "invariant", - "maybe", - "prelude" - ], - "repo": "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/purescript/purescript-either.git", - "version": "v6.1.0" - }, - "elmish": { - "dependencies": [ - "aff", - "argonaut-core", - "arrays", - "bifunctors", - "console", - "debug", - "effect", - "either", - "foldable-traversable", - "foreign", - "foreign-object", - "functions", - "integers", - "js-date", - "maybe", - "nullable", - "partial", - "prelude", - "refs", - "typelevel-prelude", - "undefined-is-not-a-problem", - "unsafe-coerce", - "web-dom", - "web-html" - ], - "repo": "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/collegevine/purescript-elmish.git", - "version": "v0.9.3" - }, - "elmish-enzyme": { - "dependencies": [ - "aff", - "aff-promise", - "arrays", - "console", - "debug", - "effect", - "elmish", - "foldable-traversable", - "foreign", - "functions", - "prelude", - "transformers", - "unsafe-coerce" - ], - "repo": "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/collegevine/purescript-elmish-enzyme.git", - "version": "v0.1.1" - }, - "elmish-hooks": { - "dependencies": [ - "aff", - "debug", - "elmish", - "maybe", - "prelude", - "tuples", - "undefined-is-not-a-problem" - ], - "repo": "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/collegevine/purescript-elmish-hooks.git", - "version": "v0.9.1" - }, - "elmish-html": { - "dependencies": [ - "effect", - "elmish", - "foreign", - "foreign-object", - "maybe", - "prelude", - "record", - "typelevel-prelude", - "unsafe-coerce", - "web-dom", - "web-events", - "web-html" - ], - "repo": "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/collegevine/purescript-elmish-html.git", - "version": "v0.8.1" - }, - "elmish-testing-library": { - "dependencies": [ - "aff", - "arrays", - "datetime", - "effect", - "elmish", - "exceptions", - "foldable-traversable", - "maybe", - "nullable", - "prelude", - "transformers", - "web-dom", - "web-html" - ], - "repo": "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/collegevine/purescript-elmish-testing-library.git", - "version": "v0.3.1" - }, - "email-validate": { - "dependencies": [ - "aff", - "string-parsers", - "transformers" - ], - "repo": "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/cdepillabout/purescript-email-validate.git", - "version": "v7.0.0" - }, - "encoding": { - "dependencies": [ - "arraybuffer-types", - "either", - "exceptions", - "functions", - "prelude" - ], - "repo": "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/menelaos/purescript-encoding.git", - "version": "v0.0.8" - }, - "enums": { - "dependencies": [ - "control", - "either", - "gen", - "maybe", - "newtype", - "nonempty", - "partial", - "prelude", - "tuples", - "unfoldable" - ], - "repo": "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/purescript/purescript-enums.git", - "version": "v6.0.1" - }, - "env-names": { - "dependencies": [ - "arrays", - "maybe", - "prelude" - ], - "repo": "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/joellefkowitz/env-names.git", - "version": "v0.3.4" - }, - "error": { - "dependencies": [ - "console", - "effect", - "prelude" - ], - "repo": "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/bklaric/purescript-error.git", - "version": "v2.0.0" - }, - "exceptions": { - "dependencies": [ - "effect", - "either", - "maybe", - "prelude" - ], - "repo": "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/purescript/purescript-exceptions.git", - "version": "v6.0.0" - }, - "exists": { - "dependencies": [ - "unsafe-coerce" - ], - "repo": "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/purescript/purescript-exists.git", - "version": "v6.0.0" - }, - "exitcodes": { - "dependencies": [ - "enums" - ], - "repo": "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/Risto-Stevcev/purescript-exitcodes.git", - "version": "v4.0.0" - }, - "expect-inferred": { - "dependencies": [ - "prelude", - "typelevel-prelude" - ], - "repo": "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/justinwoo/purescript-expect-inferred.git", - "version": "v3.0.0" - }, - "fahrtwind": { - "dependencies": [ - "arrays", - "colors", - "foreign-object", - "integers", - "prelude", - "react-basic", - "react-basic-dom", - "react-basic-emotion", - "tuples", - "typelevel-prelude", - "unsafe-coerce" - ], - "repo": "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/rowtype-yoga/purescript-fahrtwind.git", - "version": "v2.0.0" - }, - "fallback": { - "dependencies": [ - "console", - "effect", - "either", - "foldable-traversable", - "prelude", - "transformers" - ], - "repo": "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/sigma-andex/purescript-fallback.git", - "version": "v0.1.0" - }, - "fast-vect": { - "dependencies": [ - "arrays", - "distributive", - "filterable", - "foldable-traversable", - "lists", - "maybe", - "ordered-collections", - "prelude", - "profunctor", - "tuples", - "unfoldable", - "unsafe-coerce" - ], - "repo": "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/sigma-andex/purescript-fast-vect.git", - "version": "v1.1.0" - }, - "fetch": { - "dependencies": [ - "aff", - "aff-promise", - "arraybuffer-types", - "effect", - "fetch-core", - "foreign", - "http-methods", - "newtype", - "prelude", - "record", - "typelevel-prelude", - "unsafe-coerce", - "web-file", - "web-promise", - "web-streams" - ], - "repo": "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/rowtype-yoga/purescript-fetch.git", - "version": "v1.1.4" - }, - "fetch-argonaut": { - "dependencies": [ - "aff", - "argonaut", - "console", - "effect", - "either", - "foreign", - "prelude", - "transformers", - "unsafe-coerce" - ], - "repo": "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/rowtype-yoga/purescript-fetch-argonaut.git", - "version": "v1.0.0" - }, - "fetch-core": { - "dependencies": [ - "arraybuffer-types", - "arrays", - "console", - "effect", - "foldable-traversable", - "foreign", - "foreign-object", - "functions", - "http-methods", - "maybe", - "newtype", - "nullable", - "prelude", - "record", - "tuples", - "typelevel-prelude", - "unfoldable", - "unsafe-coerce", - "web-file", - "web-promise", - "web-streams" - ], - "repo": "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/rowtype-yoga/purescript-fetch-core.git", - "version": "v4.0.4" - }, - "fetch-yoga-json": { - "dependencies": [ - "aff", - "either", - "exceptions", - "foreign", - "lists", - "prelude", - "transformers", - "yoga-json" - ], - "repo": "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/rowtype-yoga/purescript-fetch-yoga-json.git", - "version": "v1.1.0" - }, - "filterable": { - "dependencies": [ - "arrays", - "either", - "foldable-traversable", - "identity", - "lists", - "ordered-collections" - ], - "repo": "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/purescript/purescript-filterable.git", - "version": "v5.0.0" - }, - "fixed-points": { - "dependencies": [ - "exists", - "newtype", - "prelude", - "transformers" - ], - "repo": "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/purescript-contrib/purescript-fixed-points.git", - "version": "v7.0.0" - }, - "fixed-precision": { - "dependencies": [ - "arrays", - "bigints", - "control", - "integers", - "maybe", - "numbers", - "partial", - "prelude", - "strings" - ], - "repo": "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/lumihq/purescript-fixed-precision.git", - "version": "v5.0.0" - }, - "flame": { - "dependencies": [ - "aff", - "argonaut-codecs", - "argonaut-core", - "argonaut-generic", - "arrays", - "bifunctors", - "console", - "effect", - "either", - "exceptions", - "foldable-traversable", - "foreign", - "foreign-object", - "maybe", - "newtype", - "nullable", - "partial", - "prelude", - "random", - "refs", - "spec", - "strings", - "tuples", - "typelevel-prelude", - "unsafe-coerce", - "web-dom", - "web-events", - "web-html", - "web-uievents" - ], - "repo": "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/easafe/purescript-flame.git", - "version": "v1.3.0" - }, - "float32": { - "dependencies": [ - "gen", - "maybe", - "prelude" - ], - "repo": "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/purescript-contrib/purescript-float32.git", - "version": "v2.0.0" - }, - "foldable-traversable": { - "dependencies": [ - "bifunctors", - "const", - "control", - "either", - "functors", - "identity", - "maybe", - "newtype", - "orders", - "prelude", - "tuples" - ], - "repo": "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/purescript/purescript-foldable-traversable.git", - "version": "v6.0.0" - }, - "foreign": { - "dependencies": [ - "either", - "functions", - "identity", - "integers", - "lists", - "maybe", - "prelude", - "strings", - "transformers" - ], - "repo": "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/purescript/purescript-foreign.git", - "version": "v7.0.0" - }, - "foreign-object": { - "dependencies": [ - "arrays", - "foldable-traversable", - "functions", - "gen", - "lists", - "maybe", - "prelude", - "st", - "tailrec", - "tuples", - "typelevel-prelude", - "unfoldable" - ], - "repo": "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/purescript/purescript-foreign-object.git", - "version": "v4.1.0" - }, - "foreign-readwrite": { - "dependencies": [ - "foldable-traversable", - "foreign", - "foreign-object", - "identity", - "lists", - "maybe", - "newtype", - "prelude", - "record", - "safe-coerce", - "transformers", - "unsafe-coerce" - ], - "repo": "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/artemisSystem/purescript-foreign-readwrite.git", - "version": "v3.4.0" - }, - "fork": { - "dependencies": [ - "aff" - ], - "repo": "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/purescript-contrib/purescript-fork.git", - "version": "v6.0.0" - }, - "form-urlencoded": { - "dependencies": [ - "foldable-traversable", - "js-uri", - "maybe", - "newtype", - "prelude", - "strings", - "tuples" - ], - "repo": "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/purescript-contrib/purescript-form-urlencoded.git", - "version": "v7.0.0" - }, - "formatters": { - "dependencies": [ - "datetime", - "fixed-points", - "lists", - "numbers", - "parsing", - "prelude", - "transformers" - ], - "repo": "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/purescript-contrib/purescript-formatters.git", - "version": "v7.0.0" - }, - "framer-motion": { - "dependencies": [ - "aff", - "aff-promise", - "arrays", - "effect", - "foreign", - "foreign-object", - "heterogeneous", - "literals", - "maybe", - "nullable", - "prelude", - "react-basic", - "react-basic-dom", - "react-basic-hooks", - "record", - "tuples", - "two-or-more", - "typelevel-prelude", - "unsafe-coerce", - "untagged-union", - "web-dom", - "web-events", - "web-uievents" - ], - "repo": "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/i-am-the-slime/purescript-framer-motion.git", - "version": "v1.0.1" - }, - "free": { - "dependencies": [ - "catenable-lists", - "control", - "distributive", - "either", - "exists", - "foldable-traversable", - "invariant", - "lazy", - "maybe", - "prelude", - "tailrec", - "transformers", - "tuples", - "unsafe-coerce" - ], - "repo": "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/purescript/purescript-free.git", - "version": "v7.0.0" - }, - "freeap": { - "dependencies": [ - "const", - "exists", - "gen", - "lists" - ], - "repo": "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/ethul/purescript-freeap.git", - "version": "v7.0.0" - }, - "freer-free": { - "dependencies": [ - "prelude", - "record" - ], - "repo": "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/mikesol/purescript-freer-free.git", - "version": "v0.0.1" - }, - "freet": { - "dependencies": [ - "aff", - "bifunctors", - "effect", - "either", - "exists", - "free", - "prelude", - "tailrec", - "transformers", - "tuples" - ], - "repo": "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/purescript-contrib/purescript-freet.git", - "version": "v7.0.0" - }, - "functions": { - "dependencies": [ - "prelude" - ], - "repo": "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/purescript/purescript-functions.git", - "version": "v6.0.0" - }, - "functor1": { - "dependencies": [ - "newtype", - "prelude" - ], - "repo": "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/garyb/purescript-functor1.git", - "version": "v3.0.0" - }, - "functors": { - "dependencies": [ - "bifunctors", - "const", - "contravariant", - "control", - "distributive", - "either", - "invariant", - "maybe", - "newtype", - "prelude", - "profunctor", - "tuples", - "unsafe-coerce" - ], - "repo": "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/purescript/purescript-functors.git", - "version": "v5.0.0" - }, - "fuzzy": { - "dependencies": [ - "foldable-traversable", - "foreign-object", - "newtype", - "ordered-collections", - "prelude", - "rationals", - "strings", - "tuples" - ], - "repo": "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/citizennet/purescript-fuzzy.git", - "version": "v0.4.0" - }, - "gen": { - "dependencies": [ - "either", - "foldable-traversable", - "identity", - "maybe", - "newtype", - "nonempty", - "prelude", - "tailrec", - "tuples", - "unfoldable" - ], - "repo": "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/purescript/purescript-gen.git", - "version": "v4.0.0" - }, - "generate-values": { - "dependencies": [ - "arrays", - "control", - "effect", - "enums", - "foldable-traversable", - "gen", - "identity", - "integers", - "lcg", - "lists", - "maybe", - "newtype", - "numbers", - "partial", - "prelude", - "tailrec", - "transformers", - "tuples" - ], - "repo": "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/jordanmartinez/purescript-generate-values.git", - "version": "v1.0.1" - }, - "generic-router": { - "dependencies": [ - "arrays", - "assert", - "effect", - "foldable-traversable", - "lists", - "maybe", - "ordered-collections", - "prelude", - "record", - "strings", - "tuples" - ], - "repo": "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/njaremko/purescript-generic-router.git", - "version": "v0.0.1" - }, - "geojson": { - "dependencies": [ - "argonaut", - "argonaut-codecs", - "arrays", - "console", - "effect", - "either", - "exceptions", - "foldable-traversable", - "foreign-object", - "maybe", - "nonempty", - "prelude", - "transformers", - "tuples", - "typelevel-prelude" - ], - "repo": "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/sumew/purescript-geojson.git", - "version": "v0.0.1" - }, - "geometry-plane": { - "dependencies": [ - "console", - "effect", - "psci-support", - "sparse-polynomials" - ], - "repo": "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/Ebmtranceboy/purescript-geometry-plane.git", - "version": "v1.0.3" - }, - "github-actions-toolkit": { - "dependencies": [ - "aff", - "aff-promise", - "effect", - "foreign-object", - "node-buffer", - "node-path", - "node-streams", - "nullable", - "transformers" - ], - "repo": "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/purescript-contrib/purescript-github-actions-toolkit.git", - "version": "v0.5.0" - }, - "grain": { - "dependencies": [ - "arrays", - "effect", - "exceptions", - "foreign", - "functions", - "integers", - "lazy", - "maybe", - "nullable", - "prelude", - "strings", - "tailrec", - "transformers", - "tuples", - "unsafe-coerce", - "web-dom", - "web-events" - ], - "repo": "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/purescript-grain/purescript-grain.git", - "version": "v3.0.0" - }, - "grain-router": { - "dependencies": [ - "arrays", - "control", - "effect", - "foldable-traversable", - "foreign", - "grain", - "integers", - "lists", - "maybe", - "numbers", - "ordered-collections", - "prelude", - "profunctor", - "strings", - "tuples", - "web-events", - "web-html" - ], - "repo": "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/purescript-grain/purescript-grain-router.git", - "version": "v3.0.0" - }, - "grain-virtualized": { - "dependencies": [ - "arrays", - "foldable-traversable", - "grain", - "maybe", - "prelude", - "web-dom", - "web-events" - ], - "repo": "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/purescript-grain/purescript-grain-virtualized.git", - "version": "v3.0.0" - }, - "graphql-client": { - "dependencies": [ - "aff", - "aff-promise", - "affjax", - "affjax-node", - "affjax-web", - "argonaut-codecs", - "argonaut-core", - "arrays", - "bifunctors", - "control", - "datetime", - "debug", - "effect", - "either", - "enums", - "exceptions", - "foldable-traversable", - "foreign", - "foreign-object", - "functions", - "halogen-subscriptions", - "heterogeneous", - "http-methods", - "integers", - "lists", - "maybe", - "media-types", - "newtype", - "node-buffer", - "node-fs", - "nullable", - "numbers", - "ordered-collections", - "parsing", - "prelude", - "profunctor", - "profunctor-lenses", - "psci-support", - "quickcheck", - "record", - "spec", - "spec-discovery", - "string-parsers", - "strings", - "strings-extra", - "transformers", - "tuples", - "unicode", - "unsafe-coerce", - "variant" - ], - "repo": "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/OxfordAbstracts/purescript-graphql-client.git", - "version": "v9.3.2" - }, - "graphs": { - "dependencies": [ - "catenable-lists", - "ordered-collections" - ], - "repo": "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/purescript/purescript-graphs.git", - "version": "v8.1.0" - }, - "group": { - "dependencies": [ - "lists" - ], - "repo": "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/morganthomas/purescript-group.git", - "version": "v4.1.1" - }, - "halogen": { - "dependencies": [ - "aff", - "avar", - "console", - "const", - "dom-indexed", - "effect", - "foreign", - "fork", - "free", - "freeap", - "halogen-subscriptions", - "halogen-vdom", - "media-types", - "nullable", - "ordered-collections", - "parallel", - "profunctor", - "transformers", - "unsafe-coerce", - "unsafe-reference", - "web-file", - "web-uievents" - ], - "repo": "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/purescript-halogen/purescript-halogen.git", - "version": "v7.0.0" - }, - "halogen-bootstrap5": { - "dependencies": [ - "halogen" - ], - "repo": "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/tonicebrian/purescript-halogen-bootstrap5.git", - "version": "v2.1.0" - }, - "halogen-css": { - "dependencies": [ - "css", - "halogen" - ], - "repo": "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/purescript-halogen/purescript-halogen-css.git", - "version": "v10.0.0" - }, - "halogen-echarts-simple": { - "dependencies": [ - "aff", - "console", - "echarts-simple", - "effect", - "foldable-traversable", - "halogen", - "halogen-subscriptions", - "maybe", - "prelude" - ], - "repo": "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/lucasdicioccio/purescript-halogen-echarts-simple.git", - "version": "v0.0.4" - }, - "halogen-formless": { - "dependencies": [ - "convertable-options", - "effect", - "either", - "foldable-traversable", - "foreign-object", - "halogen", - "heterogeneous", - "maybe", - "prelude", - "record", - "safe-coerce", - "type-equality", - "unsafe-coerce", - "unsafe-reference", - "variant", - "web-events", - "web-uievents" - ], - "repo": "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/thomashoneyman/purescript-halogen-formless.git", - "version": "v4.0.2" - }, - "halogen-helix": { - "dependencies": [ - "effect", - "halogen-hooks", - "halogen-subscriptions", - "lazy", - "maybe", - "prelude", - "refs", - "tuples" - ], - "repo": "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/katsujukou/purescript-halogen-helix.git", - "version": "v1.0.0" - }, - "halogen-hooks": { - "dependencies": [ - "aff", - "arrays", - "bifunctors", - "effect", - "exceptions", - "foldable-traversable", - "foreign-object", - "free", - "freeap", - "halogen", - "halogen-subscriptions", - "maybe", - "newtype", - "ordered-collections", - "parallel", - "partial", - "prelude", - "refs", - "tailrec", - "transformers", - "tuples", - "unsafe-coerce", - "unsafe-reference", - "web-dom", - "web-html" - ], - "repo": "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/thomashoneyman/purescript-halogen-hooks.git", - "version": "v0.6.3" - }, - "halogen-hooks-extra": { - "dependencies": [ - "halogen-hooks" - ], - "repo": "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/jordanmartinez/purescript-halogen-hooks-extra.git", - "version": "v0.9.0" - }, - "halogen-store": { - "dependencies": [ - "aff", - "distributive", - "effect", - "fork", - "halogen", - "halogen-hooks", - "halogen-subscriptions", - "maybe", - "prelude", - "refs", - "tailrec", - "transformers", - "tuples", - "unsafe-reference" - ], - "repo": "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/thomashoneyman/purescript-halogen-store.git", - "version": "v0.5.4" - }, - "halogen-storybook": { - "dependencies": [ - "foreign-object", - "halogen", - "prelude", - "routing" - ], - "repo": "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/rnons/purescript-halogen-storybook.git", - "version": "v2.0.0" - }, - "halogen-subscriptions": { - "dependencies": [ - "arrays", - "effect", - "foldable-traversable", - "functors", - "refs", - "safe-coerce", - "unsafe-reference" - ], - "repo": "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/purescript-halogen/purescript-halogen-subscriptions.git", - "version": "v2.0.0" - }, - "halogen-svg-elems": { - "dependencies": [ - "halogen" - ], - "repo": "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/JordanMartinez/purescript-halogen-svg-elems.git", - "version": "v7.0.0" - }, - "halogen-vdom": { - "dependencies": [ - "bifunctors", - "effect", - "foreign", - "foreign-object", - "maybe", - "prelude", - "refs", - "tuples", - "unsafe-coerce", - "web-html" - ], - "repo": "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/purescript-halogen/purescript-halogen-vdom.git", - "version": "v8.0.0" - }, - "halogen-vdom-string-renderer": { - "dependencies": [ - "foreign", - "halogen-vdom", - "ordered-collections", - "prelude" - ], - "repo": "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/purescript-halogen/purescript-halogen-vdom-string-renderer.git", - "version": "v0.5.0" - }, - "heckin": { - "dependencies": [ - "arrays", - "foldable-traversable", - "maybe", - "prelude", - "strings", - "transformers", - "tuples", - "unicode" - ], - "repo": "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/maxdeviant/purescript-heckin.git", - "version": "v2.0.1" - }, - "heterogeneous": { - "dependencies": [ - "either", - "functors", - "prelude", - "record", - "tuples", - "variant" - ], - "repo": "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/natefaubion/purescript-heterogeneous.git", - "version": "v0.6.0" - }, - "homogeneous": { - "dependencies": [ - "assert", - "console", - "effect", - "foreign-object", - "psci-support", - "variant" - ], - "repo": "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/paluh/purescript-homogeneous.git", - "version": "v0.4.0" - }, - "http-methods": { - "dependencies": [ - "either", - "prelude", - "strings" - ], - "repo": "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/purescript-contrib/purescript-http-methods.git", - "version": "v6.0.0" - }, - "httpure": { - "dependencies": [ - "aff", - "arrays", - "bifunctors", - "console", - "effect", - "either", - "foldable-traversable", - "foreign-object", - "js-uri", - "maybe", - "newtype", - "node-buffer", - "node-fs", - "node-http", - "node-streams", - "options", - "ordered-collections", - "prelude", - "refs", - "strings", - "tuples", - "type-equality" - ], - "repo": "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/citizennet/purescript-httpure.git", - "version": "v0.16.0" - }, - "httpurple": { - "dependencies": [ - "aff", - "arrays", - "bifunctors", - "console", - "control", - "debug", - "effect", - "either", - "exceptions", - "foldable-traversable", - "foreign-object", - "functions", - "js-uri", - "justifill", - "lists", - "literals", - "maybe", - "newtype", - "node-buffer", - "node-fs", - "node-http", - "node-process", - "node-streams", - "options", - "ordered-collections", - "posix-types", - "prelude", - "profunctor", - "record", - "record-studio", - "refs", - "routing-duplex", - "safe-coerce", - "strings", - "transformers", - "tuples", - "type-equality", - "typelevel-prelude", - "unsafe-coerce", - "untagged-union" - ], - "repo": "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/sigma-andex/purescript-httpurple.git", - "version": "v3.0.1" - }, - "httpurple-argonaut": { - "dependencies": [ - "argonaut", - "console", - "effect", - "either", - "httpurple", - "prelude" - ], - "repo": "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/sigma-andex/purescript-httpurple-argonaut.git", - "version": "v1.0.1" - }, - "httpurple-yoga-json": { - "dependencies": [ - "console", - "effect", - "either", - "foreign", - "httpurple", - "lists", - "prelude", - "yoga-json" - ], - "repo": "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/sigma-andex/purescript-httpurple-yoga-json.git", - "version": "v1.0.0" - }, - "humdrum": { - "dependencies": [ - "console", - "effect", - "foldable-traversable", - "maybe", - "prelude", - "web-dom", - "web-html" - ], - "repo": "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/lucasdicioccio/purescript-humdrum.git", - "version": "v0.0.1" - }, - "hyrule": { - "dependencies": [ - "arrays", - "control", - "datetime", - "effect", - "either", - "filterable", - "foldable-traversable", - "js-timers", - "lists", - "maybe", - "monoid-extras", - "newtype", - "now", - "ordered-collections", - "partial", - "prelude", - "profunctor", - "record", - "refs", - "st", - "tuples", - "unsafe-coerce", - "unsafe-reference", - "web-events", - "web-html", - "web-uievents" - ], - "repo": "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/mikesol/purescript-hyrule.git", - "version": "v2.3.7" - }, - "identity": { - "dependencies": [ - "control", - "invariant", - "newtype", - "prelude" - ], - "repo": "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/purescript/purescript-identity.git", - "version": "v6.0.0" - }, - "identy": { - "dependencies": [ - "arrays", - "either", - "foldable-traversable", - "foreign", - "foreign-object", - "functions", - "lists", - "maybe", - "newtype", - "prelude", - "record", - "simple-json", - "st", - "tuples", - "typelevel-prelude", - "unfoldable", - "unsafe-coerce" - ], - "repo": "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/oreshinya/purescript-identy.git", - "version": "v4.0.1" - }, - "indexed-db": { - "dependencies": [ - "aff", - "arrays", - "avar", - "console", - "control", - "datetime", - "effect", - "either", - "enums", - "exceptions", - "foldable-traversable", - "foreign", - "functions", - "identity", - "lists", - "maybe", - "nonempty", - "now", - "nullable", - "prelude", - "read", - "spec", - "transformers", - "tuples" - ], - "repo": "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/ilyakooo0/purescript-indexed-DB.git", - "version": "v1.0.0" - }, - "indexed-monad": { - "dependencies": [ - "control", - "newtype" - ], - "repo": "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/garyb/purescript-indexed-monad.git", - "version": "v3.0.0" - }, - "int64": { - "dependencies": [ - "effect", - "foreign", - "functions", - "gen", - "integers", - "maybe", - "nullable", - "prelude", - "unsafe-coerce" - ], - "repo": "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/purescript-contrib/purescript-int64.git", - "version": "v3.0.0" - }, - "integers": { - "dependencies": [ - "maybe", - "numbers", - "prelude" - ], - "repo": "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/purescript/purescript-integers.git", - "version": "v6.0.0" - }, - "interpolate": { - "dependencies": [ - "partial", - "prelude" - ], - "repo": "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/jordanmartinez/purescript-interpolate.git", - "version": "v5.0.2" - }, - "invariant": { - "dependencies": [ - "control", - "prelude" - ], - "repo": "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/purescript/purescript-invariant.git", - "version": "v6.0.0" - }, - "jarilo": { - "dependencies": [ - "arrays", - "bifunctors", - "console", - "effect", - "either", - "foldable-traversable", - "http-methods", - "integers", - "lists", - "maybe", - "prelude", - "record", - "strings", - "tuples", - "uri", - "variant" - ], - "repo": "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/bklaric/purescript-jarilo.git", - "version": "v1.0.1" - }, - "jelly": { - "dependencies": [ - "aff", - "arrays", - "effect", - "either", - "free", - "jelly-signal", - "maybe", - "prelude", - "refs", - "safely", - "tailrec", - "transformers", - "tuples", - "web-dom", - "web-events", - "web-html" - ], - "repo": "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/yukikurage/purescript-jelly.git", - "version": "v0.10.0" - }, - "jelly-router": { - "dependencies": [ - "effect", - "foreign", - "jelly", - "jelly-signal", - "prelude", - "tailrec", - "transformers", - "tuples", - "web-events", - "web-html" - ], - "repo": "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/yukikurage/purescript-jelly-router.git", - "version": "v0.3.0" - }, - "jelly-signal": { - "dependencies": [ - "aff", - "effect", - "js-timers", - "maybe", - "partial", - "prelude", - "refs", - "tailrec", - "transformers", - "tuples", - "unsafe-coerce", - "web-events" - ], - "repo": "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/yukikurage/purescript-jelly-signal.git", - "version": "v0.4.0" - }, - "jest": { - "dependencies": [ - "aff", - "aff-promise", - "effect", - "prelude" - ], - "repo": "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/nonbili/purescript-jest.git", - "version": "v1.0.0" - }, - "js-abort-controller": { - "dependencies": [ - "effect", - "foreign", - "maybe", - "nullable", - "prelude" - ], - "repo": "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/purescript-contrib/purescript-js-abort-controller.git", - "version": "v1.0.0" - }, - "js-bigints": { - "dependencies": [ - "integers", - "maybe", - "prelude" - ], - "repo": "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/sigma-andex/purescript-js-bigints.git", - "version": "v2.0.0" - }, - "js-date": { - "dependencies": [ - "datetime", - "effect", - "exceptions", - "foreign", - "integers", - "now" - ], - "repo": "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/purescript-contrib/purescript-js-date.git", - "version": "v8.0.0" - }, - "js-fileio": { - "dependencies": [ - "aff", - "effect", - "prelude" - ], - "repo": "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/newlandsvalley/purescript-js-fileio.git", - "version": "v3.0.0" - }, - "js-promise": { - "dependencies": [ - "effect", - "exceptions", - "foldable-traversable", - "functions", - "maybe", - "prelude" - ], - "repo": "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/purescript-contrib/purescript-js-promise.git", - "version": "v1.0.0" - }, - "js-promise-aff": { - "dependencies": [ - "aff", - "foreign", - "js-promise" - ], - "repo": "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/purescript-contrib/purescript-js-promise-aff.git", - "version": "v1.0.0" - }, - "js-timers": { - "dependencies": [ - "effect" - ], - "repo": "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/purescript-contrib/purescript-js-timers.git", - "version": "v6.1.0" - }, - "js-uri": { - "dependencies": [ - "functions", - "maybe" - ], - "repo": "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/purescript-contrib/purescript-js-uri.git", - "version": "v3.1.0" - }, - "json-codecs": { - "dependencies": [ - "ansi", - "argonaut-core", - "arrays", - "bifunctors", - "console", - "dodo-printer", - "effect", - "either", - "foldable-traversable", - "foreign-object", - "functions", - "identity", - "integers", - "invariant", - "lists", - "maybe", - "newtype", - "nonempty", - "nullable", - "ordered-collections", - "prelude", - "profunctor", - "record", - "safe-coerce", - "st", - "strings", - "these", - "tuples", - "unsafe-coerce", - "validation", - "variant" - ], - "repo": "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/jordanmartinez/purescript-json-codecs.git", - "version": "v3.0.0" - }, - "justifill": { - "dependencies": [ - "maybe", - "prelude", - "record", - "typelevel-prelude" - ], - "repo": "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/i-am-the-slime/purescript-justifill.git", - "version": "v0.5.0" - }, - "jwt": { - "dependencies": [ - "argonaut-core", - "arrays", - "b64", - "either", - "exceptions", - "prelude", - "profunctor-lenses", - "strings" - ], - "repo": "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/menelaos/purescript-jwt.git", - "version": "v0.0.9" - }, - "language-cst-parser": { - "dependencies": [ - "arrays", - "console", - "const", - "control", - "effect", - "either", - "foldable-traversable", - "free", - "functions", - "functors", - "identity", - "integers", - "lazy", - "lists", - "maybe", - "newtype", - "node-process", - "numbers", - "ordered-collections", - "partial", - "prelude", - "st", - "strings", - "transformers", - "tuples", - "typelevel-prelude", - "unfoldable", - "unsafe-coerce" - ], - "repo": "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/natefaubion/purescript-language-cst-parser.git", - "version": "v0.12.2" - }, - "lazy": { - "dependencies": [ - "control", - "foldable-traversable", - "invariant", - "prelude" - ], - "repo": "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/purescript/purescript-lazy.git", - "version": "v6.0.0" - }, - "lazy-joe": { - "dependencies": [ - "aff", - "aff-promise", - "effect", - "functions", - "prelude", - "unsafe-coerce" - ], - "repo": "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/sigma-andex/purescript-lazy-joe.git", - "version": "v1.0.0" - }, - "lcg": { - "dependencies": [ - "effect", - "integers", - "maybe", - "partial", - "prelude", - "random" - ], - "repo": "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/purescript/purescript-lcg.git", - "version": "v4.0.0" - }, - "leibniz": { - "dependencies": [ - "prelude", - "unsafe-coerce" - ], - "repo": "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/paf31/purescript-leibniz.git", - "version": "v5.0.0" - }, - "liminal": { - "dependencies": [ - "aff", - "arrays", - "effect", - "foldable-traversable", - "maybe", - "prelude", - "spec", - "transformation-matrix" - ], - "repo": "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/jstoxrocky/purescript-liminal.git", - "version": "v1.0.1" - }, - "linalg": { - "dependencies": [ - "arrays", - "foldable-traversable", - "functions", - "maybe", - "prelude", - "tuples" - ], - "repo": "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/gbagan/purescript-linalg.git", - "version": "v5.1.0" - }, - "lists": { - "dependencies": [ - "bifunctors", - "control", - "foldable-traversable", - "lazy", - "maybe", - "newtype", - "nonempty", - "partial", - "prelude", - "tailrec", - "tuples", - "unfoldable" - ], - "repo": "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/purescript/purescript-lists.git", - "version": "v7.0.0" - }, - "literals": { - "dependencies": [ - "integers", - "maybe", - "numbers", - "partial", - "prelude", - "typelevel-prelude", - "unsafe-coerce" - ], - "repo": "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/rowtype-yoga/purescript-literals.git", - "version": "v1.0.2" - }, - "logging": { - "dependencies": [ - "console", - "contravariant", - "effect", - "either", - "prelude", - "transformers", - "tuples" - ], - "repo": "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/rightfold/purescript-logging.git", - "version": "v3.0.0" - }, - "logging-journald": { - "dependencies": [ - "effect", - "logging", - "prelude", - "systemd-journald" - ], - "repo": "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/paluh/purescript-logging-journald.git", - "version": "v0.4.0" - }, - "machines": { - "dependencies": [ - "arrays", - "control", - "effect", - "lists", - "maybe", - "prelude", - "profunctor", - "tuples", - "unfoldable" - ], - "repo": "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/purescript-contrib/purescript-machines.git", - "version": "v7.0.0" - }, - "maps-eager": { - "dependencies": [ - "maybe", - "ordered-collections" - ], - "repo": "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/joellefkowitz/maps-eager.git", - "version": "v0.4.1" - }, - "marionette": { - "dependencies": [ - "aff", - "console", - "datetime", - "effect", - "either", - "enums", - "foldable-traversable", - "maybe", - "newtype", - "now", - "ordered-collections", - "prelude", - "refs", - "transformers", - "tuples" - ], - "repo": "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/thought2/purescript-marionette.git", - "version": "v1.0.0" - }, - "marionette-commander": { - "dependencies": [ - "aff", - "arrays", - "console", - "effect", - "either", - "marionette", - "maybe", - "node-readline", - "prelude", - "strings", - "transformers" - ], - "repo": "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/thought2/purescript-marionette-commander.git", - "version": "v0.1.1" - }, - "marionette-react-basic-hooks": { - "dependencies": [ - "aff", - "aff-promise", - "console", - "effect", - "exceptions", - "marionette", - "maybe", - "newtype", - "prelude", - "react-basic", - "react-basic-dom", - "react-basic-hooks", - "transformers", - "tuples", - "unsafe-coerce", - "web-dom", - "web-html" - ], - "repo": "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/thought2/purescript-marionette-react-basic-hooks.git", - "version": "v0.1.1" - }, - "matrices": { - "dependencies": [ - "arrays", - "strings" - ], - "repo": "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/kRITZCREEK/purescript-matrices.git", - "version": "v5.0.1" - }, - "matryoshka": { - "dependencies": [ - "fixed-points", - "free", - "prelude", - "profunctor", - "transformers" - ], - "repo": "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/purescript-contrib/purescript-matryoshka.git", - "version": "v1.0.0" - }, - "maybe": { - "dependencies": [ - "control", - "invariant", - "newtype", - "prelude" - ], - "repo": "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/purescript/purescript-maybe.git", - "version": "v6.0.0" - }, - "mdast-util-from-markdown": { - "dependencies": [ - "aff", - "aff-promise", - "argonaut", - "console", - "debug", - "effect", - "either", - "foldable-traversable", - "maybe", - "prelude", - "psci-support", - "spec", - "spec-discovery" - ], - "repo": "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/sigma-andex/purescript-mdast-util-from-markdown.git", - "version": "v0.2.1" - }, - "media-types": { - "dependencies": [ - "newtype", - "prelude" - ], - "repo": "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/purescript-contrib/purescript-media-types.git", - "version": "v6.0.0" - }, - "metadata": { - "dependencies": [], - "repo": "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/purescript/purescript-metadata.git", - "version": "v0.15.7" - }, - "midi": { - "dependencies": [ - "arrays", - "control", - "effect", - "either", - "foldable-traversable", - "integers", - "lists", - "maybe", - "ordered-collections", - "prelude", - "signal", - "string-parsers", - "strings", - "tuples", - "unfoldable" - ], - "repo": "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/newlandsvalley/purescript-midi.git", - "version": "v4.0.0" - }, - "milkis": { - "dependencies": [ - "aff-promise", - "arraybuffer-types", - "foreign-object", - "prelude", - "typelevel-prelude" - ], - "repo": "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/justinwoo/purescript-milkis.git", - "version": "v9.0.0" - }, - "minibench": { - "dependencies": [ - "console", - "effect", - "integers", - "numbers", - "partial", - "prelude", - "refs" - ], - "repo": "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/purescript/purescript-minibench.git", - "version": "v4.0.1" - }, - "mmorph": { - "dependencies": [ - "free", - "functors", - "transformers" - ], - "repo": "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/Thimoteus/purescript-mmorph.git", - "version": "v7.0.0" - }, - "monad-control": { - "dependencies": [ - "aff", - "freet", - "identity", - "lists" - ], - "repo": "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/athanclark/purescript-monad-control.git", - "version": "v5.0.0" - }, - "monad-logger": { - "dependencies": [ - "aff", - "ansi", - "argonaut", - "arrays", - "console", - "control", - "effect", - "foldable-traversable", - "foreign-object", - "integers", - "js-date", - "maybe", - "newtype", - "ordered-collections", - "prelude", - "strings", - "transformers", - "tuples" - ], - "repo": "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/cprussin/purescript-monad-logger.git", - "version": "v1.3.1" - }, - "monad-loops": { - "dependencies": [ - "lists", - "maybe", - "prelude", - "tailrec", - "tuples" - ], - "repo": "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/mlang/purescript-monad-loops.git", - "version": "v0.5.0" - }, - "monad-unlift": { - "dependencies": [ - "monad-control" - ], - "repo": "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/athanclark/purescript-monad-unlift.git", - "version": "v1.0.1" - }, - "monoid-extras": { - "dependencies": [ - "console", - "effect", - "foldable-traversable", - "maybe", - "prelude", - "profunctor", - "profunctor-lenses", - "tuples" - ], - "repo": "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/mikesol/purescript-monoid-extras.git", - "version": "v0.0.1" - }, - "monoidal": { - "dependencies": [ - "either", - "profunctor", - "these", - "tuples" - ], - "repo": "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/mcneissue/purescript-monoidal.git", - "version": "v0.16.0" - }, - "morello": { - "dependencies": [ - "arrays", - "barlow-lens", - "foldable-traversable", - "heterogeneous", - "newtype", - "prelude", - "profunctor", - "profunctor-lenses", - "record", - "record-studio", - "tuples", - "typelevel-prelude", - "validation" - ], - "repo": "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/sigma-andex/purescript-morello.git", - "version": "v0.4.0" - }, - "mote": { - "dependencies": [ - "arrays", - "these", - "transformers" - ], - "repo": "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/garyb/purescript-mote.git", - "version": "v3.0.0" - }, - "motsunabe": { - "dependencies": [ - "lists", - "strings" - ], - "repo": "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/justinwoo/purescript-motsunabe.git", - "version": "v2.0.0" - }, - "mysql": { - "dependencies": [ - "aff", - "datetime", - "effect", - "either", - "exceptions", - "foreign", - "functions", - "js-date", - "lists", - "maybe", - "newtype", - "nonempty", - "prelude", - "simple-json", - "transformers", - "unsafe-coerce" - ], - "repo": "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/oreshinya/purescript-mysql.git", - "version": "v6.0.1" - }, - "n3": { - "dependencies": [ - "aff", - "aff-promise", - "console", - "effect", - "either", - "prelude", - "rdf" - ], - "repo": "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/wintechis/purescript-n3.git", - "version": "v0.1.0" - }, - "nano-id": { - "dependencies": [ - "aff", - "effect", - "lists", - "maybe", - "prelude", - "random", - "spec", - "strings", - "stringutils" - ], - "repo": "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/eikooc/nano-id.git", - "version": "v1.1.0" - }, - "naturals": { - "dependencies": [ - "enums", - "maybe", - "prelude" - ], - "repo": "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/LiamGoodacre/purescript-naturals.git", - "version": "v3.0.0" - }, - "nested-functor": { - "dependencies": [ - "prelude", - "type-equality" - ], - "repo": "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/acple/purescript-nested-functor.git", - "version": "v0.2.1" - }, - "newtype": { - "dependencies": [ - "prelude", - "safe-coerce" - ], - "repo": "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/purescript/purescript-newtype.git", - "version": "v5.0.0" - }, - "nextjs": { - "dependencies": [ - "aff", - "aff-promise", - "console", - "datetime", - "effect", - "either", - "foldable-traversable", - "foreign", - "foreign-object", - "functions", - "identity", - "maybe", - "nullable", - "options", - "partial", - "prelude", - "react-basic", - "react-basic-hooks", - "transformers", - "typelevel-prelude", - "unsafe-coerce", - "yoga-json" - ], - "repo": "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/rowtype-yoga/purescript-nextjs.git", - "version": "v0.1.1" - }, - "nextui": { - "dependencies": [ - "effect", - "prelude", - "react-basic-hooks" - ], - "repo": "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/rowtype-yoga/purescript-nextui.git", - "version": "v0.2.0" - }, - "node-buffer": { - "dependencies": [ - "arraybuffer-types", - "effect", - "maybe", - "st", - "unsafe-coerce" - ], - "repo": "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/purescript-node/purescript-node-buffer.git", - "version": "v8.0.0" - }, - "node-buffer-blob": { - "dependencies": [ - "aff-promise", - "arraybuffer-types", - "arrays", - "console", - "effect", - "maybe", - "media-types", - "newtype", - "node-buffer", - "nullable", - "prelude", - "web-streams" - ], - "repo": "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/purescript-node/purescript-node-buffer-blob.git", - "version": "v1.0.0" - }, - "node-child-process": { - "dependencies": [ - "exceptions", - "foreign", - "foreign-object", - "functions", - "node-fs", - "node-streams", - "nullable", - "posix-types", - "unsafe-coerce" - ], - "repo": "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/purescript-node/purescript-node-child-process.git", - "version": "v9.0.0" - }, - "node-event-emitter": { - "dependencies": [ - "effect", - "functions", - "prelude", - "safe-coerce", - "unsafe-coerce" - ], - "repo": "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/purescript-node/purescript-node-event-emitter.git", - "version": "v1.0.1" - }, - "node-execa": { - "dependencies": [ - "aff", - "arrays", - "control", - "effect", - "either", - "exceptions", - "foldable-traversable", - "foreign", - "foreign-object", - "functions", - "integers", - "js-timers", - "maybe", - "node-buffer", - "node-event-emitter", - "node-fs", - "node-human-signals", - "node-path", - "node-process", - "node-streams", - "nullable", - "numbers", - "ordered-collections", - "parallel", - "parsing", - "partial", - "posix-types", - "prelude", - "profunctor-lenses", - "record", - "refs", - "safe-coerce", - "strings", - "tailrec", - "transformers", - "tuples", - "unsafe-coerce", - "unsafe-reference" - ], - "repo": "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/jordanmartinez/purescript-node-execa.git", - "version": "v1.3.1" - }, - "node-fs": { - "dependencies": [ - "datetime", - "effect", - "either", - "enums", - "exceptions", - "functions", - "integers", - "js-date", - "maybe", - "node-buffer", - "node-path", - "node-streams", - "nullable", - "partial", - "prelude", - "strings", - "unsafe-coerce" - ], - "repo": "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/purescript-node/purescript-node-fs.git", - "version": "v8.2.0" - }, - "node-fs-aff": { - "dependencies": [ - "aff", - "either", - "node-fs", - "node-path" - ], - "repo": "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/purescript-node/purescript-node-fs-aff.git", - "version": "v9.2.0" - }, - "node-http": { - "dependencies": [ - "arraybuffer-types", - "contravariant", - "effect", - "foreign", - "foreign-object", - "maybe", - "node-buffer", - "node-net", - "node-streams", - "node-url", - "nullable", - "options", - "prelude", - "unsafe-coerce" - ], - "repo": "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/purescript-node/purescript-node-http.git", - "version": "v8.0.0" - }, - "node-human-signals": { - "dependencies": [ - "arrays", - "control", - "foreign-object", - "maybe", - "ordered-collections", - "prelude" - ], - "repo": "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/jordanmartinez/purescript-node-human-signals.git", - "version": "v1.0.0" - }, - "node-net": { - "dependencies": [ - "effect", - "either", - "exceptions", - "foreign", - "maybe", - "node-buffer", - "node-fs", - "nullable", - "options", - "prelude", - "transformers" - ], - "repo": "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/purescript-node/purescript-node-net.git", - "version": "v4.0.0" - }, - "node-path": { - "dependencies": [ - "effect" - ], - "repo": "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/purescript-node/purescript-node-path.git", - "version": "v5.0.0" - }, - "node-process": { - "dependencies": [ - "effect", - "foreign-object", - "maybe", - "node-streams", - "posix-types", - "prelude", - "unsafe-coerce" - ], - "repo": "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/purescript-node/purescript-node-process.git", - "version": "v10.0.0" - }, - "node-readline": { - "dependencies": [ - "effect", - "foreign", - "node-process", - "node-streams", - "options", - "prelude" - ], - "repo": "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/purescript-node/purescript-node-readline.git", - "version": "v7.0.0" - }, - "node-sqlite3": { - "dependencies": [ - "aff", - "foreign" - ], - "repo": "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/justinwoo/purescript-node-sqlite3.git", - "version": "v8.0.0" - }, - "node-streams": { - "dependencies": [ - "effect", - "either", - "exceptions", - "node-buffer", - "nullable", - "prelude" - ], - "repo": "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/purescript-node/purescript-node-streams.git", - "version": "v7.0.0" - }, - "node-streams-aff": { - "dependencies": [ - "aff", - "arrays", - "effect", - "either", - "exceptions", - "maybe", - "node-buffer", - "node-streams", - "nullable", - "prelude", - "refs", - "st", - "tailrec" - ], - "repo": "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/purescript-node/purescript-node-streams-aff.git", - "version": "v5.0.0" - }, - "node-url": { - "dependencies": [ - "nullable" - ], - "repo": "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/purescript-node/purescript-node-url.git", - "version": "v6.0.0" - }, - "nodemailer": { - "dependencies": [ - "aff", - "effect", - "foreign", - "functions", - "maybe", - "node-streams", - "prelude", - "simple-json", - "unsafe-coerce" - ], - "repo": "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/oreshinya/purescript-nodemailer.git", - "version": "v4.0.1" - }, - "nonempty": { - "dependencies": [ - "control", - "foldable-traversable", - "maybe", - "prelude", - "tuples", - "unfoldable" - ], - "repo": "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/purescript/purescript-nonempty.git", - "version": "v7.0.0" - }, - "now": { - "dependencies": [ - "datetime", - "effect" - ], - "repo": "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/purescript-contrib/purescript-now.git", - "version": "v6.0.0" - }, - "npm-package-json": { - "dependencies": [ - "argonaut", - "control", - "either", - "foreign-object", - "maybe", - "ordered-collections", - "prelude" - ], - "repo": "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/maxdeviant/purescript-npm-package-json.git", - "version": "v2.0.0" - }, - "nullable": { - "dependencies": [ - "effect", - "functions", - "maybe" - ], - "repo": "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/purescript-contrib/purescript-nullable.git", - "version": "v6.0.0" - }, - "numberfield": { - "dependencies": [ - "arrays", - "assert", - "effect", - "foldable-traversable", - "js-bigints", - "maybe", - "ordered-collections", - "prelude", - "rationals", - "sparse-matrices", - "sparse-polynomials", - "tuples" - ], - "repo": "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/Ebmtranceboy/purescript-numberfield.git", - "version": "v0.1.0" - }, - "numbers": { - "dependencies": [ - "functions", - "maybe" - ], - "repo": "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/purescript/purescript-numbers.git", - "version": "v9.0.1" - }, - "object-maps": { - "dependencies": [ - "aff", - "argonaut-codecs", - "argonaut-core", - "datetime", - "debug", - "effect", - "either", - "foreign-object", - "maybe", - "prelude", - "profunctor-lenses", - "spec", - "tuples" - ], - "repo": "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/thought2/purescript-object-maps.git", - "version": "v0.1.1" - }, - "ocarina": { - "dependencies": [ - "aff", - "aff-promise", - "arraybuffer-types", - "bolson", - "control", - "convertable-options", - "effect", - "fast-vect", - "foldable-traversable", - "foreign", - "foreign-object", - "homogeneous", - "hyrule", - "integers", - "js-timers", - "lcg", - "lists", - "maybe", - "newtype", - "numbers", - "ordered-collections", - "prelude", - "profunctor", - "profunctor-lenses", - "quickcheck", - "refs", - "safe-coerce", - "simple-json", - "sized-vectors", - "st", - "tuples", - "type-equality", - "typelevel", - "typelevel-prelude", - "unsafe-coerce", - "unsafe-reference", - "variant", - "web-events", - "web-file", - "web-html" - ], - "repo": "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/mikesol/purescript-ocarina.git", - "version": "v1.5.2" - }, - "open-folds": { - "dependencies": [ - "bifunctors", - "console", - "control", - "distributive", - "effect", - "either", - "foldable-traversable", - "identity", - "invariant", - "maybe", - "newtype", - "ordered-collections", - "prelude", - "profunctor", - "psci-support", - "tuples" - ], - "repo": "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/purescript-open-community/purescript-open-folds.git", - "version": "v6.3.0" - }, - "open-memoize": { - "dependencies": [ - "console", - "effect", - "either", - "integers", - "lazy", - "lists", - "maybe", - "partial", - "prelude", - "psci-support", - "strings", - "tuples" - ], - "repo": "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/purescript-open-community/purescript-open-memoize.git", - "version": "v6.1.0" - }, - "open-pairing": { - "dependencies": [ - "console", - "control", - "effect", - "either", - "free", - "functors", - "identity", - "newtype", - "prelude", - "psci-support", - "transformers", - "tuples" - ], - "repo": "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/purescript-open-community/purescript-open-pairing.git", - "version": "v6.1.0" - }, - "options": { - "dependencies": [ - "contravariant", - "foreign", - "foreign-object", - "maybe", - "tuples" - ], - "repo": "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/purescript-contrib/purescript-options.git", - "version": "v7.0.0" - }, - "optparse": { - "dependencies": [ - "aff", - "arrays", - "bifunctors", - "console", - "control", - "effect", - "either", - "enums", - "exists", - "exitcodes", - "foldable-traversable", - "free", - "gen", - "integers", - "lazy", - "lists", - "maybe", - "newtype", - "node-buffer", - "node-process", - "node-streams", - "nonempty", - "numbers", - "open-memoize", - "partial", - "prelude", - "quickcheck", - "strings", - "tailrec", - "transformers", - "tuples" - ], - "repo": "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/f-o-a-m/purescript-optparse.git", - "version": "v5.0.0" - }, - "ordered-collections": { - "dependencies": [ - "arrays", - "foldable-traversable", - "gen", - "lists", - "maybe", - "partial", - "prelude", - "st", - "tailrec", - "tuples", - "unfoldable" - ], - "repo": "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/purescript/purescript-ordered-collections.git", - "version": "v3.0.0" - }, - "ordered-set": { - "dependencies": [ - "argonaut-codecs", - "arrays", - "partial", - "prelude", - "unfoldable" - ], - "repo": "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/flip111/purescript-ordered-set.git", - "version": "v0.4.0" - }, - "orders": { - "dependencies": [ - "newtype", - "prelude" - ], - "repo": "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/purescript/purescript-orders.git", - "version": "v6.0.0" - }, - "pairs": { - "dependencies": [ - "console", - "distributive", - "foldable-traversable", - "quickcheck" - ], - "repo": "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/sharkdp/purescript-pairs.git", - "version": "v9.0.0" - }, - "parallel": { - "dependencies": [ - "control", - "effect", - "either", - "foldable-traversable", - "functors", - "maybe", - "newtype", - "prelude", - "profunctor", - "refs", - "transformers" - ], - "repo": "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/purescript/purescript-parallel.git", - "version": "v6.0.0" - }, - "parsing": { - "dependencies": [ - "arrays", - "control", - "effect", - "either", - "enums", - "foldable-traversable", - "functions", - "identity", - "integers", - "lazy", - "lists", - "maybe", - "newtype", - "nullable", - "numbers", - "partial", - "prelude", - "st", - "strings", - "tailrec", - "transformers", - "tuples", - "unfoldable", - "unicode", - "unsafe-coerce" - ], - "repo": "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/purescript-contrib/purescript-parsing.git", - "version": "v10.2.0" - }, - "parsing-dataview": { - "dependencies": [ - "arraybuffer", - "arraybuffer-types", - "effect", - "enums", - "float32", - "maybe", - "parsing", - "prelude", - "strings", - "tailrec", - "transformers", - "tuples", - "uint" - ], - "repo": "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/jamesdbrock/purescript-parsing-dataview.git", - "version": "v3.2.4" - }, - "partial": { - "dependencies": [], - "repo": "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/purescript/purescript-partial.git", - "version": "v4.0.0" - }, - "pathy": { - "dependencies": [ - "console", - "exceptions", - "lists", - "partial", - "profunctor", - "strings", - "transformers", - "typelevel-prelude", - "unsafe-coerce" - ], - "repo": "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/purescript-contrib/purescript-pathy.git", - "version": "v9.0.0" - }, - "pha": { - "dependencies": [ - "aff", - "arrays", - "bifunctors", - "datetime", - "effect", - "foldable-traversable", - "free", - "integers", - "maybe", - "prelude", - "profunctor-lenses", - "refs", - "tailrec", - "transformers", - "tuples", - "unsafe-coerce", - "unsafe-reference", - "web-dom", - "web-events", - "web-html", - "web-pointerevents", - "web-uievents" - ], - "repo": "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/gbagan/purescript-pha.git", - "version": "v0.9.1" - }, - "phaser": { - "dependencies": [ - "canvas", - "console", - "effect", - "maybe", - "nullable", - "options", - "prelude", - "small-ffi", - "unsafe-coerce", - "web-html" - ], - "repo": "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/lfarroco/purescript-phaser.git", - "version": "v0.7.0" - }, - "pipes": { - "dependencies": [ - "aff", - "lists", - "mmorph", - "prelude", - "tailrec", - "transformers", - "tuples" - ], - "repo": "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/felixschl/purescript-pipes.git", - "version": "v8.0.0" - }, - "pirates-charm": { - "dependencies": [ - "aff", - "arrays", - "effect", - "hyrule", - "parallel", - "prelude", - "refs", - "st" - ], - "repo": "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/mikesol/purescript-pirates-charm.git", - "version": "v0.0.1" - }, - "point-free": { - "dependencies": [ - "prelude" - ], - "repo": "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/ursi/purescript-point-free.git", - "version": "v1.0.0" - }, - "pointed-list": { - "dependencies": [ - "lists", - "prelude" - ], - "repo": "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/paluh/purescript-pointed-list.git", - "version": "v0.5.1" - }, - "polymorphic-vectors": { - "dependencies": [ - "distributive", - "foldable-traversable", - "numbers", - "prelude", - "record", - "safe-coerce", - "type-equality", - "typelevel-prelude" - ], - "repo": "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/artemisSystem/purescript-polymorphic-vectors.git", - "version": "v4.0.0" - }, - "posix-types": { - "dependencies": [ - "maybe", - "prelude" - ], - "repo": "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/purescript-node/purescript-posix-types.git", - "version": "v6.0.0" - }, - "precise": { - "dependencies": [ - "arrays", - "console", - "effect", - "exceptions", - "gen", - "integers", - "lists", - "numbers", - "prelude", - "strings" - ], - "repo": "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/purescript-contrib/purescript-precise.git", - "version": "v6.0.0" - }, - "precise-datetime": { - "dependencies": [ - "arrays", - "datetime", - "decimals", - "either", - "enums", - "foldable-traversable", - "formatters", - "integers", - "js-date", - "lists", - "maybe", - "newtype", - "numbers", - "prelude", - "strings", - "tuples", - "unicode" - ], - "repo": "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/awakesecurity/purescript-precise-datetime.git", - "version": "v7.0.0" - }, - "prelude": { - "dependencies": [], - "repo": "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/purescript/purescript-prelude.git", - "version": "v6.0.1" - }, - "prettier-printer": { - "dependencies": [ - "console", - "lists", - "prelude", - "strings", - "tuples" - ], - "repo": "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/paulyoung/purescript-prettier-printer.git", - "version": "v3.0.0" - }, - "profunctor": { - "dependencies": [ - "control", - "distributive", - "either", - "exists", - "invariant", - "newtype", - "prelude", - "tuples" - ], - "repo": "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/purescript/purescript-profunctor.git", - "version": "v6.0.0" - }, - "profunctor-lenses": { - "dependencies": [ - "arrays", - "bifunctors", - "const", - "control", - "distributive", - "either", - "foldable-traversable", - "foreign-object", - "functors", - "identity", - "lists", - "maybe", - "newtype", - "ordered-collections", - "partial", - "prelude", - "profunctor", - "record", - "transformers", - "tuples" - ], - "repo": "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/purescript-contrib/purescript-profunctor-lenses.git", - "version": "v8.0.0" - }, - "protobuf": { - "dependencies": [ - "arraybuffer", - "arraybuffer-builder", - "arraybuffer-types", - "arrays", - "control", - "effect", - "either", - "enums", - "exceptions", - "float32", - "foldable-traversable", - "functions", - "int64", - "lists", - "maybe", - "newtype", - "parsing", - "parsing-dataview", - "prelude", - "record", - "strings", - "tailrec", - "transformers", - "tuples", - "uint", - "web-encoding" - ], - "repo": "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/xc-jp/purescript-protobuf.git", - "version": "v4.3.0" - }, - "ps-cst": { - "dependencies": [ - "ansi", - "console", - "dodo-printer", - "effect", - "node-fs-aff", - "node-path", - "psci-support", - "record", - "spec", - "strings" - ], - "repo": "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/purescript-codegen/purescript-ps-cst.git", - "version": "v1.2.0" - }, - "psa-utils": { - "dependencies": [ - "ansi", - "argonaut-codecs", - "argonaut-core", - "arrays", - "console", - "control", - "effect", - "either", - "foldable-traversable", - "maybe", - "node-path", - "ordered-collections", - "prelude", - "strings", - "tuples", - "unsafe-coerce" - ], - "repo": "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/natefaubion/purescript-psa-utils.git", - "version": "v8.0.0" - }, - "psc-ide": { - "dependencies": [ - "aff", - "argonaut", - "arrays", - "console", - "maybe", - "node-child-process", - "node-fs", - "parallel", - "random" - ], - "repo": "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/kRITZCREEK/purescript-psc-ide.git", - "version": "v19.0.0" - }, - "psci-support": { - "dependencies": [ - "console", - "effect", - "prelude" - ], - "repo": "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/purescript/purescript-psci-support.git", - "version": "v6.0.0" - }, - "qualified-do": { - "dependencies": [ - "arrays", - "control", - "foldable-traversable", - "parallel", - "prelude", - "unfoldable" - ], - "repo": "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/artemisSystem/purescript-qualified-do.git", - "version": "v2.2.0" - }, - "quantities": { - "dependencies": [ - "decimals", - "either", - "foldable-traversable", - "lists", - "maybe", - "newtype", - "nonempty", - "numbers", - "pairs", - "prelude", - "tuples" - ], - "repo": "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/sharkdp/purescript-quantities.git", - "version": "v12.1.0" - }, - "quickcheck": { - "dependencies": [ - "arrays", - "console", - "control", - "effect", - "either", - "enums", - "exceptions", - "foldable-traversable", - "gen", - "identity", - "integers", - "lazy", - "lcg", - "lists", - "maybe", - "newtype", - "nonempty", - "numbers", - "partial", - "prelude", - "record", - "st", - "strings", - "tailrec", - "transformers", - "tuples", - "unfoldable" - ], - "repo": "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/purescript/purescript-quickcheck.git", - "version": "v8.0.1" - }, - "quickcheck-combinators": { - "dependencies": [ - "quickcheck", - "typelevel" - ], - "repo": "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/athanclark/purescript-quickcheck-combinators.git", - "version": "v0.1.3" - }, - "quickcheck-laws": { - "dependencies": [ - "enums", - "quickcheck" - ], - "repo": "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/purescript-contrib/purescript-quickcheck-laws.git", - "version": "v7.0.0" - }, - "quickcheck-utf8": { - "dependencies": [ - "quickcheck" - ], - "repo": "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/openchronology/purescript-quickcheck-utf8.git", - "version": "v0.0.0" - }, - "random": { - "dependencies": [ - "effect", - "integers" - ], - "repo": "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/purescript/purescript-random.git", - "version": "v6.0.0" - }, - "rationals": { - "dependencies": [ - "integers", - "prelude" - ], - "repo": "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/purescript-contrib/purescript-rationals.git", - "version": "v5.0.1" - }, - "rdf": { - "dependencies": [ - "arrays", - "console", - "datetime", - "effect", - "either", - "foldable-traversable", - "formatters", - "integers", - "lists", - "maybe", - "ordered-collections", - "parsing", - "prelude", - "strings" - ], - "repo": "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/wintechis/purescript-rdf.git", - "version": "v0.1.0" - }, - "react": { - "dependencies": [ - "effect", - "exceptions", - "maybe", - "nullable", - "prelude", - "typelevel-prelude", - "unsafe-coerce" - ], - "repo": "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/purescript-contrib/purescript-react.git", - "version": "v11.0.0" - }, - "react-aria": { - "dependencies": [ - "aff", - "effect", - "foreign", - "foreign-object", - "nullable", - "ordered-collections", - "prelude", - "react-basic", - "react-basic-dom", - "react-basic-hooks", - "unsafe-coerce", - "untagged-union", - "web-dom", - "web-html" - ], - "repo": "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/rowtype-yoga/purescript-react-aria.git", - "version": "v0.2.0" - }, - "react-basic": { - "dependencies": [ - "effect", - "prelude", - "record" - ], - "repo": "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/lumihq/purescript-react-basic.git", - "version": "v17.0.0" - }, - "react-basic-classic": { - "dependencies": [ - "aff", - "effect", - "functions", - "maybe", - "nullable", - "prelude", - "react-basic" - ], - "repo": "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/lumihq/purescript-react-basic-classic.git", - "version": "v3.0.0" - }, - "react-basic-dnd": { - "dependencies": [ - "console", - "effect", - "maybe", - "nullable", - "prelude", - "react-basic-hooks", - "web-dom" - ], - "repo": "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/lumihq/purescript-react-dnd-basic.git", - "version": "v10.1.0" - }, - "react-basic-dom": { - "dependencies": [ - "arrays", - "effect", - "foldable-traversable", - "foreign-object", - "maybe", - "nullable", - "prelude", - "react-basic", - "record", - "unsafe-coerce", - "web-dom", - "web-events", - "web-file", - "web-html" - ], - "repo": "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/lumihq/purescript-react-basic-dom.git", - "version": "v6.1.0" - }, - "react-basic-emotion": { - "dependencies": [ - "arrays", - "colors", - "either", - "foreign", - "foreign-object", - "functions", - "integers", - "numbers", - "prelude", - "react-basic", - "strings", - "transformers", - "typelevel-prelude", - "unsafe-coerce", - "web-html" - ], - "repo": "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/lumihq/purescript-react-basic-emotion.git", - "version": "v7.1.0" - }, - "react-basic-hooks": { - "dependencies": [ - "aff", - "aff-promise", - "bifunctors", - "console", - "control", - "datetime", - "effect", - "either", - "exceptions", - "foldable-traversable", - "functions", - "indexed-monad", - "integers", - "maybe", - "newtype", - "now", - "nullable", - "ordered-collections", - "prelude", - "react-basic", - "refs", - "tuples", - "type-equality", - "unsafe-coerce", - "unsafe-reference", - "web-html" - ], - "repo": "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/megamaddu/purescript-react-basic-hooks.git", - "version": "v8.1.2" - }, - "react-basic-storybook": { - "dependencies": [ - "aff", - "aff-promise", - "debug", - "effect", - "foreign", - "foreign-object", - "functions", - "maybe", - "prelude", - "react-basic", - "record-studio", - "strings", - "typelevel-prelude", - "unsafe-coerce", - "web-html" - ], - "repo": "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/rowtype-yoga/purescript-react-basic-storybook.git", - "version": "v2.0.0" - }, - "react-dom": { - "dependencies": [ - "effect", - "react", - "web-dom" - ], - "repo": "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/purescript-contrib/purescript-react-dom.git", - "version": "v8.0.0" - }, - "react-halo": { - "dependencies": [ - "aff", - "bifunctors", - "effect", - "either", - "foldable-traversable", - "free", - "freeap", - "halogen-subscriptions", - "maybe", - "newtype", - "ordered-collections", - "parallel", - "prelude", - "react-basic-hooks", - "refs", - "tailrec", - "transformers", - "tuples", - "unsafe-reference" - ], - "repo": "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/robertdp/purescript-react-halo.git", - "version": "v3.0.0" - }, - "react-icons": { - "dependencies": [ - "react-basic", - "react-basic-dom", - "unsafe-coerce" - ], - "repo": "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/andys8/purescript-react-icons.git", - "version": "v1.1.1" - }, - "react-markdown": { - "dependencies": [ - "prelude", - "react-basic-hooks" - ], - "repo": "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/rowtype-yoga/purescript-react-markdown.git", - "version": "v0.1.0" - }, - "react-testing-library": { - "dependencies": [ - "aff", - "aff-promise", - "control", - "effect", - "exceptions", - "foldable-traversable", - "foreign", - "functions", - "identity", - "maybe", - "prelude", - "react-basic", - "spec", - "strings", - "transformers", - "unsafe-coerce", - "web-dom", - "web-events", - "web-html" - ], - "repo": "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/i-am-the-slime/purescript-react-testing-library.git", - "version": "v4.0.1" - }, - "react-virtuoso": { - "dependencies": [ - "effect", - "functions", - "maybe", - "prelude", - "react-basic", - "react-basic-dom", - "react-basic-hooks", - "unsafe-coerce", - "web-html" - ], - "repo": "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/rowtype-yoga/purescript-react-virtuoso.git", - "version": "v1.0.0" - }, - "read": { - "dependencies": [ - "maybe", - "prelude", - "strings" - ], - "repo": "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/truqu/purescript-read.git", - "version": "v1.0.1" - }, - "recharts": { - "dependencies": [ - "console", - "effect", - "maybe", - "nullable", - "prelude", - "react-basic", - "react-basic-hooks", - "unsafe-coerce" - ], - "repo": "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/tfc/purescript-recharts.git", - "version": "v1.1.0" - }, - "record": { - "dependencies": [ - "functions", - "prelude", - "unsafe-coerce" - ], - "repo": "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/purescript/purescript-record.git", - "version": "v4.0.0" - }, - "record-extra": { - "dependencies": [ - "arrays", - "functions", - "lists", - "prelude", - "record", - "tuples", - "typelevel-prelude" - ], - "repo": "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/justinwoo/purescript-record-extra.git", - "version": "v5.0.1" - }, - "record-studio": { - "dependencies": [ - "heterogeneous", - "lists", - "prelude", - "record", - "typelevel-prelude" - ], - "repo": "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/rowtype-yoga/purescript-record-studio.git", - "version": "v1.0.4" - }, - "refs": { - "dependencies": [ - "effect", - "prelude" - ], - "repo": "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/purescript/purescript-refs.git", - "version": "v6.0.0" - }, - "remotedata": { - "dependencies": [ - "bifunctors", - "either", - "profunctor-lenses" - ], - "repo": "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/krisajenkins/purescript-remotedata.git", - "version": "v5.0.0" - }, - "resource": { - "dependencies": [ - "aff", - "console", - "control", - "effect", - "newtype", - "prelude", - "psci-support", - "refs" - ], - "repo": "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/joneshf/purescript-resource.git", - "version": "v2.0.1" - }, - "resourcet": { - "dependencies": [ - "aff", - "effect", - "foldable-traversable", - "maybe", - "ordered-collections", - "parallel", - "refs", - "tailrec", - "transformers", - "tuples" - ], - "repo": "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/robertdp/purescript-resourcet.git", - "version": "v1.0.0" - }, - "result": { - "dependencies": [ - "either", - "foldable-traversable", - "prelude" - ], - "repo": "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/ad-si/purescript-result.git", - "version": "v1.0.3" - }, - "return": { - "dependencies": [ - "foldable-traversable", - "point-free", - "prelude" - ], - "repo": "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/ursi/purescript-return.git", - "version": "v0.2.0" - }, - "ring-modules": { - "dependencies": [ - "prelude" - ], - "repo": "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/f-o-a-m/purescript-ring-modules.git", - "version": "v5.0.1" - }, - "rito": { - "dependencies": [ - "aff", - "aff-promise", - "arrays", - "bolson", - "control", - "convertable-options", - "deku", - "effect", - "either", - "exceptions", - "exists", - "fast-vect", - "foldable-traversable", - "foreign", - "foreign-object", - "heterogeneous", - "hyrule", - "integers", - "maybe", - "newtype", - "numbers", - "prelude", - "profunctor", - "quickcheck", - "random", - "record", - "refs", - "safe-coerce", - "st", - "tuples", - "unsafe-coerce", - "variant", - "web-dom", - "web-html", - "web-touchevents", - "web-uievents" - ], - "repo": "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/mikesol/purescript-rito.git", - "version": "v0.3.2" - }, - "routing": { - "dependencies": [ - "aff", - "console", - "control", - "effect", - "either", - "foldable-traversable", - "integers", - "js-uri", - "lists", - "maybe", - "numbers", - "partial", - "prelude", - "semirings", - "tuples", - "validation", - "web-html" - ], - "repo": "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/purescript-contrib/purescript-routing.git", - "version": "v11.0.0" - }, - "routing-duplex": { - "dependencies": [ - "arrays", - "assert", - "control", - "effect", - "either", - "foldable-traversable", - "integers", - "js-uri", - "lazy", - "maybe", - "newtype", - "prelude", - "profunctor", - "quickcheck", - "record", - "strings", - "tuples" - ], - "repo": "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/natefaubion/purescript-routing-duplex.git", - "version": "v0.7.0" - }, - "run": { - "dependencies": [ - "aff", - "effect", - "either", - "free", - "maybe", - "newtype", - "prelude", - "profunctor", - "tailrec", - "tuples", - "type-equality", - "typelevel-prelude", - "unsafe-coerce", - "variant" - ], - "repo": "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/natefaubion/purescript-run.git", - "version": "v5.0.0" - }, - "safe-coerce": { - "dependencies": [ - "unsafe-coerce" - ], - "repo": "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/purescript/purescript-safe-coerce.git", - "version": "v2.0.0" - }, - "safely": { - "dependencies": [ - "freet", - "lists" - ], - "repo": "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/paf31/purescript-safely.git", - "version": "v4.0.1" - }, - "school-of-music": { - "dependencies": [ - "arrays", - "control", - "either", - "foldable-traversable", - "integers", - "lists", - "maybe", - "midi", - "ordered-collections", - "prelude", - "rationals", - "string-parsers", - "strings", - "tuples" - ], - "repo": "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/newlandsvalley/purescript-school-of-music.git", - "version": "v1.3.0" - }, - "selection-foldable": { - "dependencies": [ - "filterable", - "foldable-traversable", - "maybe", - "prelude" - ], - "repo": "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/jamieyung/purescript-selection-foldable.git", - "version": "v0.2.0" - }, - "semirings": { - "dependencies": [ - "foldable-traversable", - "lists", - "newtype", - "prelude" - ], - "repo": "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/purescript/purescript-semirings.git", - "version": "v7.0.0" - }, - "signal": { - "dependencies": [ - "aff", - "effect", - "either", - "foldable-traversable", - "maybe", - "prelude" - ], - "repo": "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/bodil/purescript-signal.git", - "version": "v13.0.0" - }, - "simple-emitter": { - "dependencies": [ - "effect", - "foldable-traversable", - "maybe", - "ordered-collections", - "prelude", - "refs" - ], - "repo": "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/oreshinya/purescript-simple-emitter.git", - "version": "v3.0.1" - }, - "simple-i18n": { - "dependencies": [ - "foreign-object", - "maybe", - "prelude", - "record", - "record-extra", - "typelevel-prelude", - "unsafe-coerce" - ], - "repo": "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/oreshinya/purescript-simple-i18n.git", - "version": "v2.0.1" - }, - "simple-json": { - "dependencies": [ - "arrays", - "exceptions", - "foreign", - "foreign-object", - "nullable", - "prelude", - "record", - "typelevel-prelude", - "variant" - ], - "repo": "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/justinwoo/purescript-simple-json.git", - "version": "v9.0.0" - }, - "simple-jwt": { - "dependencies": [ - "arrays", - "crypto", - "effect", - "either", - "maybe", - "node-buffer", - "prelude", - "simple-json", - "strings" - ], - "repo": "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/oreshinya/purescript-simple-jwt.git", - "version": "v4.0.1" - }, - "simple-ulid": { - "dependencies": [ - "arrays", - "datetime", - "effect", - "exceptions", - "integers", - "now", - "numbers", - "prelude", - "strings", - "tailrec", - "unsafe-coerce" - ], - "repo": "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/oreshinya/purescript-simple-ulid.git", - "version": "v3.0.0" - }, - "sized-matrices": { - "dependencies": [ - "arrays", - "distributive", - "foldable-traversable", - "maybe", - "prelude", - "sized-vectors", - "strings", - "typelevel", - "unfoldable", - "vectorfield" - ], - "repo": "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/csicar/purescript-sized-matrices.git", - "version": "v1.0.0" - }, - "sized-vectors": { - "dependencies": [ - "argonaut", - "arrays", - "distributive", - "foldable-traversable", - "maybe", - "prelude", - "quickcheck", - "typelevel", - "unfoldable" - ], - "repo": "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/bodil/purescript-sized-vectors.git", - "version": "v5.0.2" - }, - "slug": { - "dependencies": [ - "argonaut-codecs", - "arrays", - "either", - "maybe", - "prelude", - "strings", - "unicode" - ], - "repo": "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/thomashoneyman/purescript-slug.git", - "version": "v3.0.8" - }, - "small-ffi": { - "dependencies": [ - "arrays", - "console", - "effect", - "prelude", - "quickcheck" - ], - "repo": "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/lfarroco/purescript-small-ffi.git", - "version": "v4.0.1" - }, - "soundfonts": { - "dependencies": [ - "aff", - "affjax", - "affjax-web", - "argonaut-core", - "arraybuffer-types", - "arrays", - "b64", - "bifunctors", - "console", - "effect", - "either", - "exceptions", - "foldable-traversable", - "foreign-object", - "http-methods", - "integers", - "lists", - "maybe", - "midi", - "ordered-collections", - "parallel", - "partial", - "prelude", - "strings", - "transformers", - "tuples" - ], - "repo": "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/newlandsvalley/purescript-soundfonts.git", - "version": "v4.1.0" - }, - "sparse-matrices": { - "dependencies": [ - "arrays", - "assert", - "cartesian", - "effect", - "foldable-traversable", - "integers", - "maybe", - "numbers", - "ordered-collections", - "prelude", - "rationals", - "sparse-polynomials", - "tuples" - ], - "repo": "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/Ebmtranceboy/purescript-sparse-matrices.git", - "version": "v1.3.0" - }, - "sparse-polynomials": { - "dependencies": [ - "arrays", - "assert", - "cartesian", - "effect", - "foldable-traversable", - "integers", - "js-bigints", - "maybe", - "numbers", - "ordered-collections", - "partial", - "prelude", - "rationals", - "strings", - "tuples" - ], - "repo": "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/Ebmtranceboy/purescript-sparse-polynomials.git", - "version": "v2.0.3" - }, - "spec": { - "dependencies": [ - "aff", - "ansi", - "arrays", - "avar", - "bifunctors", - "console", - "control", - "datetime", - "effect", - "either", - "exceptions", - "foldable-traversable", - "fork", - "identity", - "integers", - "lists", - "maybe", - "newtype", - "now", - "ordered-collections", - "parallel", - "pipes", - "prelude", - "strings", - "tailrec", - "transformers", - "tuples" - ], - "repo": "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/purescript-spec/purescript-spec.git", - "version": "v7.3.0" - }, - "spec-discovery": { - "dependencies": [ - "aff", - "aff-promise", - "arrays", - "console", - "effect", - "foldable-traversable", - "node-fs", - "prelude", - "spec" - ], - "repo": "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/purescript-spec/purescript-spec-discovery.git", - "version": "v8.0.1" - }, - "spec-quickcheck": { - "dependencies": [ - "aff", - "prelude", - "quickcheck", - "random", - "spec" - ], - "repo": "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/purescript-spec/purescript-spec-quickcheck.git", - "version": "v5.0.0" - }, - "splitmix": { - "dependencies": [ - "console", - "effect", - "int64", - "integers", - "maybe", - "partial", - "prelude", - "tuples" - ], - "repo": "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/the-dr-lazy/purescript-splitmix.git", - "version": "v2.1.0" - }, - "ssrs": { - "dependencies": [ - "dissect", - "either", - "fixed-points", - "free", - "lists", - "prelude", - "safe-coerce", - "tailrec", - "tuples", - "variant" - ], - "repo": "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/PureFunctor/purescript-ssrs.git", - "version": "v1.0.0" - }, - "st": { - "dependencies": [ - "partial", - "prelude", - "tailrec", - "unsafe-coerce" - ], - "repo": "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/purescript/purescript-st.git", - "version": "v6.2.0" - }, - "statistics": { - "dependencies": [ - "arrays", - "console", - "control", - "effect", - "either", - "foldable-traversable", - "integers", - "maybe", - "numbers", - "partial", - "prelude", - "quickcheck", - "tuples" - ], - "repo": "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/jacereda/purescript-statistics.git", - "version": "v0.3.2" - }, - "strictlypositiveint": { - "dependencies": [ - "prelude" - ], - "repo": "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/jamieyung/purescript-strictlypositiveint.git", - "version": "v1.0.1" - }, - "string-parsers": { - "dependencies": [ - "arrays", - "bifunctors", - "control", - "either", - "foldable-traversable", - "lists", - "maybe", - "prelude", - "strings", - "tailrec" - ], - "repo": "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/purescript-contrib/purescript-string-parsers.git", - "version": "v8.0.0" - }, - "strings": { - "dependencies": [ - "arrays", - "control", - "either", - "enums", - "foldable-traversable", - "gen", - "integers", - "maybe", - "newtype", - "nonempty", - "partial", - "prelude", - "tailrec", - "tuples", - "unfoldable", - "unsafe-coerce" - ], - "repo": "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/purescript/purescript-strings.git", - "version": "v6.0.1" - }, - "strings-extra": { - "dependencies": [ - "arrays", - "foldable-traversable", - "maybe", - "prelude", - "strings", - "unicode" - ], - "repo": "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/purescript-contrib/purescript-strings-extra.git", - "version": "v4.0.0" - }, - "stringutils": { - "dependencies": [ - "arrays", - "integers", - "maybe", - "partial", - "prelude", - "strings" - ], - "repo": "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/menelaos/purescript-stringutils.git", - "version": "v0.0.12" - }, - "substitute": { - "dependencies": [ - "foldable-traversable", - "foreign-object", - "maybe", - "prelude", - "return", - "strings" - ], - "repo": "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/ursi/purescript-substitute.git", - "version": "v0.2.3" - }, - "sunde": { - "dependencies": [ - "aff", - "effect", - "node-child-process", - "prelude" - ], - "repo": "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/justinwoo/purescript-sunde.git", - "version": "v3.0.0" - }, - "supply": { - "dependencies": [ - "console", - "control", - "effect", - "lazy", - "prelude", - "refs", - "tuples" - ], - "repo": "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/ajnsit/purescript-supply.git", - "version": "v0.2.0" - }, - "svg-parser": { - "dependencies": [ - "arrays", - "control", - "either", - "lists", - "prelude", - "string-parsers", - "strings" - ], - "repo": "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/rnons/purescript-svg-parser.git", - "version": "v3.0.0" - }, - "systemd-journald": { - "dependencies": [ - "console", - "functions", - "prelude" - ], - "repo": "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/paluh/purescript-systemd-journald.git", - "version": "v0.3.0" - }, - "tagged": { - "dependencies": [ - "control", - "foldable-traversable", - "identity", - "invariant", - "newtype", - "prelude", - "profunctor" - ], - "repo": "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/LiamGoodacre/purescript-tagged.git", - "version": "v4.0.2" - }, - "tailrec": { - "dependencies": [ - "bifunctors", - "effect", - "either", - "identity", - "maybe", - "partial", - "prelude", - "refs" - ], - "repo": "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/purescript/purescript-tailrec.git", - "version": "v6.1.0" - }, - "tecton": { - "dependencies": [ - "arrays", - "colors", - "either", - "foldable-traversable", - "integers", - "lists", - "numbers", - "prelude", - "record", - "strings", - "transformers", - "tuples" - ], - "repo": "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/nsaunders/purescript-tecton.git", - "version": "v0.1.6" - }, - "tecton-halogen": { - "dependencies": [ - "halogen", - "lists", - "prelude", - "tecton", - "transformers" - ], - "repo": "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/nsaunders/purescript-tecton-halogen.git", - "version": "v0.1.3" - }, - "test-unit": { - "dependencies": [ - "aff", - "avar", - "effect", - "either", - "free", - "js-timers", - "lists", - "prelude", - "quickcheck", - "strings" - ], - "repo": "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/bodil/purescript-test-unit.git", - "version": "v17.0.0" - }, - "thermite": { - "dependencies": [ - "aff", - "coroutines", - "freet", - "profunctor-lenses", - "react" - ], - "repo": "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/paf31/purescript-thermite.git", - "version": "v6.3.1" - }, - "thermite-dom": { - "dependencies": [ - "react", - "react-dom", - "thermite", - "web-html" - ], - "repo": "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/athanclark/purescript-thermite-dom.git", - "version": "v0.3.1" - }, - "these": { - "dependencies": [ - "arrays", - "gen", - "lists", - "quickcheck", - "quickcheck-laws", - "tuples" - ], - "repo": "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/purescript-contrib/purescript-these.git", - "version": "v6.0.0" - }, - "toppokki": { - "dependencies": [ - "aff-promise", - "functions", - "node-buffer", - "node-fs-aff", - "node-http", - "prelude", - "record" - ], - "repo": "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/justinwoo/purescript-toppokki.git", - "version": "v4.0.0" - }, - "transformation-matrix": { - "dependencies": [ - "aff", - "arrays", - "effect", - "either", - "foldable-traversable", - "numbers", - "prelude", - "spec", - "tuples" - ], - "repo": "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/jstoxrocky/purescript-transformation-matrix.git", - "version": "v1.0.1" - }, - "transformers": { - "dependencies": [ - "control", - "distributive", - "effect", - "either", - "exceptions", - "foldable-traversable", - "identity", - "lazy", - "maybe", - "newtype", - "prelude", - "tailrec", - "tuples", - "unfoldable" - ], - "repo": "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/purescript/purescript-transformers.git", - "version": "v6.0.0" - }, - "tree-rose": { - "dependencies": [ - "control", - "foldable-traversable", - "free", - "lists", - "maybe", - "prelude", - "tailrec" - ], - "repo": "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/jordanmartinez/purescript-tree-rose.git", - "version": "v4.0.2" - }, - "ts-bridge": { - "dependencies": [ - "aff", - "aff-promise", - "arrays", - "bifunctors", - "console", - "effect", - "either", - "foldable-traversable", - "maybe", - "newtype", - "node-buffer", - "node-fs", - "node-fs-aff", - "node-path", - "node-process", - "nullable", - "optparse", - "ordered-collections", - "ordered-set", - "prelude", - "record", - "safe-coerce", - "spec", - "spec-discovery", - "strings", - "transformers", - "tuples", - "variant" - ], - "repo": "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/thought2/purescript-ts-bridge.git", - "version": "v1.0.0" - }, - "tuples": { - "dependencies": [ - "control", - "invariant", - "prelude" - ], - "repo": "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/purescript/purescript-tuples.git", - "version": "v7.0.0" - }, - "two-or-more": { - "dependencies": [ - "arrays", - "console", - "effect", - "foldable-traversable", - "maybe", - "partial", - "prelude", - "psci-support", - "tuples" - ], - "repo": "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/i-am-the-slime/purescript-two-or-more.git", - "version": "v1.0.0" - }, - "type-equality": { - "dependencies": [], - "repo": "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/purescript/purescript-type-equality.git", - "version": "v4.0.1" - }, - "typedenv": { - "dependencies": [ - "either", - "foreign-object", - "integers", - "lists", - "maybe", - "numbers", - "prelude", - "record", - "strings", - "typelevel-prelude" - ], - "repo": "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/nsaunders/purescript-typedenv.git", - "version": "v2.0.1" - }, - "typelevel": { - "dependencies": [ - "partial", - "prelude", - "tuples", - "typelevel-prelude", - "unsafe-coerce" - ], - "repo": "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/bodil/purescript-typelevel.git", - "version": "v6.0.0" - }, - "typelevel-lists": { - "dependencies": [ - "prelude", - "tuples", - "typelevel-peano", - "typelevel-prelude", - "unsafe-coerce" - ], - "repo": "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/PureFunctor/purescript-typelevel-lists.git", - "version": "v2.1.0" - }, - "typelevel-peano": { - "dependencies": [ - "arrays", - "console", - "effect", - "prelude", - "psci-support", - "typelevel-prelude", - "unsafe-coerce" - ], - "repo": "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/csicar/purescript-typelevel-peano.git", - "version": "v1.0.1" - }, - "typelevel-prelude": { - "dependencies": [ - "prelude", - "type-equality" - ], - "repo": "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/purescript/purescript-typelevel-prelude.git", - "version": "v7.0.0" - }, - "typelevel-rows": { - "dependencies": [ - "prelude" - ], - "repo": "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/jordanmartinez/purescript-typelevel-rows.git", - "version": "v0.1.0" - }, - "uint": { - "dependencies": [ - "effect", - "enums", - "gen", - "maybe", - "numbers", - "prelude" - ], - "repo": "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/purescript-contrib/purescript-uint.git", - "version": "v7.0.0" - }, - "ulid": { - "dependencies": [ - "effect", - "functions", - "maybe", - "nullable", - "prelude" - ], - "repo": "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/maxdeviant/purescript-ulid.git", - "version": "v3.0.1" - }, - "uncurried-transformers": { - "dependencies": [ - "control", - "effect", - "either", - "functions", - "identity", - "prelude", - "safe-coerce", - "tailrec", - "transformers", - "tuples" - ], - "repo": "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/PureFunctor/purescript-uncurried-transformers.git", - "version": "v1.1.0" - }, - "undefined": { - "dependencies": [], - "repo": "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/bklaric/purescript-undefined.git", - "version": "v2.0.0" - }, - "undefined-is-not-a-problem": { - "dependencies": [ - "arrays", - "assert", - "effect", - "either", - "foreign", - "maybe", - "newtype", - "prelude", - "random", - "tuples", - "type-equality", - "unsafe-coerce" - ], - "repo": "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/paluh/purescript-undefined-is-not-a-problem.git", - "version": "v1.1.0" - }, - "unfoldable": { - "dependencies": [ - "foldable-traversable", - "maybe", - "partial", - "prelude", - "tuples" - ], - "repo": "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/purescript/purescript-unfoldable.git", - "version": "v6.0.0" - }, - "unicode": { - "dependencies": [ - "foldable-traversable", - "maybe", - "strings" - ], - "repo": "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/purescript-contrib/purescript-unicode.git", - "version": "v6.0.0" - }, - "unique": { - "dependencies": [ - "effect", - "prelude", - "refs" - ], - "repo": "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/rowtype-yoga/purescript-unique.git", - "version": "v0.6.1" - }, - "unlift": { - "dependencies": [ - "aff", - "effect", - "either", - "freet", - "identity", - "lists", - "maybe", - "monad-control", - "prelude", - "st", - "transformers", - "tuples" - ], - "repo": "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/tweag/purescript-unlift.git", - "version": "v1.0.1" - }, - "unordered-collections": { - "dependencies": [ - "arrays", - "enums", - "functions", - "integers", - "lists", - "prelude", - "record", - "tuples", - "typelevel-prelude", - "unfoldable" - ], - "repo": "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/fehrenbach/purescript-unordered-collections.git", - "version": "v3.0.1" - }, - "unsafe-coerce": { - "dependencies": [], - "repo": "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/purescript/purescript-unsafe-coerce.git", - "version": "v6.0.0" - }, - "unsafe-reference": { - "dependencies": [ - "prelude" - ], - "repo": "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/purescript-contrib/purescript-unsafe-reference.git", - "version": "v5.0.0" - }, - "untagged-to-tagged": { - "dependencies": [ - "either", - "newtype", - "prelude", - "untagged-union" - ], - "repo": "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/sigma-andex/purescript-untagged-to-tagged.git", - "version": "v0.1.4" - }, - "untagged-union": { - "dependencies": [ - "assert", - "console", - "effect", - "foreign", - "foreign-object", - "literals", - "maybe", - "newtype", - "psci-support", - "tuples", - "unsafe-coerce" - ], - "repo": "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/rowtype-yoga/purescript-untagged-union.git", - "version": "v1.0.0" - }, - "uri": { - "dependencies": [ - "arrays", - "integers", - "js-uri", - "numbers", - "parsing", - "prelude", - "profunctor-lenses", - "these", - "transformers", - "unfoldable" - ], - "repo": "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/purescript-contrib/purescript-uri.git", - "version": "v9.0.0" - }, - "uuid": { - "dependencies": [ - "aff", - "effect", - "maybe", - "partial", - "prelude", - "spec", - "strings" - ], - "repo": "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/megamaddu/purescript-uuid.git", - "version": "v9.0.0" - }, - "uuidv4": { - "dependencies": [ - "prelude", - "random", - "strings" - ], - "repo": "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/garyb/purescript-uuidv4.git", - "version": "v1.0.0" - }, - "validation": { - "dependencies": [ - "bifunctors", - "control", - "either", - "foldable-traversable", - "newtype", - "prelude" - ], - "repo": "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/purescript/purescript-validation.git", - "version": "v6.0.0" - }, - "variant": { - "dependencies": [ - "enums", - "lists", - "maybe", - "partial", - "prelude", - "record", - "tuples", - "unsafe-coerce" - ], - "repo": "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/natefaubion/purescript-variant.git", - "version": "v8.0.0" - }, - "vectorfield": { - "dependencies": [ - "console", - "effect", - "group", - "prelude", - "psci-support" - ], - "repo": "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/csicar/purescript-vectorfield.git", - "version": "v1.0.1" - }, - "vectors": { - "dependencies": [ - "console", - "effect", - "foldable-traversable", - "prelude", - "profunctor-lenses" - ], - "repo": "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/thought2/purescript-vectors.git", - "version": "v2.1.0" - }, - "versions": { - "dependencies": [ - "control", - "either", - "foldable-traversable", - "functions", - "integers", - "lists", - "maybe", - "orders", - "parsing", - "partial", - "strings" - ], - "repo": "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/hdgarrood/purescript-versions.git", - "version": "v7.0.0" - }, - "visx": { - "dependencies": [ - "arrays", - "console", - "datetime", - "effect", - "either", - "foldable-traversable", - "foreign", - "foreign-object", - "functions", - "integers", - "js-date", - "justifill", - "lists", - "maybe", - "nullable", - "prelude", - "react-basic", - "react-basic-dom", - "react-basic-hooks", - "record", - "transformers", - "tuples", - "typelevel-prelude", - "unsafe-coerce", - "untagged-union", - "web-dom" - ], - "repo": "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/i-am-the-slime/purescript-visx.git", - "version": "v0.0.2" - }, - "web-clipboard": { - "dependencies": [ - "js-promise", - "web-html" - ], - "repo": "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/purescript-web/purescript-web-clipboard.git", - "version": "v5.0.0" - }, - "web-cssom": { - "dependencies": [ - "web-dom", - "web-html", - "web-uievents" - ], - "repo": "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/purescript-web/purescript-web-cssom.git", - "version": "v2.0.0" - }, - "web-cssom-view": { - "dependencies": [ - "aff", - "web-events", - "web-geometry", - "web-html" - ], - "repo": "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/purescript-web/purescript-web-cssom-view.git", - "version": "v0.1.0" - }, - "web-dom": { - "dependencies": [ - "web-events" - ], - "repo": "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/purescript-web/purescript-web-dom.git", - "version": "v6.0.0" - }, - "web-dom-parser": { - "dependencies": [ - "effect", - "partial", - "prelude", - "web-dom" - ], - "repo": "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/purescript-web/purescript-web-dom-parser.git", - "version": "v8.0.0" - }, - "web-dom-xpath": { - "dependencies": [ - "web-dom" - ], - "repo": "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/purescript-web/purescript-web-dom-xpath.git", - "version": "v3.0.0" - }, - "web-encoding": { - "dependencies": [ - "arraybuffer-types", - "effect", - "newtype", - "prelude" - ], - "repo": "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/purescript-web/purescript-web-encoding.git", - "version": "v3.0.0" - }, - "web-events": { - "dependencies": [ - "datetime", - "enums", - "foreign", - "nullable" - ], - "repo": "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/purescript-web/purescript-web-events.git", - "version": "v4.0.0" - }, - "web-fetch": { - "dependencies": [ - "effect", - "foreign-object", - "http-methods", - "prelude", - "record", - "typelevel-prelude", - "web-file", - "web-promise", - "web-streams" - ], - "repo": "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/purescript-web/purescript-web-fetch.git", - "version": "v3.0.0" - }, - "web-file": { - "dependencies": [ - "foreign", - "media-types", - "web-dom" - ], - "repo": "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/purescript-web/purescript-web-file.git", - "version": "v4.0.0" - }, - "web-geometry": { - "dependencies": [], - "repo": "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/purescript-web/purescript-web-geometry.git", - "version": "v0.1.0" - }, - "web-html": { - "dependencies": [ - "js-date", - "web-dom", - "web-file", - "web-storage" - ], - "repo": "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/purescript-web/purescript-web-html.git", - "version": "v4.1.0" - }, - "web-pointerevents": { - "dependencies": [ - "effect", - "maybe", - "prelude", - "web-dom", - "web-uievents" - ], - "repo": "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/purescript-web/purescript-web-pointerevents.git", - "version": "v1.0.0" - }, - "web-proletarian": { - "dependencies": [ - "effect", - "prelude" - ], - "repo": "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/rowtype-yoga/purescript-web-proletarian.git", - "version": "v1.0.0" - }, - "web-promise": { - "dependencies": [ - "effect", - "exceptions", - "foldable-traversable", - "functions", - "maybe", - "prelude" - ], - "repo": "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/purescript-web/purescript-web-promise.git", - "version": "v3.1.0" - }, - "web-resize-observer": { - "dependencies": [ - "arrays", - "console", - "control", - "effect", - "either", - "foldable-traversable", - "foreign", - "prelude", - "record", - "transformers", - "web-dom" - ], - "repo": "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/nsaunders/purescript-web-resize-observer.git", - "version": "v2.0.0" - }, - "web-router": { - "dependencies": [ - "aff", - "effect", - "foldable-traversable", - "foreign", - "freet", - "indexed-monad", - "maybe", - "prelude", - "profunctor-lenses", - "refs", - "routing", - "type-equality" - ], - "repo": "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/robertdp/purescript-web-router.git", - "version": "v1.0.0" - }, - "web-socket": { - "dependencies": [ - "arraybuffer-types", - "web-file" - ], - "repo": "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/purescript-web/purescript-web-socket.git", - "version": "v4.0.0" - }, - "web-storage": { - "dependencies": [ - "nullable", - "web-events" - ], - "repo": "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/purescript-web/purescript-web-storage.git", - "version": "v5.0.0" - }, - "web-streams": { - "dependencies": [ - "arraybuffer-types", - "effect", - "exceptions", - "nullable", - "prelude", - "tuples", - "web-promise" - ], - "repo": "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/purescript-web/purescript-web-streams.git", - "version": "v3.0.0" - }, - "web-touchevents": { - "dependencies": [ - "web-uievents" - ], - "repo": "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/purescript-web/purescript-web-touchevents.git", - "version": "v4.0.0" - }, - "web-uievents": { - "dependencies": [ - "web-html" - ], - "repo": "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/purescript-web/purescript-web-uievents.git", - "version": "v4.0.0" - }, - "web-url": { - "dependencies": [ - "aff", - "effect", - "maybe", - "partial", - "prelude", - "spec", - "tuples" - ], - "repo": "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/mjepronk/purescript-web-url.git", - "version": "v2.0.0" - }, - "web-workers": { - "dependencies": [ - "effect", - "foreign", - "maybe", - "prelude", - "unsafe-coerce", - "web-events" - ], - "repo": "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/purescript-web/purescript-web-workers.git", - "version": "v1.1.0" - }, - "web-xhr": { - "dependencies": [ - "arraybuffer-types", - "datetime", - "http-methods", - "web-dom", - "web-file", - "web-html" - ], - "repo": "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/purescript-web/purescript-web-xhr.git", - "version": "v5.0.1" - }, - "webextension-polyfill": { - "dependencies": [ - "aff", - "aff-promise", - "console", - "effect", - "either", - "foldable-traversable", - "foreign", - "foreign-object", - "maybe", - "newtype", - "prelude", - "yoga-json" - ], - "repo": "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/rowtype-yoga/purescript-webextension-polyfill.git", - "version": "v0.1.0" - }, - "which": { - "dependencies": [ - "arrays", - "effect", - "foreign", - "maybe", - "nullable", - "options", - "prelude" - ], - "repo": "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/maxdeviant/purescript-which.git", - "version": "v2.0.0" - }, - "yoga-fetch": { - "dependencies": [ - "aff", - "aff-promise", - "arraybuffer-types", - "effect", - "foreign", - "foreign-object", - "newtype", - "prelude", - "typelevel-prelude", - "unsafe-coerce" - ], - "repo": "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/rowtype-yoga/purescript-yoga-fetch.git", - "version": "v1.0.1" - }, - "yoga-json": { - "dependencies": [ - "arrays", - "bifunctors", - "control", - "datetime", - "effect", - "either", - "exceptions", - "foldable-traversable", - "foreign", - "foreign-object", - "free", - "identity", - "integers", - "js-bigints", - "js-date", - "lists", - "maybe", - "newtype", - "nullable", - "numbers", - "ordered-collections", - "partial", - "prelude", - "record", - "strings", - "transformers", - "tuples", - "typelevel-prelude", - "unsafe-coerce", - "variant", - "yoga-tree" - ], - "repo": "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/rowtype-yoga/purescript-yoga-json.git", - "version": "v5.1.0" - }, - "yoga-om": { - "dependencies": [ - "aff", - "avar", - "console", - "control", - "datetime", - "effect", - "either", - "exceptions", - "functions", - "maybe", - "newtype", - "parallel", - "prelude", - "record", - "record-studio", - "tailrec", - "transformers", - "tuples", - "typelevel-prelude", - "uncurried-transformers", - "unsafe-coerce", - "variant" - ], - "repo": "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/rowtype-yoga/purescript-yoga-om.git", - "version": "v0.1.0" - }, - "yoga-postgres": { - "dependencies": [ - "aff", - "arrays", - "datetime", - "effect", - "either", - "enums", - "foldable-traversable", - "foreign", - "integers", - "maybe", - "nullable", - "prelude", - "transformers", - "unsafe-coerce" - ], - "repo": "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/rowtype-yoga/purescript-yoga-postgres.git", - "version": "v6.0.0" - }, - "yoga-tree": { - "dependencies": [ - "arrays", - "control", - "foldable-traversable", - "free", - "maybe", - "prelude", - "tailrec" - ], - "repo": "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/rowtype-yoga/purescript-yoga-tree.git", - "version": "v1.0.0" - } -} diff --git a/scripts/gen-package-set-json b/scripts/gen-package-set-json new file mode 100755 index 00000000..7586f708 --- /dev/null +++ b/scripts/gen-package-set-json @@ -0,0 +1,55 @@ +#!/usr/bin/env bash +# Generate packages.json — a consumable package set for the new Spago. +# +# The new Spago (>= 0.93) consumes a custom set through +# `workspace.packageSet.url` (or `packageSet.path`) and parses it as a +# RemotePackageSet: { compiler, version, packages }, where each package is +# either a registry version string, a git entry, or a legacy git entry. We +# publish exactly that: the upstream PureScript registry package set as the +# pure-package baseline, with THIS repo's Lua forks overlaid as git entries. +# A consumer points `packageSet.url` at the released file and gets the Lua +# forks in place of their JavaScript-targeting upstreams — no `extraPackages` +# block and no Dhall `//` merge. +# +# scripts/gen-package-set-json # write packages.json at the repo root +# +# src/packages.dhall stays the single source of truth for the forks; this +# script only reshapes it and folds it onto the registry baseline. Self- +# contained: it pulls dhall-to-json + jq + curl from nixpkgs, so it needs no +# repo flake or dev shell (same pattern as scripts/gen-readme-table.sh). +set -euo pipefail +cd "$(dirname "$0")/.." + +# Registry package set used as the pure-package baseline. The 77.x sets are +# built with compiler 0.15.15; pslua runs purs 0.15.16 (a proven-compatible +# pairing — the same baseline pslua's own test/ps resolves against). No +# registry set is built for 0.15.16, so this is the latest usable one. The set +# files in the registry are append-only, so pinning by version is stable. +REGISTRY_SET="77.8.0" +export REGISTRY_URL="https://raw.githubusercontent.com/purescript/registry/main/package-sets/${REGISTRY_SET}.json" + +nix shell nixpkgs#dhall-json nixpkgs#jq nixpkgs#curl --accept-flake-config -c bash -c ' + set -euo pipefail + + # Pure-package baseline (RemotePackageSet: packages = name -> version string). + baseline="$(curl -fsSL "$REGISTRY_URL")" + + # Forks as git entries. src/packages.dhall is the legacy + # { repo, version, dependencies } shape; rename repo->git, version->ref so the + # forks resolve as git packages (clone at the tag) rather than registry + # versions. Carrying dependencies keeps the set self-sufficient even before a + # fork ships its own spago.yaml. + forks="$(dhall-to-json --file src/packages.dhall \ + | jq "to_entries + | map({ key, value: { git: .value.repo, ref: .value.version, dependencies: .value.dependencies } }) + | from_entries")" + + # Fold the forks over the baseline; keep the baseline compiler + version (a + # valid semver the registry stamped — our own release tag identifies the + # revision via the GitHub release the asset hangs on). + jq -n --argjson b "$baseline" --argjson f "$forks" \ + "{ compiler: \$b.compiler, version: \$b.version, packages: (\$b.packages + \$f) }" \ + > packages.json + + echo "Wrote packages.json: registry $(jq -r .version <<<"$baseline") baseline ($(jq ".packages | length" <<<"$baseline") packages) + $(jq "length" <<<"$forks") Lua forks = $(jq ".packages | length" packages.json) total." +' diff --git a/test/.gitignore b/test/.gitignore index e9335067..8ac7ea2c 100644 --- a/test/.gitignore +++ b/test/.gitignore @@ -2,3 +2,4 @@ /output/ /.psci_modules/ /dist/ +/spago.lock diff --git a/test/packages.dhall b/test/packages.dhall deleted file mode 100644 index 05295950..00000000 --- a/test/packages.dhall +++ /dev/null @@ -1,11 +0,0 @@ --- Package set under test: the official PureScript set overridden by THIS --- repo's Lua forks (../src/packages.dhall). Mirrors how pslua's own test/ps --- consumes the released set, but points at the working tree instead of a --- published release so CI validates the set before it is tagged. -let upstream-ps = - https://github.com/purescript/package-sets/releases/download/psc-0.15.15-20260605/packages.dhall - sha256:e48c9b283ca89ec994453459fb74c4b5b5a9432349f83a2e104f39dd869a0f6e - -let upstream-lua = ../src/packages.dhall - -in upstream-ps // upstream-lua diff --git a/test/spago.dhall b/test/spago.dhall deleted file mode 100644 index cdb84f6d..00000000 --- a/test/spago.dhall +++ /dev/null @@ -1,30 +0,0 @@ --- Depends on every package in the set so `spago build` compiles them all --- together, surfacing version incompatibilities between the pinned tags. --- Keep this list in sync with the keys of ../src/packages.dhall. -{ name = "set-coherence-check" -, dependencies = - [ "arrays" - , "assert" - , "console" - , "control" - , "effect" - , "enums" - , "exceptions" - , "foldable-traversable" - , "functions" - , "integers" - , "lazy" - , "lua-ngx" - , "numbers" - , "partial" - , "prelude" - , "refs" - , "safe-coerce" - , "st" - , "strings" - , "unfoldable" - , "unsafe-coerce" - ] -, packages = ./packages.dhall -, sources = [ "src/**/*.purs" ] -} diff --git a/test/spago.yaml b/test/spago.yaml new file mode 100644 index 00000000..e07db8c4 --- /dev/null +++ b/test/spago.yaml @@ -0,0 +1,43 @@ +# Coherence check for the whole set. Depends on every Lua fork so `spago build` +# compiles them together, surfacing version incompatibilities between the +# pinned tags. Keep this list in sync with the keys of ../src/packages.dhall. +# +# The set under test is ../packages.json — the consumable RemotePackageSet that +# scripts/gen-package-set-json builds from src/packages.dhall onto the registry +# baseline. CI generates it before building, so this validates both the set and +# the generator against the working tree, before any release is tagged. It +# mirrors how pslua's own test/ps consumes the released set (packageSet.url), +# but points at the working tree instead of a release. +# +# A no-op backend (`true`) makes spago compile with `--codegen corefn` rather +# than JS: the forks ship Lua FFI, so JS codegen would fail to resolve it, and +# corefn type-checks the sources together, which is all this check needs. +package: + name: set-coherence-check + dependencies: + - arrays + - assert + - console + - control + - effect + - enums + - exceptions + - foldable-traversable + - functions + - integers + - lazy + - lua-ngx + - numbers + - partial + - prelude + - refs + - safe-coerce + - st + - strings + - unfoldable + - unsafe-coerce +workspace: + backend: + cmd: "true" + packageSet: + path: ../packages.json diff --git a/test/src/Main.purs b/test/src/Main.purs index eaee7c06..a4b43bd1 100644 --- a/test/src/Main.purs +++ b/test/src/Main.purs @@ -1,3 +1,3 @@ -- Empty entry module: `spago build` still compiles the full dependency --- closure declared in spago.dhall, which is what this coherence check needs. +-- closure declared in spago.yaml, which is what this coherence check needs. module Main where From fbef10f4792c8a3feee266d973a3714cecca60d9 Mon Sep 17 00:00:00 2001 From: Yura Lazarev Date: Tue, 23 Jun 2026 18:47:18 +0200 Subject: [PATCH 2/5] refactor: drop Dhall, make src/packages.json the source of truth src/packages.dhall used zero Dhall features beyond a flat record, and with the forks migrating off spago 0.21 too, Dhall had no remaining purpose. Convert the forks overlay to src/packages.json once and remove Dhall from the repo. - src/packages.dhall -> src/packages.json (same {repo,version,dependencies} overlay, now JSON). - gen-package-set-json / gen-readme-table.sh read src/packages.json with jq; drop dhall-to-json (and dhall-json from their nix shells). - release.yml: stop publishing the legacy packages.dhall asset; only packages.json. spago 0.21 / Dhall is no longer supported. - README / CONTRIBUTING / ADR 0006 / ADR 0008 + .gitignore + test-set.yml comments: point at src/packages.json; ADR 0008 records the wholesale Dhall removal. The fork-level Dhall (dev-shell tool, treefmt formatter; ADR 0001/ 0007) is removed in the per-fork migration pass. Verified: generator still yields the 640-package set; coherence build green; README table in sync. --- .github/workflows/release.yml | 13 +- .github/workflows/test-set.yml | 4 +- .gitignore | 5 +- CONTRIBUTING.md | 16 +- README.md | 40 +--- .../adr/0006-fork-release-by-annotated-tag.md | 2 +- .../0008-new-spago-and-json-package-set.md | 23 +- scripts/gen-package-set-json | 25 +-- scripts/gen-readme-table.sh | 18 +- src/packages.dhall | 154 ------------- src/packages.json | 206 ++++++++++++++++++ test/spago.yaml | 4 +- 12 files changed, 269 insertions(+), 241 deletions(-) delete mode 100644 src/packages.dhall create mode 100644 src/packages.json diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0f30068d..750fc6e6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,25 +16,20 @@ jobs: steps: - uses: actions/checkout@v5 - # The generator pulls dhall-json + jq + curl from nixpkgs. + # The generator pulls jq + curl from nixpkgs. - uses: cachix/install-nix-action@v31 - # Legacy asset: the forks-only overlay for Dhall / spago 0.21 consumers - # (the `upstream-ps // upstream-lua` merge). - - name: Assemble packages.dhall - run: cp ./src/packages.dhall packages.dhall - # Consumable asset: a full RemotePackageSet (registry baseline + Lua fork # git overrides) for the new spago via `workspace.packageSet.url`. - name: Generate packages.json run: ./scripts/gen-package-set-json - - name: Create release with both assets + - name: Create release env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | gh release create "$GITHUB_REF_NAME" \ --repo "$GITHUB_REPOSITORY" \ --title "$GITHUB_REF_NAME" \ - --notes "PureScript Lua package set \`$GITHUB_REF_NAME\`. \`packages.json\` is the consumable set for the new spago (\`workspace.packageSet.url\`); \`packages.dhall\` is the legacy overlay for the Dhall \`//\` merge." \ - ./packages.dhall ./packages.json + --notes "PureScript Lua package set \`$GITHUB_REF_NAME\` for the new spago: point \`workspace.packageSet.url\` at this release's \`packages.json\`." \ + ./packages.json diff --git a/.github/workflows/test-set.yml b/.github/workflows/test-set.yml index 059ec86a..ef57d4f1 100644 --- a/.github/workflows/test-set.yml +++ b/.github/workflows/test-set.yml @@ -53,7 +53,7 @@ jobs: nix develop github:purescript-lua/purescript-lua --accept-flake-config \ -c bash -c 'cd test && spago build' - # The README package table is generated from src/packages.dhall; guard against + # The README package table is generated from src/packages.json; guard against # hand-edits / forgotten regeneration so it cannot drift out of sync again. readme-table: runs-on: ubuntu-latest @@ -62,5 +62,5 @@ jobs: steps: - uses: actions/checkout@v5 - uses: cachix/install-nix-action@v31 - - name: README package table is in sync with src/packages.dhall + - name: README package table is in sync with src/packages.json run: ./scripts/gen-readme-table.sh --check diff --git a/.gitignore b/.gitignore index 8e7016fa..ab9ad39a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,6 @@ -# Release artifacts assembled from src/packages.dhall at release time +# Release artifact assembled from src/packages.json at release time # (scripts/gen-package-set-json / the release workflow). The single source of -# truth is src/packages.dhall; these are generated, never committed. -/packages.dhall +# truth is src/packages.json; this is generated, never committed. /packages.json # Local-only working files (drafts, notes); never pushed. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a59ac840..8a635ad1 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -41,19 +41,19 @@ imports it with `@AGENTS.md`. Edit `AGENTS.md`; never duplicate. ## Releasing ([ADR 0006](docs/adr/0006-fork-release-by-annotated-tag.md)) -Annotated git tag on `master` → bump the fork's version in `src/packages.dhall` → +Annotated git tag on `master` → bump the fork's version in `src/packages.json` → regenerate the README package table (`scripts/gen-readme-table.sh`) → refresh `latest-compatible-sets.json` → push a `psc-*` set tag. A tooling-only PR needs no release. -A `psc-*` tag publishes two release assets, both generated from -`src/packages.dhall` ([ADR 0008](docs/adr/0008-new-spago-and-json-package-set.md)): -`packages.json` — the consumable RemotePackageSet for the new spago -(`workspace.packageSet.url`), built by `scripts/gen-package-set-json` — and the -legacy `packages.dhall` overlay, kept for Dhall / spago 0.21 consumers. +A `psc-*` tag publishes one release asset +([ADR 0008](docs/adr/0008-new-spago-and-json-package-set.md)): `packages.json`, +the consumable RemotePackageSet for the new spago (`workspace.packageSet.url`), +built from `src/packages.json` by `scripts/gen-package-set-json`. spago 0.21 / +Dhall is no longer supported. -The README package table is generated from `src/packages.dhall` (the single -source of truth) — run `scripts/gen-readme-table.sh` after any version bump and +The README package table is generated from `src/packages.json` (the single +source of truth): run `scripts/gen-readme-table.sh` after any version bump and commit the result. CI (`scripts/gen-readme-table.sh --check`) fails if it drifts. ## Decisions and ADRs diff --git a/README.md b/README.md index cd76eaa3..bd8b6dcb 100644 --- a/README.md +++ b/README.md @@ -5,15 +5,14 @@ the PureScript-to-Lua compiler backend. It collects the core PureScript libraries as Lua forks: each fork keeps the upstream PureScript sources and replaces the JavaScript FFI with Lua that runs on Lua 5.1. -[`src/packages.dhall`](src/packages.dhall) is the source of truth: it lists only -the Lua forks. Each `psc-*` release turns it into two assets — `packages.json`, a -complete set you consume directly with the new spago, and the legacy -`packages.dhall` overlay (see below). +[`src/packages.json`](src/packages.json) is the source of truth: it lists only +the Lua forks. Each `psc-*` release folds it onto a pinned upstream PureScript +registry set and publishes the result as `packages.json`, a complete set you +consume directly with the new spago. ## Using the set with spago -With the new spago (`spago.yaml`), point `workspace.packageSet.url` at a released -`packages.json`: +Point `workspace.packageSet.url` at a released `packages.json`: ```yaml workspace: @@ -22,39 +21,22 @@ workspace: ``` That set already carries the Lua forks in place of their JavaScript-targeting -upstreams, so you just list what you need under `package.dependencies` — no +upstreams, so you just list what you need under `package.dependencies`: no `extraPackages` block and no merge. Releases are tagged `psc-0.15.15-[-N]`; [`latest-compatible-sets.json`](latest-compatible-sets.json) records the most recent one. -### Legacy Dhall consumers (spago 0.21) - -The older `packages.dhall` overlay is still published. It is the *overrides* half -of a set, not a whole set, so in your project's `packages.dhall` you merge it with -the upstream PureScript set and let the Lua forks win: - -```dhall -let upstream-ps = - https://github.com/purescript/package-sets/releases/download/psc-0.15.15-20240309/packages.dhall - -let upstream-lua = - https://github.com/purescript-lua/purescript-lua-package-sets/releases/download/psc-0.15.15-20260623/packages.dhall - -in upstream-ps // upstream-lua -``` - -The right operand wins, so every package with a Lua fork comes from this set and -everything else from the PureScript set. Pointing at the Lua release alone would -give you only the forks, which is why the merge is required. +The set targets the new spago (`spago.yaml`/`spago.lock`). spago 0.21 / Dhall is +no longer supported. ## Packages The Lua forks in this set. Each keeps its upstream PureScript API and ships a Lua -FFI in place of the JavaScript one. The package name is the Dhall key in -`src/packages.dhall` — note that the OpenResty bindings are keyed `lua-ngx`. +FFI in place of the JavaScript one. The package name is the key in +`src/packages.json`; note that the OpenResty bindings are keyed `lua-ngx`. - + | Package | Repository | Version | |---|---|---| | arrays | https://github.com/purescript-lua/purescript-lua-arrays | v7.4.1 | diff --git a/docs/adr/0006-fork-release-by-annotated-tag.md b/docs/adr/0006-fork-release-by-annotated-tag.md index a9c123cd..2c8102ed 100644 --- a/docs/adr/0006-fork-release-by-annotated-tag.md +++ b/docs/adr/0006-fork-release-by-annotated-tag.md @@ -13,7 +13,7 @@ tags with no GitHub Release attached. A fork release is an annotated git tag on `master`, pushed to the fork. No GitHub Release and no per-fork changelog entry. After tagging, bump the fork's `version` -in this repository's `src/packages.dhall`, refresh `latest-compatible-sets.json`, +in this repository's `src/packages.json`, refresh `latest-compatible-sets.json`, and push a `psc-0.15.15-[-N]` set tag, which the release workflow turns into the set asset. A pull request that touches only tooling, CI, or the flake (not `src/`) needs no tag or set bump, because spago consumes `src/` only. diff --git a/docs/adr/0008-new-spago-and-json-package-set.md b/docs/adr/0008-new-spago-and-json-package-set.md index f53a5e87..b1b826bc 100644 --- a/docs/adr/0008-new-spago-and-json-package-set.md +++ b/docs/adr/0008-new-spago-and-json-package-set.md @@ -30,33 +30,36 @@ Each release publishes a `packages.json` asset: a RemotePackageSet (`{ compiler, version, packages }`) where the pure packages come from a pinned upstream **registry package set** baseline (the proven-compatible 77.x set; see the generator) and the Lua forks are overlaid as **git entries** -(`{ git, ref, dependencies }`). `src/packages.dhall` stays the single source of -truth for the forks; `scripts/gen-package-set-json` reshapes it onto the baseline. -Consumers point `workspace.packageSet.url` at the published `packages.json` and -drop `extraPackages` entirely. +(`{ git, ref, dependencies }`). `src/packages.json` is the single source of truth +for the forks (a small overlay); `scripts/gen-package-set-json` reshapes it onto +the baseline. Consumers point `workspace.packageSet.url` at the published +`packages.json` and drop `extraPackages` entirely. The forks and the set's own coherence check migrate to the new spago (1.x): `spago.yaml` replaces `spago.dhall`/`packages.dhall`, and the toolchain pin moves from `spago-bin.spago-0_21_0` to `spago-bin.spago-1_0_4`. This **supersedes the spago 0.21.0 pin in ADR 0001**; the purs 0.15.16 and Lua 5.1 pins there stand. -The legacy `packages.dhall` asset is still published alongside `packages.json`, -so existing Dhall / spago 0.21 consumers are not broken. +Dhall is dropped wholesale: the overlay source becomes `src/packages.json`, the +legacy `packages.dhall` release asset is removed, and the `dhall-to-json` step +leaves the generator and the README-table script. spago 0.21 / Dhall consumers +are no longer supported — the whole ecosystem moves to the new spago. ## Consequences - The set is a live build input again — one URL, no `//` merge, no inlined `extraPackages` dependency lists in every consumer. - `packages.json` is generated, never committed: `scripts/gen-package-set-json` - builds it from `src/packages.dhall` + the pinned registry baseline. The + builds it from `src/packages.json` + the pinned registry baseline. The coherence check (`test-set.yml`) regenerates it and builds against it, so the generator is exercised on every push. - The published `version`/`compiler` fields are the registry baseline's (`0.15.15` / its set version); the GitHub release tag (`psc-0.15.15-`) identifies our revision. purs 0.15.16 against a 0.15.15-built set is the same proven-compatible pairing pslua's `test/ps` already relies on. -- A fork tag bump flows through unchanged: bump `src/packages.dhall`, regenerate +- A fork tag bump flows through unchanged: bump `src/packages.json`, regenerate the README table, refresh `latest-compatible-sets.json`, push a `psc-*` tag — - the release workflow now emits both assets (see [0006](0006-fork-release-by-annotated-tag.md)). + the release workflow emits `packages.json` (see [0006](0006-fork-release-by-annotated-tag.md)). - Each fork's own build migrates to `spago.yaml` + spago 1.x (rolled out per - fork; CONTRIBUTING reflects the new toolchain). + fork; CONTRIBUTING reflects the new toolchain). The Dhall formatter and the + `dhall` dev-shell tool leave each fork as part of that pass. diff --git a/scripts/gen-package-set-json b/scripts/gen-package-set-json index 7586f708..875f1f9e 100755 --- a/scripts/gen-package-set-json +++ b/scripts/gen-package-set-json @@ -13,10 +13,10 @@ # # scripts/gen-package-set-json # write packages.json at the repo root # -# src/packages.dhall stays the single source of truth for the forks; this -# script only reshapes it and folds it onto the registry baseline. Self- -# contained: it pulls dhall-to-json + jq + curl from nixpkgs, so it needs no -# repo flake or dev shell (same pattern as scripts/gen-readme-table.sh). +# src/packages.json is the single source of truth for the forks; this script +# only reshapes it and folds it onto the registry baseline. Self-contained: it +# pulls jq + curl from nixpkgs, so it needs no repo flake or dev shell (same +# pattern as scripts/gen-readme-table.sh). set -euo pipefail cd "$(dirname "$0")/.." @@ -28,21 +28,20 @@ cd "$(dirname "$0")/.." REGISTRY_SET="77.8.0" export REGISTRY_URL="https://raw.githubusercontent.com/purescript/registry/main/package-sets/${REGISTRY_SET}.json" -nix shell nixpkgs#dhall-json nixpkgs#jq nixpkgs#curl --accept-flake-config -c bash -c ' +nix shell nixpkgs#jq nixpkgs#curl --accept-flake-config -c bash -c ' set -euo pipefail # Pure-package baseline (RemotePackageSet: packages = name -> version string). baseline="$(curl -fsSL "$REGISTRY_URL")" - # Forks as git entries. src/packages.dhall is the legacy - # { repo, version, dependencies } shape; rename repo->git, version->ref so the - # forks resolve as git packages (clone at the tag) rather than registry - # versions. Carrying dependencies keeps the set self-sufficient even before a - # fork ships its own spago.yaml. - forks="$(dhall-to-json --file src/packages.dhall \ - | jq "to_entries + # Forks as git entries. src/packages.json is the { repo, version, + # dependencies } overlay; rename repo->git, version->ref so the forks resolve + # as git packages (clone at the tag) rather than registry versions. Carrying + # dependencies keeps the set self-sufficient even before a fork ships its own + # spago.yaml. + forks="$(jq "to_entries | map({ key, value: { git: .value.repo, ref: .value.version, dependencies: .value.dependencies } }) - | from_entries")" + | from_entries" src/packages.json)" # Fold the forks over the baseline; keep the baseline compiler + version (a # valid semver the registry stamped — our own release tag identifies the diff --git a/scripts/gen-readme-table.sh b/scripts/gen-readme-table.sh index df57248e..76a3caf6 100755 --- a/scripts/gen-readme-table.sh +++ b/scripts/gen-readme-table.sh @@ -1,25 +1,23 @@ #!/usr/bin/env bash -# Regenerate the "## Packages" table in README.md from src/packages.dhall, the +# Regenerate the "## Packages" table in README.md from src/packages.json, the # single source of truth for fork versions. The table lives between the # `` / `` markers. # # scripts/gen-readme-table.sh # rewrite README.md in place # scripts/gen-readme-table.sh --check # exit 1 if README.md is out of date # -# Self-contained: pulls dhall-to-json + jq from nixpkgs, so it needs no repo -# flake or dev shell. +# Self-contained: pulls jq from nixpkgs, so it needs no repo flake or dev shell. set -euo pipefail cd "$(dirname "$0")/.." readme="README.md" -begin='' +begin='' end='' rows="$( - nix shell nixpkgs#dhall-json nixpkgs#jq --accept-flake-config -c bash -c ' - dhall-to-json --file src/packages.dhall \ - | jq -r "to_entries | sort_by(.key)[] - | \"| \(.key) | \(.value.repo | sub(\"\\\\.git$\"; \"\")) | \(.value.version) |\"" + nix shell nixpkgs#jq --accept-flake-config -c bash -c ' + jq -r "to_entries | sort_by(.key)[] + | \"| \(.key) | \(.value.repo | sub(\"\\\\.git$\"; \"\")) | \(.value.version) |\"" src/packages.json ' )" @@ -42,8 +40,8 @@ if [[ "${1:-}" == "--check" ]]; then diff -u "$readme" <(printf '%s\n' "$new") >&2 || true exit 1 fi - echo "README.md package table is in sync with src/packages.dhall." + echo "README.md package table is in sync with src/packages.json." else printf '%s\n' "$new" >"$readme" - echo "Wrote $readme package table from src/packages.dhall." + echo "Wrote $readme package table from src/packages.json." fi diff --git a/src/packages.dhall b/src/packages.dhall deleted file mode 100644 index d50a918f..00000000 --- a/src/packages.dhall +++ /dev/null @@ -1,154 +0,0 @@ -{ `assert` = - { dependencies = [ "effect", "console", "prelude" ] - , repo = "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/purescript-lua/purescript-lua-assert.git" - , version = "v6.1.1" - } -, arrays = - { dependencies = - [ "foldable-traversable" - , "functions" - , "nonempty" - , "partial" - , "prelude" - , "st" - , "unfoldable" - , "unsafe-coerce" - ] - , repo = "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/purescript-lua/purescript-lua-arrays.git" - , version = "v7.4.1" - } -, console = - { dependencies = [ "effect", "prelude" ] - , repo = "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/purescript-lua/purescript-lua-console.git" - , version = "v6.1.1" - } -, control = - { dependencies = [ "newtype", "prelude" ] - , repo = "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/purescript-lua/purescript-lua-control.git" - , version = "v6.0.1" - } -, effect = - { dependencies = [ "prelude" ] - , repo = "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/purescript-lua/purescript-lua-effect.git" - , version = "v4.1.3" - } -, enums = - { dependencies = - [ "control" - , "either" - , "gen" - , "maybe" - , "newtype" - , "nonempty" - , "partial" - , "prelude" - , "tuples" - , "unfoldable" - ] - , repo = "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/purescript-lua/purescript-lua-enums.git" - , version = "v6.1.2" - } -, exceptions = - { dependencies = [ "effect", "either", "maybe", "prelude" ] - , repo = "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/purescript-lua/purescript-lua-exceptions.git" - , version = "v6.1.1" - } -, functions = - { dependencies = [ "prelude" ] - , repo = "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/purescript-lua/purescript-lua-functions.git" - , version = "v6.1.0" - } -, lazy = - { dependencies = [ "control", "foldable-traversable", "invariant", "prelude" ] - , repo = "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/purescript-lua/purescript-lua-lazy.git" - , version = "v7.0.0" - } -, lua-ngx = - { dependencies = [ "effect", "prelude" ] - , repo = "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/purescript-lua/purescript-lua-ngx.git" - , version = "v0.2.0" - } -, integers = - { dependencies = [ "maybe", "numbers", "prelude" ] - , repo = "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/purescript-lua/purescript-lua-integers.git" - , version = "v6.1.2" - } -, numbers = - { dependencies = [ "functions", "maybe", "prelude" ] - , repo = "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/purescript-lua/purescript-lua-numbers.git" - , version = "v9.1.3" - } -, partial = - { dependencies = [] : List Text - , repo = "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/purescript-lua/purescript-lua-partial.git" - , version = "v4.1.0" - } -, prelude = - { dependencies = [] : List Text - , repo = "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/purescript-lua/purescript-lua-prelude.git" - , version = "v7.3.0" - } -, refs = - { dependencies = [ "effect", "prelude" ] - , repo = "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/purescript-lua/purescript-lua-refs.git" - , version = "v6.1.0" - } -, safe-coerce = - { dependencies = [ "unsafe-coerce" ] - , repo = "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/purescript-lua/purescript-lua-safe-coerce.git" - , version = "v2.0.1" - } -, st = - { dependencies = [ "effect", "partial", "prelude", "tailrec", "unsafe-coerce" ] - , repo = "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/purescript-lua/purescript-lua-st.git" - , version = "v6.4.0" - } -, strings = - { dependencies = - [ "arrays" - , "enums" - , "foldable-traversable" - , "gen" - , "integers" - , "maybe" - , "newtype" - , "nonempty" - , "partial" - , "prelude" - , "tailrec" - , "tuples" - , "unfoldable" - , "unsafe-coerce" - ] - , repo = "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/purescript-lua/purescript-lua-strings.git" - , version = "v6.2.0" - } -, unfoldable = - { dependencies = - [ "foldable-traversable", "maybe", "partial", "prelude", "tuples" ] - , repo = "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/purescript-lua/purescript-lua-unfoldable.git" - , version = "v6.1.0" - } -, unsafe-coerce = - { dependencies = [] : List Text - , repo = "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/purescript-lua/purescript-lua-unsafe-coerce.git" - , version = "v6.1.0" - } -, foldable-traversable = - { dependencies = - [ "bifunctors" - , "const" - , "control" - , "either" - , "functors" - , "identity" - , "maybe" - , "newtype" - , "orders" - , "prelude" - , "tuples" - ] - , repo = "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/purescript-lua/purescript-lua-foldable-traversable.git" - , version = "v6.1.1" - } -} diff --git a/src/packages.json b/src/packages.json new file mode 100644 index 00000000..2dfd3cce --- /dev/null +++ b/src/packages.json @@ -0,0 +1,206 @@ +{ + "arrays": { + "dependencies": [ + "foldable-traversable", + "functions", + "nonempty", + "partial", + "prelude", + "st", + "unfoldable", + "unsafe-coerce" + ], + "repo": "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/purescript-lua/purescript-lua-arrays.git", + "version": "v7.4.1" + }, + "assert": { + "dependencies": [ + "effect", + "console", + "prelude" + ], + "repo": "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/purescript-lua/purescript-lua-assert.git", + "version": "v6.1.1" + }, + "console": { + "dependencies": [ + "effect", + "prelude" + ], + "repo": "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/purescript-lua/purescript-lua-console.git", + "version": "v6.1.1" + }, + "control": { + "dependencies": [ + "newtype", + "prelude" + ], + "repo": "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/purescript-lua/purescript-lua-control.git", + "version": "v6.0.1" + }, + "effect": { + "dependencies": [ + "prelude" + ], + "repo": "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/purescript-lua/purescript-lua-effect.git", + "version": "v4.1.3" + }, + "enums": { + "dependencies": [ + "control", + "either", + "gen", + "maybe", + "newtype", + "nonempty", + "partial", + "prelude", + "tuples", + "unfoldable" + ], + "repo": "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/purescript-lua/purescript-lua-enums.git", + "version": "v6.1.2" + }, + "exceptions": { + "dependencies": [ + "effect", + "either", + "maybe", + "prelude" + ], + "repo": "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/purescript-lua/purescript-lua-exceptions.git", + "version": "v6.1.1" + }, + "foldable-traversable": { + "dependencies": [ + "bifunctors", + "const", + "control", + "either", + "functors", + "identity", + "maybe", + "newtype", + "orders", + "prelude", + "tuples" + ], + "repo": "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/purescript-lua/purescript-lua-foldable-traversable.git", + "version": "v6.1.1" + }, + "functions": { + "dependencies": [ + "prelude" + ], + "repo": "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/purescript-lua/purescript-lua-functions.git", + "version": "v6.1.0" + }, + "integers": { + "dependencies": [ + "maybe", + "numbers", + "prelude" + ], + "repo": "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/purescript-lua/purescript-lua-integers.git", + "version": "v6.1.2" + }, + "lazy": { + "dependencies": [ + "control", + "foldable-traversable", + "invariant", + "prelude" + ], + "repo": "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/purescript-lua/purescript-lua-lazy.git", + "version": "v7.0.0" + }, + "lua-ngx": { + "dependencies": [ + "effect", + "prelude" + ], + "repo": "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/purescript-lua/purescript-lua-ngx.git", + "version": "v0.2.0" + }, + "numbers": { + "dependencies": [ + "functions", + "maybe", + "prelude" + ], + "repo": "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/purescript-lua/purescript-lua-numbers.git", + "version": "v9.1.3" + }, + "partial": { + "dependencies": [], + "repo": "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/purescript-lua/purescript-lua-partial.git", + "version": "v4.1.0" + }, + "prelude": { + "dependencies": [], + "repo": "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/purescript-lua/purescript-lua-prelude.git", + "version": "v7.3.0" + }, + "refs": { + "dependencies": [ + "effect", + "prelude" + ], + "repo": "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/purescript-lua/purescript-lua-refs.git", + "version": "v6.1.0" + }, + "safe-coerce": { + "dependencies": [ + "unsafe-coerce" + ], + "repo": "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/purescript-lua/purescript-lua-safe-coerce.git", + "version": "v2.0.1" + }, + "st": { + "dependencies": [ + "effect", + "partial", + "prelude", + "tailrec", + "unsafe-coerce" + ], + "repo": "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/purescript-lua/purescript-lua-st.git", + "version": "v6.4.0" + }, + "strings": { + "dependencies": [ + "arrays", + "enums", + "foldable-traversable", + "gen", + "integers", + "maybe", + "newtype", + "nonempty", + "partial", + "prelude", + "tailrec", + "tuples", + "unfoldable", + "unsafe-coerce" + ], + "repo": "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/purescript-lua/purescript-lua-strings.git", + "version": "v6.2.0" + }, + "unfoldable": { + "dependencies": [ + "foldable-traversable", + "maybe", + "partial", + "prelude", + "tuples" + ], + "repo": "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/purescript-lua/purescript-lua-unfoldable.git", + "version": "v6.1.0" + }, + "unsafe-coerce": { + "dependencies": [], + "repo": "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/purescript-lua/purescript-lua-unsafe-coerce.git", + "version": "v6.1.0" + } +} diff --git a/test/spago.yaml b/test/spago.yaml index e07db8c4..1137f238 100644 --- a/test/spago.yaml +++ b/test/spago.yaml @@ -1,9 +1,9 @@ # Coherence check for the whole set. Depends on every Lua fork so `spago build` # compiles them together, surfacing version incompatibilities between the -# pinned tags. Keep this list in sync with the keys of ../src/packages.dhall. +# pinned tags. Keep this list in sync with the keys of ../src/packages.json. # # The set under test is ../packages.json — the consumable RemotePackageSet that -# scripts/gen-package-set-json builds from src/packages.dhall onto the registry +# scripts/gen-package-set-json builds from src/packages.json onto the registry # baseline. CI generates it before building, so this validates both the set and # the generator against the working tree, before any release is tagged. It # mirrors how pslua's own test/ps consumes the released set (packageSet.url), From e1b227d62d6ee237bb7bcfd4ed7b7c64456027c2 Mon Sep 17 00:00:00 2001 From: Yura Lazarev Date: Tue, 23 Jun 2026 19:28:15 +0200 Subject: [PATCH 3/5] address copilot review on PR #5 - CONTRIBUTING.md:15: clarify the dev shell / flake.lock guidance is per-fork (forks carry flake.nix); the set repo has no flake and its CI builds through the pslua dev shell (#discussion_r3461467833) --- CONTRIBUTING.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8a635ad1..4cb92ca0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -11,8 +11,10 @@ rule lives in [`docs/adr/`](docs/adr/). Pinned through purescript-overlay ([ADR 0001](docs/adr/0001-overlay-flake-toolchain.md), [ADR 0008](docs/adr/0008-new-spago-and-json-package-set.md)): purs 0.15.16, spago 1.x (the new PureScript spago — `spago.yaml`/`spago.lock`, not `spago.dhall`), Lua -5.1. Enter the dev shell with `nix develop`. Keep `flake.lock` reasonably current -with `nix flake update`; a long-stale pslua pin breaks the build. +5.1. Each fork carries its own `flake.nix`: enter its dev shell with `nix develop` +and keep `flake.lock` reasonably current with `nix flake update` (a long-stale +pslua pin breaks the build). This set repository has no flake of its own; its CI +builds through the pslua dev shell (`nix develop github:purescript-lua/purescript-lua`). ## Commands From e51d20443df91cfc96123eff97b1d66b8325c9ff Mon Sep 17 00:00:00 2001 From: Yura Lazarev Date: Wed, 24 Jun 2026 09:34:59 +0200 Subject: [PATCH 4/5] address review on PR #5 - release.yml:19: drop the misplaced "generator pulls jq + curl" comment above install-nix-action (#discussion_r3461362852) --- .github/workflows/release.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 750fc6e6..9a1f29b8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,7 +16,6 @@ jobs: steps: - uses: actions/checkout@v5 - # The generator pulls jq + curl from nixpkgs. - uses: cachix/install-nix-action@v31 # Consumable asset: a full RemotePackageSet (registry baseline + Lua fork From 0f6173c8a27996ce35ac3f2f6e0f3592a50ac6c8 Mon Sep 17 00:00:00 2001 From: Yura Lazarev Date: Wed, 24 Jun 2026 09:39:26 +0200 Subject: [PATCH 5/5] chore: target release tag psc-0.15.15-20260624 The packageSet.url example and latest-compatible-sets.json point at the tag this change is released under. --- README.md | 2 +- latest-compatible-sets.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index bd8b6dcb..11a8203f 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ Point `workspace.packageSet.url` at a released `packages.json`: ```yaml workspace: packageSet: - url: https://github.com/purescript-lua/purescript-lua-package-sets/releases/download/psc-0.15.15-20260623/packages.json + url: https://github.com/purescript-lua/purescript-lua-package-sets/releases/download/psc-0.15.15-20260624/packages.json ``` That set already carries the Lua forks in place of their JavaScript-targeting diff --git a/latest-compatible-sets.json b/latest-compatible-sets.json index c8c960e8..4dbea3b8 100644 --- a/latest-compatible-sets.json +++ b/latest-compatible-sets.json @@ -1,3 +1,3 @@ { - "0.15.15": "psc-0.15.15-20260623" + "0.15.15": "psc-0.15.15-20260624" }