From 32ad45808436a84fca1995778e63c2309caed3af Mon Sep 17 00:00:00 2001 From: Serhii Khoma Date: Thu, 10 Oct 2024 22:42:17 +0700 Subject: [PATCH 1/8] feat: migrate to spago@next --- .github/workflows/ci.yml | 30 +- bower.json | 27 - package-lock.json | 6 + packages.dhall | 4 - spago.dhall | 30 -- spago.lock | 1074 +++++++++++++++++++++++++++++++++++++ spago.yaml | 39 ++ test/{ => Test}/Main.purs | 0 8 files changed, 1128 insertions(+), 82 deletions(-) create mode 100644 package-lock.json delete mode 100644 packages.dhall delete mode 100644 spago.dhall create mode 100644 spago.lock create mode 100644 spago.yaml rename test/{ => Test}/Main.purs (100%) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5d24f21..76cf55a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,41 +9,29 @@ on: jobs: build: runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Set up a PureScript toolchain uses: purescript-contrib/setup-purescript@main with: - purescript: "unstable" + purescript: "latest" purs-tidy: "latest" + spago: "unstable" - name: Cache PureScript dependencies - uses: actions/cache@v2 + uses: actions/cache@v4 with: - key: ${{ runner.os }}-spago-${{ hashFiles('**/*.dhall') }} + key: ${{ runner.os }}-spago-${{ hashFiles('**/spago.lock') }} path: | .spago output - - name: Install dependencies - run: spago install - - name: Build source - run: spago build --no-install --purs-args '--censor-lib --strict' + run: spago build --censor-stats --strict --pedantic-packages - name: Run tests - run: spago test --no-install - - - name: Check formatting - run: purs-tidy check src test examples + run: spago test --offline --censor-stats --strict --pedantic-packages -- --censor-codes=UserDefinedWarning - - name: Verify Bower & Pulp - run: | - npm install bower pulp@16.0.0-0 - npx bower install - npx pulp build - if [ -d "test" ]; then - npx pulp test - fi + - name: Verify formatting + run: purs-tidy check src test diff --git a/bower.json b/bower.json index 7383740..54a0e73 100644 --- a/bower.json +++ b/bower.json @@ -10,32 +10,5 @@ "repository": { "type": "git", "url": "https://github.com/purescript-contrib/purescript-profunctor-lenses.git" - }, - "dependencies": { - "purescript-arrays": "^7.0.0", - "purescript-bifunctors": "^6.0.0", - "purescript-const": "^6.0.0", - "purescript-control": "^6.0.0", - "purescript-distributive": "^6.0.0", - "purescript-either": "^6.0.0", - "purescript-foldable-traversable": "^6.0.0", - "purescript-foreign-object": "^4.0.0", - "purescript-functors": "^5.0.0", - "purescript-identity": "^6.0.0", - "purescript-lists": "^7.0.0", - "purescript-maybe": "^6.0.0", - "purescript-newtype": "^5.0.0", - "purescript-ordered-collections": "^3.0.0", - "purescript-partial": "^4.0.0", - "purescript-prelude": "^6.0.0", - "purescript-profunctor": "^6.0.0", - "purescript-record": "^4.0.0", - "purescript-transformers": "^6.0.0", - "purescript-tuples": "^7.0.0" - }, - "devDependencies": { - "purescript-console": "^6.0.0", - "purescript-effect": "^4.0.0", - "purescript-assert": "^6.0.0" } } diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..1420a90 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6 @@ +{ + "name": "purescript-profunctor-lenses", + "lockfileVersion": 3, + "requires": true, + "packages": {} +} diff --git a/packages.dhall b/packages.dhall deleted file mode 100644 index 188382b..0000000 --- a/packages.dhall +++ /dev/null @@ -1,4 +0,0 @@ -let upstream = - https://raw.githubusercontent.com/purescript/package-sets/psc-0.15.15-20240829/src/packages.dhall - -in upstream diff --git a/spago.dhall b/spago.dhall deleted file mode 100644 index 4f60f2a..0000000 --- a/spago.dhall +++ /dev/null @@ -1,30 +0,0 @@ -{ name = "profunctor-lenses" -, dependencies = - [ "arrays" - , "assert" - , "bifunctors" - , "console" - , "const" - , "control" - , "distributive" - , "effect" - , "either" - , "foldable-traversable" - , "foreign-object" - , "functors" - , "identity" - , "lists" - , "maybe" - , "newtype" - , "ordered-collections" - , "partial" - , "prelude" - , "profunctor" - , "record" - , "safe-coerce" - , "transformers" - , "tuples" - ] -, packages = ./packages.dhall -, sources = [ "src/**/*.purs", "test/**/*.purs" ] -} diff --git a/spago.lock b/spago.lock new file mode 100644 index 0000000..89548cb --- /dev/null +++ b/spago.lock @@ -0,0 +1,1074 @@ +{ + "workspace": { + "packages": { + "profunctor-lenses": { + "path": "./", + "core": { + "dependencies": [ + "arrays", + "bifunctors", + "const", + "control", + "distributive", + "either", + "foldable-traversable", + "foreign-object", + "functors", + "identity", + "lists", + "maybe", + "newtype", + "ordered-collections", + "partial", + "prelude", + "profunctor", + "record", + "safe-coerce", + "transformers", + "tuples" + ], + "build_plan": [ + "arrays", + "bifunctors", + "const", + "contravariant", + "control", + "distributive", + "effect", + "either", + "exceptions", + "exists", + "foldable-traversable", + "foreign-object", + "functions", + "functors", + "gen", + "identity", + "invariant", + "lazy", + "lists", + "maybe", + "newtype", + "nonempty", + "ordered-collections", + "orders", + "partial", + "prelude", + "profunctor", + "record", + "refs", + "safe-coerce", + "st", + "tailrec", + "transformers", + "tuples", + "type-equality", + "typelevel-prelude", + "unfoldable", + "unsafe-coerce" + ] + }, + "test": { + "dependencies": [ + "assert", + "effect" + ], + "build_plan": [ + "assert", + "console", + "effect", + "prelude" + ] + } + } + }, + "package_set": { + "address": { + "registry": "60.5.0" + }, + "compiler": ">=0.15.15 <0.16.0", + "content": { + "abc-parser": "2.0.1", + "ace": "9.1.0", + "address-rfc2821": "0.1.1", + "aff": "8.0.0", + "aff-bus": "6.0.0", + "aff-coroutines": "9.0.0", + "aff-promise": "4.0.0", + "aff-retry": "2.0.0", + "affjax": "13.0.0", + "affjax-node": "1.0.0", + "affjax-web": "1.0.0", + "ansi": "7.0.0", + "apexcharts": "0.5.0", + "applicative-phases": "1.0.0", + "argonaut": "9.0.0", + "argonaut-aeson-generic": "0.4.1", + "argonaut-codecs": "9.1.0", + "argonaut-core": "7.0.0", + "argonaut-generic": "8.0.0", + "argonaut-traversals": "10.0.0", + "argparse-basic": "2.0.0", + "array-builder": "0.1.2", + "array-search": "0.6.0", + "arraybuffer": "13.2.0", + "arraybuffer-builder": "3.1.0", + "arraybuffer-types": "3.0.2", + "arrays": "7.3.0", + "arrays-extra": "0.6.1", + "arrays-zipper": "2.0.1", + "ask": "1.0.0", + "assert": "6.0.0", + "assert-multiple": "0.4.0", + "avar": "5.0.0", + "b64": "0.0.8", + "barbies": "1.0.1", + "barlow-lens": "0.9.0", + "bifunctors": "6.0.0", + "bigints": "7.0.1", + "bolson": "0.3.9", + "bookhound": "0.1.7", + "bower-json": "3.0.0", + "call-by-name": "4.0.1", + "canvas": "6.0.0", + "canvas-action": "9.0.0", + "cartesian": "1.0.6", + "catenable-lists": "7.0.0", + "cbor-stream": "1.3.0", + "chameleon": "1.0.0", + "chameleon-halogen": "1.0.3", + "chameleon-react-basic": "1.1.0", + "chameleon-styled": "2.5.0", + "chameleon-transformers": "1.0.0", + "channel": "1.0.0", + "checked-exceptions": "3.1.1", + "choku": "1.0.1", + "classless": "0.1.1", + "classless-arbitrary": "0.1.1", + "classless-decode-json": "0.1.1", + "classless-encode-json": "0.1.3", + "classnames": "2.0.0", + "codec": "6.1.0", + "codec-argonaut": "10.0.0", + "codec-json": "2.0.0", + "colors": "7.0.1", + "concur-core": "0.5.0", + "concur-react": "0.5.0", + "concurrent-queues": "3.0.0", + "console": "6.1.0", + "const": "6.0.0", + "contravariant": "6.0.0", + "control": "6.0.0", + "convertable-options": "1.0.0", + "coroutines": "7.0.0", + "css": "6.0.0", + "css-frameworks": "1.0.1", + "csv-stream": "2.3.0", + "data-mvc": "0.0.2", + "datetime": "6.1.0", + "datetime-parsing": "0.2.0", + "debounce": "0.1.0", + "debug": "6.0.2", + "decimals": "7.1.0", + "default-values": "1.0.1", + "deku": "0.9.23", + "deno": "0.0.5", + "dissect": "1.0.0", + "distributive": "6.0.0", + "dom-filereader": "7.0.0", + "dom-indexed": "12.0.0", + "dom-simple": "0.4.0", + "dotenv": "4.0.3", + "droplet": "0.6.0", + "dts": "1.0.0", + "dual-numbers": "1.0.3", + "dynamic-buffer": "3.0.1", + "echarts-simple": "0.0.1", + "effect": "4.0.0", + "either": "6.1.0", + "elmish": "0.13.0", + "elmish-enzyme": "0.1.1", + "elmish-hooks": "0.10.3", + "elmish-html": "0.9.0", + "elmish-testing-library": "0.3.2", + "email-validate": "7.0.0", + "encoding": "0.0.9", + "enums": "6.0.1", + "env-names": "0.4.0", + "error": "2.0.0", + "eta-conversion": "0.3.2", + "exceptions": "6.1.0", + "exists": "6.0.0", + "exitcodes": "4.0.0", + "expect-inferred": "3.0.0", + "ezfetch": "1.0.0", + "fahrtwind": "2.0.0", + "fallback": "0.1.0", + "fast-vect": "1.2.0", + "fetch": "4.1.0", + "fetch-argonaut": "1.0.1", + "fetch-core": "5.1.0", + "fetch-yoga-json": "1.1.0", + "ffi-simple": "0.5.1", + "fft-js": "0.1.0", + "filterable": "5.0.0", + "fix-functor": "0.1.0", + "fixed-points": "7.0.0", + "fixed-precision": "5.0.0", + "flame": "1.3.0", + "float32": "2.0.0", + "fmt": "0.2.1", + "foldable-traversable": "6.0.0", + "foldable-traversable-extra": "0.0.6", + "foreign": "7.0.0", + "foreign-object": "4.1.0", + "foreign-readwrite": "3.4.0", + "forgetmenot": "0.1.0", + "fork": "6.0.0", + "form-urlencoded": "7.0.0", + "formatters": "7.0.0", + "framer-motion": "1.0.1", + "free": "7.1.0", + "freeap": "7.0.0", + "freer-free": "0.0.1", + "freet": "7.0.0", + "functions": "6.0.0", + "functor1": "3.0.0", + "functors": "5.0.0", + "fuzzy": "0.4.0", + "gen": "4.0.0", + "generate-values": "1.0.1", + "generic-router": "0.0.1", + "geojson": "0.0.5", + "geometria": "2.2.0", + "gojs": "0.1.1", + "grain": "3.0.0", + "grain-router": "3.0.0", + "grain-virtualized": "3.0.0", + "graphs": "8.1.0", + "group": "4.1.1", + "halogen": "7.0.0", + "halogen-bootstrap5": "5.3.2", + "halogen-canvas": "1.0.0", + "halogen-css": "10.0.0", + "halogen-echarts-simple": "0.0.4", + "halogen-formless": "4.0.3", + "halogen-helix": "1.0.1", + "halogen-hooks": "0.6.3", + "halogen-hooks-extra": "0.9.0", + "halogen-infinite-scroll": "1.1.0", + "halogen-store": "0.5.4", + "halogen-storybook": "2.0.0", + "halogen-subscriptions": "2.0.0", + "halogen-svg-elems": "8.0.0", + "halogen-typewriter": "1.0.4", + "halogen-vdom": "8.0.0", + "halogen-vdom-string-renderer": "0.5.0", + "halogen-xterm": "2.0.0", + "heckin": "2.0.1", + "heterogeneous": "0.6.0", + "homogeneous": "0.4.0", + "http-methods": "6.0.0", + "httpurple": "4.0.0", + "huffman": "0.4.0", + "humdrum": "0.0.1", + "hyrule": "2.3.8", + "identity": "6.0.0", + "identy": "4.0.1", + "indexed-db": "1.0.0", + "indexed-monad": "3.0.0", + "int64": "3.0.0", + "integers": "6.0.0", + "interpolate": "5.0.2", + "intersection-observer": "1.0.1", + "invariant": "6.0.0", + "jarilo": "1.0.1", + "jelly": "0.10.0", + "jelly-router": "0.3.0", + "jelly-signal": "0.4.0", + "jest": "1.0.0", + "js-abort-controller": "1.0.0", + "js-bigints": "2.2.1", + "js-date": "8.0.0", + "js-fetch": "0.2.1", + "js-fileio": "3.0.0", + "js-intl": "1.0.4", + "js-iterators": "0.1.1", + "js-maps": "0.1.2", + "js-promise": "1.0.0", + "js-promise-aff": "1.0.0", + "js-timers": "6.1.0", + "js-uri": "3.1.0", + "jsdom": "1.0.0", + "json": "1.1.0", + "json-codecs": "5.0.0", + "justifill": "0.5.0", + "jwt": "0.0.9", + "labeled-data": "0.2.0", + "language-cst-parser": "0.14.0", + "lazy": "6.0.0", + "lazy-joe": "1.0.0", + "lcg": "4.0.0", + "leibniz": "5.0.0", + "leveldb": "1.0.1", + "liminal": "1.0.1", + "linalg": "6.0.0", + "lists": "7.0.0", + "literals": "1.0.2", + "logging": "3.0.0", + "logging-journald": "0.4.0", + "lumi-components": "18.0.0", + "machines": "7.0.0", + "maps-eager": "0.5.0", + "marionette": "1.0.0", + "marionette-react-basic-hooks": "0.1.1", + "marked": "0.1.0", + "matrices": "5.0.1", + "matryoshka": "1.0.0", + "maybe": "6.0.0", + "media-types": "6.0.0", + "meowclient": "1.0.0", + "midi": "4.0.0", + "milkis": "9.0.0", + "minibench": "4.0.1", + "mmorph": "7.0.0", + "monad-control": "5.0.0", + "monad-logger": "1.3.1", + "monad-loops": "0.5.0", + "monad-unlift": "1.0.1", + "monoid-extras": "0.0.1", + "monoidal": "0.16.0", + "morello": "0.4.0", + "mote": "3.0.0", + "motsunabe": "2.0.0", + "mvc": "0.0.1", + "mysql": "6.0.1", + "n3": "0.1.0", + "nano-id": "1.1.0", + "nanoid": "0.1.0", + "naturals": "3.0.0", + "nested-functor": "0.2.1", + "newtype": "5.0.0", + "nextjs": "0.1.1", + "nextui": "0.2.0", + "node-buffer": "9.0.0", + "node-child-process": "11.1.0", + "node-event-emitter": "3.0.0", + "node-execa": "5.0.0", + "node-fs": "9.2.0", + "node-glob-basic": "1.3.0", + "node-http": "9.1.0", + "node-http2": "1.1.1", + "node-human-signals": "1.0.0", + "node-net": "5.1.0", + "node-os": "5.1.0", + "node-path": "5.0.0", + "node-process": "11.2.0", + "node-readline": "8.1.1", + "node-sqlite3": "8.0.0", + "node-stream-pipes": "2.1.6", + "node-streams": "9.0.0", + "node-tls": "0.3.1", + "node-url": "7.0.1", + "node-zlib": "0.4.0", + "nonempty": "7.0.0", + "now": "6.0.0", + "npm-package-json": "2.0.0", + "nullable": "6.0.0", + "numberfield": "0.2.2", + "numbers": "9.0.1", + "oak": "3.1.1", + "oak-debug": "1.2.2", + "object-maps": "0.3.0", + "ocarina": "1.5.4", + "oooooooooorrrrrrrmm-lib": "0.0.1", + "open-colors-scales-and-schemes": "1.0.0", + "open-folds": "6.4.0", + "open-foreign-generic": "11.0.3", + "open-memoize": "6.2.0", + "open-mkdirp-aff": "1.2.0", + "open-pairing": "6.2.0", + "open-smolder": "12.0.2", + "options": "7.0.0", + "optparse": "5.0.1", + "ordered-collections": "3.2.0", + "ordered-set": "0.4.0", + "orders": "6.0.0", + "owoify": "1.2.0", + "pairs": "9.0.1", + "parallel": "7.0.0", + "parsing": "10.2.0", + "parsing-dataview": "3.2.4", + "partial": "4.0.0", + "pathy": "9.0.0", + "pha": "0.13.0", + "phaser": "0.7.0", + "phylio": "1.1.2", + "pipes": "8.0.0", + "pirates-charm": "0.0.1", + "pmock": "0.9.0", + "point-free": "1.0.0", + "pointed-list": "0.5.1", + "polymorphic-vectors": "4.0.0", + "posix-types": "6.0.0", + "postgresql": "2.0.19", + "precise": "6.0.0", + "precise-datetime": "7.0.0", + "prelude": "6.0.1", + "prettier-printer": "3.0.0", + "priority-queue": "0.1.2", + "profunctor": "6.0.1", + "profunctor-lenses": "8.0.0", + "protobuf": "4.3.0", + "psa-utils": "8.0.0", + "psci-support": "6.0.0", + "punycode": "1.0.0", + "qualified-do": "2.2.0", + "quantities": "12.2.0", + "quickcheck": "8.0.1", + "quickcheck-combinators": "0.1.3", + "quickcheck-laws": "7.0.0", + "quickcheck-utf8": "0.0.0", + "random": "6.0.0", + "rationals": "6.0.0", + "rdf": "0.1.0", + "react": "11.0.0", + "react-aria": "0.2.0", + "react-basic": "17.0.0", + "react-basic-classic": "3.0.0", + "react-basic-dnd": "10.1.0", + "react-basic-dom": "6.1.0", + "react-basic-dom-beta": "0.1.1", + "react-basic-emotion": "7.1.0", + "react-basic-hooks": "8.2.0", + "react-basic-storybook": "2.0.0", + "react-dom": "8.0.0", + "react-halo": "3.0.0", + "react-icons": "1.1.5", + "react-markdown": "0.1.0", + "react-testing-library": "4.0.1", + "react-virtuoso": "1.0.0", + "reactix": "0.6.1", + "read": "1.0.1", + "recharts": "1.1.0", + "record": "4.0.0", + "record-extra": "5.0.1", + "record-ptional-fields": "0.1.2", + "record-studio": "1.0.4", + "refs": "6.0.0", + "remotedata": "5.0.1", + "repr": "0.5.0", + "resize-observer": "1.0.0", + "resource": "2.0.1", + "resourcet": "1.0.0", + "result": "1.0.3", + "return": "0.2.0", + "ring-modules": "5.0.1", + "rito": "0.3.4", + "roman": "0.4.0", + "rough-notation": "1.0.2", + "routing": "11.0.0", + "routing-duplex": "0.7.0", + "run": "5.0.0", + "safe-coerce": "2.0.0", + "safely": "4.0.1", + "school-of-music": "1.3.0", + "selection-foldable": "0.2.0", + "selective-functors": "1.0.1", + "semirings": "7.0.0", + "signal": "13.0.0", + "simple-emitter": "3.0.1", + "simple-i18n": "2.0.1", + "simple-json": "9.0.0", + "simple-json-generics": "0.2.1", + "simple-ulid": "3.0.0", + "sized-matrices": "1.0.0", + "sized-vectors": "5.0.2", + "slug": "3.1.0", + "small-ffi": "4.0.1", + "soundfonts": "4.1.0", + "sparse-matrices": "2.0.1", + "sparse-polynomials": "3.0.1", + "spec": "8.1.0", + "spec-discovery": "8.4.0", + "spec-mocha": "5.1.1", + "spec-node": "0.0.2", + "spec-quickcheck": "5.0.2", + "spec-reporter-xunit": "0.7.1", + "splitmix": "2.1.0", + "ssrs": "1.0.0", + "st": "6.2.0", + "statistics": "0.3.2", + "strictlypositiveint": "1.0.1", + "string-parsers": "8.0.0", + "strings": "6.0.1", + "strings-extra": "4.0.0", + "stringutils": "0.0.12", + "substitute": "0.2.3", + "supply": "0.2.0", + "svg-parser": "3.0.0", + "systemd-journald": "0.3.0", + "tagged": "4.0.2", + "tailrec": "6.1.0", + "tecton": "0.2.1", + "tecton-halogen": "0.2.0", + "test-unit": "17.0.0", + "thermite": "6.3.1", + "thermite-dom": "0.3.1", + "these": "6.0.0", + "threading": "0.0.3", + "tldr": "0.0.0", + "toestand": "0.9.0", + "transformation-matrix": "1.0.1", + "transformers": "6.1.0", + "tree-rose": "4.0.2", + "ts-bridge": "4.0.0", + "tuples": "7.0.0", + "two-or-more": "1.0.0", + "type-equality": "4.0.1", + "typedenv": "2.0.1", + "typelevel": "6.0.0", + "typelevel-lists": "2.1.0", + "typelevel-peano": "1.0.1", + "typelevel-prelude": "7.0.0", + "typelevel-regex": "0.0.3", + "typelevel-rows": "0.1.0", + "typisch": "0.4.0", + "uint": "7.0.0", + "ulid": "3.0.1", + "uncurried-transformers": "1.1.0", + "undefined": "2.0.0", + "undefined-is-not-a-problem": "1.1.0", + "unfoldable": "6.0.0", + "unicode": "6.0.0", + "unique": "0.6.1", + "unlift": "1.0.1", + "unordered-collections": "3.1.0", + "unsafe-coerce": "6.0.0", + "unsafe-reference": "5.0.0", + "untagged-to-tagged": "0.1.4", + "untagged-union": "1.0.0", + "uri": "9.0.0", + "url-immutable": "1.0.0", + "uuid": "9.0.0", + "uuidv4": "1.0.0", + "validation": "6.0.0", + "variant": "8.0.0", + "variant-encodings": "2.0.0", + "vectorfield": "1.0.1", + "vectors": "2.1.0", + "versions": "7.0.0", + "visx": "0.0.2", + "web-clipboard": "6.0.0", + "web-cssom": "2.0.0", + "web-cssom-view": "0.1.0", + "web-dom": "6.0.0", + "web-dom-parser": "8.0.0", + "web-dom-xpath": "3.0.0", + "web-encoding": "3.0.0", + "web-events": "4.0.0", + "web-fetch": "4.0.1", + "web-file": "4.0.0", + "web-geometry": "0.1.0", + "web-html": "4.1.0", + "web-pointerevents": "2.0.0", + "web-proletarian": "1.0.0", + "web-promise": "3.2.0", + "web-resize-observer": "2.1.0", + "web-router": "1.0.0", + "web-socket": "4.0.0", + "web-storage": "5.0.0", + "web-streams": "4.0.0", + "web-touchevents": "4.0.0", + "web-uievents": "5.0.0", + "web-url": "2.0.0", + "web-workers": "1.1.0", + "web-xhr": "5.0.1", + "webextension-polyfill": "0.1.0", + "webgpu": "0.0.1", + "which": "2.0.0", + "xterm": "1.0.0", + "yoga-fetch": "1.0.1", + "yoga-json": "5.1.0", + "yoga-om": "0.1.0", + "yoga-postgres": "6.0.0", + "yoga-tree": "1.0.0", + "z3": "0.0.2", + "zipperarray": "2.0.0" + } + }, + "extra_packages": {} + }, + "packages": { + "arrays": { + "type": "registry", + "version": "7.3.0", + "integrity": "sha256-tmcklBlc/muUtUfr9RapdCPwnlQeB3aSrC4dK85gQlc=", + "dependencies": [ + "bifunctors", + "control", + "foldable-traversable", + "functions", + "maybe", + "nonempty", + "partial", + "prelude", + "safe-coerce", + "st", + "tailrec", + "tuples", + "unfoldable", + "unsafe-coerce" + ] + }, + "assert": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-hCSYcCw9kj3qujoDcriWhCdmrpPZoguSPDZhEMnTl3A=", + "dependencies": [ + "console", + "effect", + "prelude" + ] + }, + "bifunctors": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-/gZwC9YhNxZNQpnHa5BIYerCGM2jeX9ukZiEvYxm5Nw=", + "dependencies": [ + "const", + "either", + "newtype", + "prelude", + "tuples" + ] + }, + "console": { + "type": "registry", + "version": "6.1.0", + "integrity": "sha256-CxmAzjgyuGDmt9FZW51VhV6rBPwR6o0YeKUzA9rSzcM=", + "dependencies": [ + "effect", + "prelude" + ] + }, + "const": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-tNrxDW8D8H4jdHE2HiPzpLy08zkzJMmGHdRqt5BQuTc=", + "dependencies": [ + "invariant", + "newtype", + "prelude" + ] + }, + "contravariant": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-TP+ooAp3vvmdjfQsQJSichF5B4BPDHp3wAJoWchip6c=", + "dependencies": [ + "const", + "either", + "newtype", + "prelude", + "tuples" + ] + }, + "control": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-sH7Pg9E96JCPF9PIA6oQ8+BjTyO/BH1ZuE/bOcyj4Jk=", + "dependencies": [ + "newtype", + "prelude" + ] + }, + "distributive": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-HTDdmEnzigMl+02SJB88j+gAXDx9VKsbvR4MJGDPbOQ=", + "dependencies": [ + "identity", + "newtype", + "prelude", + "tuples", + "type-equality" + ] + }, + "effect": { + "type": "registry", + "version": "4.0.0", + "integrity": "sha256-eBtZu+HZcMa5HilvI6kaDyVX3ji8p0W9MGKy2K4T6+M=", + "dependencies": [ + "prelude" + ] + }, + "either": { + "type": "registry", + "version": "6.1.0", + "integrity": "sha256-6hgTPisnMWVwQivOu2PKYcH8uqjEOOqDyaDQVUchTpY=", + "dependencies": [ + "control", + "invariant", + "maybe", + "prelude" + ] + }, + "exceptions": { + "type": "registry", + "version": "6.1.0", + "integrity": "sha256-K0T89IHtF3vBY7eSAO7eDOqSb2J9kZGAcDN5+IKsF8E=", + "dependencies": [ + "effect", + "either", + "maybe", + "prelude" + ] + }, + "exists": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-A0JQHpTfo1dNOj9U5/Fd3xndlRSE0g2IQWOGor2yXn8=", + "dependencies": [ + "unsafe-coerce" + ] + }, + "foldable-traversable": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-fLeqRYM4jUrZD5H4WqcwUgzU7XfYkzO4zhgtNc3jcWM=", + "dependencies": [ + "bifunctors", + "const", + "control", + "either", + "functors", + "identity", + "maybe", + "newtype", + "orders", + "prelude", + "tuples" + ] + }, + "foreign-object": { + "type": "registry", + "version": "4.1.0", + "integrity": "sha256-q24okj6mT+yGHYQ+ei/pYPj5ih6sTbu7eDv/WU56JVo=", + "dependencies": [ + "arrays", + "foldable-traversable", + "functions", + "gen", + "lists", + "maybe", + "prelude", + "st", + "tailrec", + "tuples", + "typelevel-prelude", + "unfoldable" + ] + }, + "functions": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-adMyJNEnhGde2unHHAP79gPtlNjNqzgLB8arEOn9hLI=", + "dependencies": [ + "prelude" + ] + }, + "functors": { + "type": "registry", + "version": "5.0.0", + "integrity": "sha256-zfPWWYisbD84MqwpJSZFlvM6v86McM68ob8p9s27ywU=", + "dependencies": [ + "bifunctors", + "const", + "contravariant", + "control", + "distributive", + "either", + "invariant", + "maybe", + "newtype", + "prelude", + "profunctor", + "tuples", + "unsafe-coerce" + ] + }, + "gen": { + "type": "registry", + "version": "4.0.0", + "integrity": "sha256-f7yzAXWwr+xnaqEOcvyO3ezKdoes8+WXWdXIHDBCAPI=", + "dependencies": [ + "either", + "foldable-traversable", + "identity", + "maybe", + "newtype", + "nonempty", + "prelude", + "tailrec", + "tuples", + "unfoldable" + ] + }, + "identity": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-4wY0XZbAksjY6UAg99WkuKyJlQlWAfTi2ssadH0wVMY=", + "dependencies": [ + "control", + "invariant", + "newtype", + "prelude" + ] + }, + "invariant": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-RGWWyYrz0Hs1KjPDA+87Kia67ZFBhfJ5lMGOMCEFoLo=", + "dependencies": [ + "control", + "prelude" + ] + }, + "lazy": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-lMsfFOnlqfe4KzRRiW8ot5ge6HtcU3Eyh2XkXcP5IgU=", + "dependencies": [ + "control", + "foldable-traversable", + "invariant", + "prelude" + ] + }, + "lists": { + "type": "registry", + "version": "7.0.0", + "integrity": "sha256-EKF15qYqucuXP2lT/xPxhqy58f0FFT6KHdIB/yBOayI=", + "dependencies": [ + "bifunctors", + "control", + "foldable-traversable", + "lazy", + "maybe", + "newtype", + "nonempty", + "partial", + "prelude", + "tailrec", + "tuples", + "unfoldable" + ] + }, + "maybe": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-5cCIb0wPwbat2PRkQhUeZO0jcAmf8jCt2qE0wbC3v2Q=", + "dependencies": [ + "control", + "invariant", + "newtype", + "prelude" + ] + }, + "newtype": { + "type": "registry", + "version": "5.0.0", + "integrity": "sha256-gdrQu8oGe9eZE6L3wOI8ql/igOg+zEGB5ITh2g+uttw=", + "dependencies": [ + "prelude", + "safe-coerce" + ] + }, + "nonempty": { + "type": "registry", + "version": "7.0.0", + "integrity": "sha256-54ablJZUHGvvlTJzi3oXyPCuvY6zsrWJuH/dMJ/MFLs=", + "dependencies": [ + "control", + "foldable-traversable", + "maybe", + "prelude", + "tuples", + "unfoldable" + ] + }, + "ordered-collections": { + "type": "registry", + "version": "3.2.0", + "integrity": "sha256-o9jqsj5rpJmMdoe/zyufWHFjYYFTTsJpgcuCnqCO6PM=", + "dependencies": [ + "arrays", + "foldable-traversable", + "gen", + "lists", + "maybe", + "partial", + "prelude", + "st", + "tailrec", + "tuples", + "unfoldable" + ] + }, + "orders": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-nBA0g3/ai0euH8q9pSbGqk53W2q6agm/dECZTHcoink=", + "dependencies": [ + "newtype", + "prelude" + ] + }, + "partial": { + "type": "registry", + "version": "4.0.0", + "integrity": "sha256-fwXerld6Xw1VkReh8yeQsdtLVrjfGiVuC5bA1Wyo/J4=", + "dependencies": [] + }, + "prelude": { + "type": "registry", + "version": "6.0.1", + "integrity": "sha256-o8p6SLYmVPqzXZhQFd2hGAWEwBoXl1swxLG/scpJ0V0=", + "dependencies": [] + }, + "profunctor": { + "type": "registry", + "version": "6.0.1", + "integrity": "sha256-E58hSYdJvF2Qjf9dnWLPlJKh2Z2fLfFLkQoYi16vsFk=", + "dependencies": [ + "control", + "distributive", + "either", + "exists", + "invariant", + "newtype", + "prelude", + "tuples" + ] + }, + "record": { + "type": "registry", + "version": "4.0.0", + "integrity": "sha256-Za5U85bTRJEfGK5Sk4hM41oXy84YQI0I8TL3WUn1Qzg=", + "dependencies": [ + "functions", + "prelude", + "unsafe-coerce" + ] + }, + "refs": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-Vgwne7jIbD3ZMoLNNETLT8Litw6lIYo3MfYNdtYWj9s=", + "dependencies": [ + "effect", + "prelude" + ] + }, + "safe-coerce": { + "type": "registry", + "version": "2.0.0", + "integrity": "sha256-a1ibQkiUcbODbLE/WAq7Ttbbh9ex+x33VCQ7GngKudU=", + "dependencies": [ + "unsafe-coerce" + ] + }, + "st": { + "type": "registry", + "version": "6.2.0", + "integrity": "sha256-z9X0WsOUlPwNx9GlCC+YccCyz8MejC8Wb0C4+9fiBRY=", + "dependencies": [ + "partial", + "prelude", + "tailrec", + "unsafe-coerce" + ] + }, + "tailrec": { + "type": "registry", + "version": "6.1.0", + "integrity": "sha256-Xx19ECVDRrDWpz9D2GxQHHV89vd61dnXxQm0IcYQHGk=", + "dependencies": [ + "bifunctors", + "effect", + "either", + "identity", + "maybe", + "partial", + "prelude", + "refs" + ] + }, + "transformers": { + "type": "registry", + "version": "6.1.0", + "integrity": "sha256-3Bm+Z6tsC/paG888XkywDngJ2JMos+JfOhRlkVfb7gI=", + "dependencies": [ + "control", + "distributive", + "effect", + "either", + "exceptions", + "foldable-traversable", + "identity", + "lazy", + "maybe", + "newtype", + "prelude", + "st", + "tailrec", + "tuples", + "unfoldable" + ] + }, + "tuples": { + "type": "registry", + "version": "7.0.0", + "integrity": "sha256-1rXgTomes9105BjgXqIw0FL6Fz1lqqUTLWOumhWec1M=", + "dependencies": [ + "control", + "invariant", + "prelude" + ] + }, + "type-equality": { + "type": "registry", + "version": "4.0.1", + "integrity": "sha256-Hs9D6Y71zFi/b+qu5NSbuadUQXe5iv5iWx0226vOHUw=", + "dependencies": [] + }, + "typelevel-prelude": { + "type": "registry", + "version": "7.0.0", + "integrity": "sha256-uFF2ph+vHcQpfPuPf2a3ukJDFmLhApmkpTMviHIWgJM=", + "dependencies": [ + "prelude", + "type-equality" + ] + }, + "unfoldable": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-JtikvJdktRap7vr/K4ITlxUX1QexpnqBq0G/InLr6eg=", + "dependencies": [ + "foldable-traversable", + "maybe", + "partial", + "prelude", + "tuples" + ] + }, + "unsafe-coerce": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-IqIYW4Vkevn8sI+6aUwRGvd87tVL36BBeOr0cGAE7t0=", + "dependencies": [] + } + } +} diff --git a/spago.yaml b/spago.yaml new file mode 100644 index 0000000..0e8c597 --- /dev/null +++ b/spago.yaml @@ -0,0 +1,39 @@ +package: + name: profunctor-lenses + publish: + license: MIT + version: 8.0.0 + location: + githubOwner: purescript-contrib + githubRepo: purescript-profunctor-lenses + dependencies: + - arrays + - bifunctors + - const + - control + - distributive + - either + - foldable-traversable + - foreign-object + - functors + - identity + - lists + - maybe + - newtype + - ordered-collections + - partial + - prelude + - profunctor + - record + - safe-coerce + - transformers + - tuples + test: + main: Test.Main + dependencies: + - assert + - effect +workspace: + extraPackages: {} + packageSet: + registry: 60.5.0 diff --git a/test/Main.purs b/test/Test/Main.purs similarity index 100% rename from test/Main.purs rename to test/Test/Main.purs From f5c6f06b10c94860b829d39ed4ed9cda31fb45df Mon Sep 17 00:00:00 2001 From: Serhii Khoma Date: Thu, 10 Oct 2024 22:42:17 +0700 Subject: [PATCH 2/8] feat: migrate to spago@next --- .github/workflows/ci.yml | 2 +- bower.json | 6 --- spago.lock | 84 ++++++++++++++++++++++++++++++---------- spago.yaml | 42 ++++++++++---------- 4 files changed, 85 insertions(+), 49 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 76cf55a..832e988 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -28,7 +28,7 @@ jobs: output - name: Build source - run: spago build --censor-stats --strict --pedantic-packages + run: spago build --censor-stats --strict --ensure-ranges --pedantic-packages - name: Run tests run: spago test --offline --censor-stats --strict --pedantic-packages -- --censor-codes=UserDefinedWarning diff --git a/bower.json b/bower.json index 54a0e73..b1e9fb0 100644 --- a/bower.json +++ b/bower.json @@ -1,12 +1,6 @@ { "name": "purescript-profunctor-lenses", "license": "MIT", - "ignore": [ - "**/.*", - "node_modules", - "bower_components", - "output" - ], "repository": { "type": "git", "url": "https://github.com/purescript-contrib/purescript-profunctor-lenses.git" diff --git a/spago.lock b/spago.lock index 89548cb..368945d 100644 --- a/spago.lock +++ b/spago.lock @@ -5,27 +5,69 @@ "path": "./", "core": { "dependencies": [ - "arrays", - "bifunctors", - "const", - "control", - "distributive", - "either", - "foldable-traversable", - "foreign-object", - "functors", - "identity", - "lists", - "maybe", - "newtype", - "ordered-collections", - "partial", - "prelude", - "profunctor", - "record", - "safe-coerce", - "transformers", - "tuples" + { + "arrays": ">=7.3.0 <8.0.0" + }, + { + "bifunctors": ">=6.0.0 <7.0.0" + }, + { + "const": ">=6.0.0 <7.0.0" + }, + { + "control": ">=6.0.0 <7.0.0" + }, + { + "distributive": ">=6.0.0 <7.0.0" + }, + { + "either": ">=6.1.0 <7.0.0" + }, + { + "foldable-traversable": ">=6.0.0 <7.0.0" + }, + { + "foreign-object": ">=4.1.0 <5.0.0" + }, + { + "functors": ">=5.0.0 <6.0.0" + }, + { + "identity": ">=6.0.0 <7.0.0" + }, + { + "lists": ">=7.0.0 <8.0.0" + }, + { + "maybe": ">=6.0.0 <7.0.0" + }, + { + "newtype": ">=5.0.0 <6.0.0" + }, + { + "ordered-collections": ">=3.2.0 <4.0.0" + }, + { + "partial": ">=4.0.0 <5.0.0" + }, + { + "prelude": ">=6.0.1 <7.0.0" + }, + { + "profunctor": ">=6.0.1 <7.0.0" + }, + { + "record": ">=4.0.0 <5.0.0" + }, + { + "safe-coerce": ">=2.0.0 <3.0.0" + }, + { + "transformers": ">=6.1.0 <7.0.0" + }, + { + "tuples": ">=7.0.0 <8.0.0" + } ], "build_plan": [ "arrays", diff --git a/spago.yaml b/spago.yaml index 0e8c597..e84e3df 100644 --- a/spago.yaml +++ b/spago.yaml @@ -7,27 +7,27 @@ package: githubOwner: purescript-contrib githubRepo: purescript-profunctor-lenses dependencies: - - arrays - - bifunctors - - const - - control - - distributive - - either - - foldable-traversable - - foreign-object - - functors - - identity - - lists - - maybe - - newtype - - ordered-collections - - partial - - prelude - - profunctor - - record - - safe-coerce - - transformers - - tuples + - arrays: ">=7.3.0 <8.0.0" + - bifunctors: ">=6.0.0 <7.0.0" + - const: ">=6.0.0 <7.0.0" + - control: ">=6.0.0 <7.0.0" + - distributive: ">=6.0.0 <7.0.0" + - either: ">=6.1.0 <7.0.0" + - foldable-traversable: ">=6.0.0 <7.0.0" + - foreign-object: ">=4.1.0 <5.0.0" + - functors: ">=5.0.0 <6.0.0" + - identity: ">=6.0.0 <7.0.0" + - lists: ">=7.0.0 <8.0.0" + - maybe: ">=6.0.0 <7.0.0" + - newtype: ">=5.0.0 <6.0.0" + - ordered-collections: ">=3.2.0 <4.0.0" + - partial: ">=4.0.0 <5.0.0" + - prelude: ">=6.0.1 <7.0.0" + - profunctor: ">=6.0.1 <7.0.0" + - record: ">=4.0.0 <5.0.0" + - safe-coerce: ">=2.0.0 <3.0.0" + - transformers: ">=6.1.0 <7.0.0" + - tuples: ">=7.0.0 <8.0.0" test: main: Test.Main dependencies: From feb318d6c614da0328e422fa21cdc9410d93daf2 Mon Sep 17 00:00:00 2001 From: Serhii Khoma Date: Sat, 12 Oct 2024 18:21:27 +0700 Subject: [PATCH 3/8] feat: remove bower.json and empty package-lock.json --- .github/workflows/ci.yml | 2 +- bower.json | 8 -------- package-lock.json | 6 ------ 3 files changed, 1 insertion(+), 15 deletions(-) delete mode 100644 bower.json delete mode 100644 package-lock.json diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 832e988..13a43ca 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,7 +31,7 @@ jobs: run: spago build --censor-stats --strict --ensure-ranges --pedantic-packages - name: Run tests - run: spago test --offline --censor-stats --strict --pedantic-packages -- --censor-codes=UserDefinedWarning + run: spago test --offline --censor-stats --strict --pedantic-packages - name: Verify formatting run: purs-tidy check src test diff --git a/bower.json b/bower.json deleted file mode 100644 index b1e9fb0..0000000 --- a/bower.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "purescript-profunctor-lenses", - "license": "MIT", - "repository": { - "type": "git", - "url": "https://github.com/purescript-contrib/purescript-profunctor-lenses.git" - } -} diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 1420a90..0000000 --- a/package-lock.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "purescript-profunctor-lenses", - "lockfileVersion": 3, - "requires": true, - "packages": {} -} From 7c25e26e832b69c93c04c8c774211ade662d741d Mon Sep 17 00:00:00 2001 From: Serhii Khoma Date: Sat, 12 Oct 2024 18:26:54 +0700 Subject: [PATCH 4/8] feat: remove examples.dhall --- examples.dhall | 13 ------------- examples/README.md | 2 +- examples/spago.yaml | 6 ++++++ 3 files changed, 7 insertions(+), 14 deletions(-) delete mode 100644 examples.dhall create mode 100644 examples/spago.yaml diff --git a/examples.dhall b/examples.dhall deleted file mode 100644 index 76616c1..0000000 --- a/examples.dhall +++ /dev/null @@ -1,13 +0,0 @@ -let config = ./spago.dhall -in config // - { dependencies = - config.dependencies # - [ "colors" - , "generics-rep" - , "record-extra" - ] - , sources = - config.sources # - [ "examples/**/*.purs" - ] - } diff --git a/examples/README.md b/examples/README.md index a82d939..e774cc9 100644 --- a/examples/README.md +++ b/examples/README.md @@ -1,6 +1,6 @@ ## Examples -* [Using Prisms with Sum Types](src/PrismsForSumTypes.purs) +- [Using Prisms with Sum Types](src/PrismsForSumTypes.purs) ## Conventions and the "why" behind them diff --git a/examples/spago.yaml b/examples/spago.yaml new file mode 100644 index 0000000..7c3a6b8 --- /dev/null +++ b/examples/spago.yaml @@ -0,0 +1,6 @@ +package: + name: profunctor-lenses-examples + dependencies: + - colors + - generics-rep + - record-extra From 630dcdb8b705117935f8956fac3c4f7e00b0557e Mon Sep 17 00:00:00 2001 From: Serhii Khoma Date: Sat, 12 Oct 2024 18:54:27 +0700 Subject: [PATCH 5/8] fix: examples, TODO wait for spago monorepo support --- .github/workflows/ci.yml | 2 +- examples/spago.yaml | 1 - examples/src/PrismsForSumTypes.purs | 32 +++---- spago.lock | 141 ++++++++++++++++++++++++++++ 4 files changed, 154 insertions(+), 22 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 13a43ca..e5f55d2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,4 +34,4 @@ jobs: run: spago test --offline --censor-stats --strict --pedantic-packages - name: Verify formatting - run: purs-tidy check src test + run: purs-tidy check src test examples/src diff --git a/examples/spago.yaml b/examples/spago.yaml index 7c3a6b8..3aff2ea 100644 --- a/examples/spago.yaml +++ b/examples/spago.yaml @@ -2,5 +2,4 @@ package: name: profunctor-lenses-examples dependencies: - colors - - generics-rep - record-extra diff --git a/examples/src/PrismsForSumTypes.purs b/examples/src/PrismsForSumTypes.purs index e129237..126cd94 100644 --- a/examples/src/PrismsForSumTypes.purs +++ b/examples/src/PrismsForSumTypes.purs @@ -33,8 +33,7 @@ import Color (Color) import Color as Color import Data.Either (Either(..)) import Data.Generic.Rep (class Generic) -import Data.Generic.Rep.Eq as GEq -import Data.Generic.Rep.Show as GShow +import Data.Show.Generic (genericShow) import Data.Lens (Prism', is, isn't, nearly, only, preview, prism, prism', review) import Data.Maybe (Maybe(..), maybe) @@ -72,7 +71,7 @@ solidFocus = prism' constructor focus constructor = Solid focus fill = case fill of Solid color -> Just color - otherCases -> Nothing + _ -> Nothing -- In real life, you might abbreviate the above to this: @@ -239,26 +238,19 @@ n5 = review brightSolidFocus unit -- ... although Eq is only required for `only`. -derive instance genericPercent :: Generic Percent _ +derive instance Generic Percent _ +derive instance Eq Percent -instance eqPercent :: Eq Percent where - eq = GEq.genericEq - -instance showPercent :: Show Percent where +instance Show Percent where show (Percent f) = "(" <> show f <> "%)" -derive instance genericPoint :: Generic Point _ - -instance eqPoint :: Eq Point where - eq = GEq.genericEq +derive instance Generic Point _ +derive instance Eq Point -instance showPoint :: Show Point where +instance Show Point where show (Point x y) = "(" <> show x <> ", " <> show y <> ")" -derive instance genericFill :: Generic Fill _ - -instance eqFill :: Eq Fill where - eq = GEq.genericEq - -instance showFill :: Show Fill where - show x = GShow.genericShow x +derive instance Generic Fill _ +derive instance Eq Fill +instance Show Fill where + show = genericShow diff --git a/spago.lock b/spago.lock index 368945d..4bb97ea 100644 --- a/spago.lock +++ b/spago.lock @@ -122,6 +122,61 @@ "prelude" ] } + }, + "profunctor-lenses-examples": { + "path": "examples", + "core": { + "dependencies": [ + "colors", + "record-extra" + ], + "build_plan": [ + "arrays", + "bifunctors", + "colors", + "const", + "contravariant", + "control", + "distributive", + "effect", + "either", + "enums", + "exists", + "foldable-traversable", + "functions", + "functors", + "gen", + "identity", + "integers", + "invariant", + "lazy", + "lists", + "maybe", + "newtype", + "nonempty", + "numbers", + "orders", + "partial", + "prelude", + "profunctor", + "record", + "record-extra", + "refs", + "safe-coerce", + "st", + "strings", + "tailrec", + "tuples", + "type-equality", + "typelevel-prelude", + "unfoldable", + "unsafe-coerce" + ] + }, + "test": { + "dependencies": [], + "build_plan": [] + } } }, "package_set": { @@ -685,6 +740,19 @@ "tuples" ] }, + "colors": { + "type": "registry", + "version": "7.0.1", + "integrity": "sha256-udlg/y2PFsHYli8Tgz8BQGGrOjyGo0BcJj36IfgYADs=", + "dependencies": [ + "arrays", + "integers", + "lists", + "numbers", + "partial", + "strings" + ] + }, "console": { "type": "registry", "version": "6.1.0", @@ -756,6 +824,23 @@ "prelude" ] }, + "enums": { + "type": "registry", + "version": "6.0.1", + "integrity": "sha256-HWaD73JFLorc4A6trKIRUeDMdzE+GpkJaEOM1nTNkC8=", + "dependencies": [ + "control", + "either", + "gen", + "maybe", + "newtype", + "nonempty", + "partial", + "prelude", + "tuples", + "unfoldable" + ] + }, "exceptions": { "type": "registry", "version": "6.1.0", @@ -868,6 +953,16 @@ "prelude" ] }, + "integers": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-sf+sK26R1hzwl3NhXR7WAu9zCDjQnfoXwcyGoseX158=", + "dependencies": [ + "maybe", + "numbers", + "prelude" + ] + }, "invariant": { "type": "registry", "version": "6.0.0", @@ -940,6 +1035,15 @@ "unfoldable" ] }, + "numbers": { + "type": "registry", + "version": "9.0.1", + "integrity": "sha256-/9M6aeMDBdB4cwYDeJvLFprAHZ49EbtKQLIJsneXLIk=", + "dependencies": [ + "functions", + "maybe" + ] + }, "ordered-collections": { "type": "registry", "version": "3.2.0", @@ -1004,6 +1108,20 @@ "unsafe-coerce" ] }, + "record-extra": { + "type": "registry", + "version": "5.0.1", + "integrity": "sha256-7vnREK2fpGJ7exswSeA9UpZFuU+UXRt3SA7AFUldT/Y=", + "dependencies": [ + "arrays", + "functions", + "lists", + "prelude", + "record", + "tuples", + "typelevel-prelude" + ] + }, "refs": { "type": "registry", "version": "6.0.0", @@ -1032,6 +1150,29 @@ "unsafe-coerce" ] }, + "strings": { + "type": "registry", + "version": "6.0.1", + "integrity": "sha256-WssD3DbX4OPzxSdjvRMX0yvc9+pS7n5gyPv5I2Trb7k=", + "dependencies": [ + "arrays", + "control", + "either", + "enums", + "foldable-traversable", + "gen", + "integers", + "maybe", + "newtype", + "nonempty", + "partial", + "prelude", + "tailrec", + "tuples", + "unfoldable", + "unsafe-coerce" + ] + }, "tailrec": { "type": "registry", "version": "6.1.0", From 8681805422badc12e74c75ff2de0144477036d36 Mon Sep 17 00:00:00 2001 From: Serhii Khoma Date: Sat, 12 Oct 2024 18:55:55 +0700 Subject: [PATCH 6/8] fix: ci --- examples/spago.yaml | 5 ++++- spago.lock | 25 +++++++++---------------- 2 files changed, 13 insertions(+), 17 deletions(-) diff --git a/examples/spago.yaml b/examples/spago.yaml index 3aff2ea..b19a499 100644 --- a/examples/spago.yaml +++ b/examples/spago.yaml @@ -2,4 +2,7 @@ package: name: profunctor-lenses-examples dependencies: - colors - - record-extra + - either + - maybe + - prelude + - profunctor-lenses diff --git a/spago.lock b/spago.lock index 4bb97ea..93c959b 100644 --- a/spago.lock +++ b/spago.lock @@ -128,7 +128,10 @@ "core": { "dependencies": [ "colors", - "record-extra" + "either", + "maybe", + "prelude", + "profunctor-lenses" ], "build_plan": [ "arrays", @@ -141,8 +144,10 @@ "effect", "either", "enums", + "exceptions", "exists", "foldable-traversable", + "foreign-object", "functions", "functors", "gen", @@ -155,17 +160,19 @@ "newtype", "nonempty", "numbers", + "ordered-collections", "orders", "partial", "prelude", "profunctor", + "profunctor-lenses", "record", - "record-extra", "refs", "safe-coerce", "st", "strings", "tailrec", + "transformers", "tuples", "type-equality", "typelevel-prelude", @@ -1108,20 +1115,6 @@ "unsafe-coerce" ] }, - "record-extra": { - "type": "registry", - "version": "5.0.1", - "integrity": "sha256-7vnREK2fpGJ7exswSeA9UpZFuU+UXRt3SA7AFUldT/Y=", - "dependencies": [ - "arrays", - "functions", - "lists", - "prelude", - "record", - "tuples", - "typelevel-prelude" - ] - }, "refs": { "type": "registry", "version": "6.0.0", From 0886940dbea32821678057f89fcc417aa3c3a001 Mon Sep 17 00:00:00 2001 From: Serhii Khoma Date: Mon, 14 Oct 2024 11:27:57 +0700 Subject: [PATCH 7/8] feat: bump version to 9.0.0 --- spago.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spago.yaml b/spago.yaml index e84e3df..6f18fef 100644 --- a/spago.yaml +++ b/spago.yaml @@ -2,7 +2,7 @@ package: name: profunctor-lenses publish: license: MIT - version: 8.0.0 + version: 9.0.0 location: githubOwner: purescript-contrib githubRepo: purescript-profunctor-lenses From 47446cb6b86e9de2b657277667b27b76f1c3d395 Mon Sep 17 00:00:00 2001 From: Serhii Khoma Date: Mon, 14 Oct 2024 14:56:10 +0700 Subject: [PATCH 8/8] fix: libraries should not use package sets at all -> use solver --- spago.lock | 515 ----------------------------------------------------- spago.yaml | 5 +- 2 files changed, 1 insertion(+), 519 deletions(-) diff --git a/spago.lock b/spago.lock index 93c959b..2b03085 100644 --- a/spago.lock +++ b/spago.lock @@ -186,521 +186,6 @@ } } }, - "package_set": { - "address": { - "registry": "60.5.0" - }, - "compiler": ">=0.15.15 <0.16.0", - "content": { - "abc-parser": "2.0.1", - "ace": "9.1.0", - "address-rfc2821": "0.1.1", - "aff": "8.0.0", - "aff-bus": "6.0.0", - "aff-coroutines": "9.0.0", - "aff-promise": "4.0.0", - "aff-retry": "2.0.0", - "affjax": "13.0.0", - "affjax-node": "1.0.0", - "affjax-web": "1.0.0", - "ansi": "7.0.0", - "apexcharts": "0.5.0", - "applicative-phases": "1.0.0", - "argonaut": "9.0.0", - "argonaut-aeson-generic": "0.4.1", - "argonaut-codecs": "9.1.0", - "argonaut-core": "7.0.0", - "argonaut-generic": "8.0.0", - "argonaut-traversals": "10.0.0", - "argparse-basic": "2.0.0", - "array-builder": "0.1.2", - "array-search": "0.6.0", - "arraybuffer": "13.2.0", - "arraybuffer-builder": "3.1.0", - "arraybuffer-types": "3.0.2", - "arrays": "7.3.0", - "arrays-extra": "0.6.1", - "arrays-zipper": "2.0.1", - "ask": "1.0.0", - "assert": "6.0.0", - "assert-multiple": "0.4.0", - "avar": "5.0.0", - "b64": "0.0.8", - "barbies": "1.0.1", - "barlow-lens": "0.9.0", - "bifunctors": "6.0.0", - "bigints": "7.0.1", - "bolson": "0.3.9", - "bookhound": "0.1.7", - "bower-json": "3.0.0", - "call-by-name": "4.0.1", - "canvas": "6.0.0", - "canvas-action": "9.0.0", - "cartesian": "1.0.6", - "catenable-lists": "7.0.0", - "cbor-stream": "1.3.0", - "chameleon": "1.0.0", - "chameleon-halogen": "1.0.3", - "chameleon-react-basic": "1.1.0", - "chameleon-styled": "2.5.0", - "chameleon-transformers": "1.0.0", - "channel": "1.0.0", - "checked-exceptions": "3.1.1", - "choku": "1.0.1", - "classless": "0.1.1", - "classless-arbitrary": "0.1.1", - "classless-decode-json": "0.1.1", - "classless-encode-json": "0.1.3", - "classnames": "2.0.0", - "codec": "6.1.0", - "codec-argonaut": "10.0.0", - "codec-json": "2.0.0", - "colors": "7.0.1", - "concur-core": "0.5.0", - "concur-react": "0.5.0", - "concurrent-queues": "3.0.0", - "console": "6.1.0", - "const": "6.0.0", - "contravariant": "6.0.0", - "control": "6.0.0", - "convertable-options": "1.0.0", - "coroutines": "7.0.0", - "css": "6.0.0", - "css-frameworks": "1.0.1", - "csv-stream": "2.3.0", - "data-mvc": "0.0.2", - "datetime": "6.1.0", - "datetime-parsing": "0.2.0", - "debounce": "0.1.0", - "debug": "6.0.2", - "decimals": "7.1.0", - "default-values": "1.0.1", - "deku": "0.9.23", - "deno": "0.0.5", - "dissect": "1.0.0", - "distributive": "6.0.0", - "dom-filereader": "7.0.0", - "dom-indexed": "12.0.0", - "dom-simple": "0.4.0", - "dotenv": "4.0.3", - "droplet": "0.6.0", - "dts": "1.0.0", - "dual-numbers": "1.0.3", - "dynamic-buffer": "3.0.1", - "echarts-simple": "0.0.1", - "effect": "4.0.0", - "either": "6.1.0", - "elmish": "0.13.0", - "elmish-enzyme": "0.1.1", - "elmish-hooks": "0.10.3", - "elmish-html": "0.9.0", - "elmish-testing-library": "0.3.2", - "email-validate": "7.0.0", - "encoding": "0.0.9", - "enums": "6.0.1", - "env-names": "0.4.0", - "error": "2.0.0", - "eta-conversion": "0.3.2", - "exceptions": "6.1.0", - "exists": "6.0.0", - "exitcodes": "4.0.0", - "expect-inferred": "3.0.0", - "ezfetch": "1.0.0", - "fahrtwind": "2.0.0", - "fallback": "0.1.0", - "fast-vect": "1.2.0", - "fetch": "4.1.0", - "fetch-argonaut": "1.0.1", - "fetch-core": "5.1.0", - "fetch-yoga-json": "1.1.0", - "ffi-simple": "0.5.1", - "fft-js": "0.1.0", - "filterable": "5.0.0", - "fix-functor": "0.1.0", - "fixed-points": "7.0.0", - "fixed-precision": "5.0.0", - "flame": "1.3.0", - "float32": "2.0.0", - "fmt": "0.2.1", - "foldable-traversable": "6.0.0", - "foldable-traversable-extra": "0.0.6", - "foreign": "7.0.0", - "foreign-object": "4.1.0", - "foreign-readwrite": "3.4.0", - "forgetmenot": "0.1.0", - "fork": "6.0.0", - "form-urlencoded": "7.0.0", - "formatters": "7.0.0", - "framer-motion": "1.0.1", - "free": "7.1.0", - "freeap": "7.0.0", - "freer-free": "0.0.1", - "freet": "7.0.0", - "functions": "6.0.0", - "functor1": "3.0.0", - "functors": "5.0.0", - "fuzzy": "0.4.0", - "gen": "4.0.0", - "generate-values": "1.0.1", - "generic-router": "0.0.1", - "geojson": "0.0.5", - "geometria": "2.2.0", - "gojs": "0.1.1", - "grain": "3.0.0", - "grain-router": "3.0.0", - "grain-virtualized": "3.0.0", - "graphs": "8.1.0", - "group": "4.1.1", - "halogen": "7.0.0", - "halogen-bootstrap5": "5.3.2", - "halogen-canvas": "1.0.0", - "halogen-css": "10.0.0", - "halogen-echarts-simple": "0.0.4", - "halogen-formless": "4.0.3", - "halogen-helix": "1.0.1", - "halogen-hooks": "0.6.3", - "halogen-hooks-extra": "0.9.0", - "halogen-infinite-scroll": "1.1.0", - "halogen-store": "0.5.4", - "halogen-storybook": "2.0.0", - "halogen-subscriptions": "2.0.0", - "halogen-svg-elems": "8.0.0", - "halogen-typewriter": "1.0.4", - "halogen-vdom": "8.0.0", - "halogen-vdom-string-renderer": "0.5.0", - "halogen-xterm": "2.0.0", - "heckin": "2.0.1", - "heterogeneous": "0.6.0", - "homogeneous": "0.4.0", - "http-methods": "6.0.0", - "httpurple": "4.0.0", - "huffman": "0.4.0", - "humdrum": "0.0.1", - "hyrule": "2.3.8", - "identity": "6.0.0", - "identy": "4.0.1", - "indexed-db": "1.0.0", - "indexed-monad": "3.0.0", - "int64": "3.0.0", - "integers": "6.0.0", - "interpolate": "5.0.2", - "intersection-observer": "1.0.1", - "invariant": "6.0.0", - "jarilo": "1.0.1", - "jelly": "0.10.0", - "jelly-router": "0.3.0", - "jelly-signal": "0.4.0", - "jest": "1.0.0", - "js-abort-controller": "1.0.0", - "js-bigints": "2.2.1", - "js-date": "8.0.0", - "js-fetch": "0.2.1", - "js-fileio": "3.0.0", - "js-intl": "1.0.4", - "js-iterators": "0.1.1", - "js-maps": "0.1.2", - "js-promise": "1.0.0", - "js-promise-aff": "1.0.0", - "js-timers": "6.1.0", - "js-uri": "3.1.0", - "jsdom": "1.0.0", - "json": "1.1.0", - "json-codecs": "5.0.0", - "justifill": "0.5.0", - "jwt": "0.0.9", - "labeled-data": "0.2.0", - "language-cst-parser": "0.14.0", - "lazy": "6.0.0", - "lazy-joe": "1.0.0", - "lcg": "4.0.0", - "leibniz": "5.0.0", - "leveldb": "1.0.1", - "liminal": "1.0.1", - "linalg": "6.0.0", - "lists": "7.0.0", - "literals": "1.0.2", - "logging": "3.0.0", - "logging-journald": "0.4.0", - "lumi-components": "18.0.0", - "machines": "7.0.0", - "maps-eager": "0.5.0", - "marionette": "1.0.0", - "marionette-react-basic-hooks": "0.1.1", - "marked": "0.1.0", - "matrices": "5.0.1", - "matryoshka": "1.0.0", - "maybe": "6.0.0", - "media-types": "6.0.0", - "meowclient": "1.0.0", - "midi": "4.0.0", - "milkis": "9.0.0", - "minibench": "4.0.1", - "mmorph": "7.0.0", - "monad-control": "5.0.0", - "monad-logger": "1.3.1", - "monad-loops": "0.5.0", - "monad-unlift": "1.0.1", - "monoid-extras": "0.0.1", - "monoidal": "0.16.0", - "morello": "0.4.0", - "mote": "3.0.0", - "motsunabe": "2.0.0", - "mvc": "0.0.1", - "mysql": "6.0.1", - "n3": "0.1.0", - "nano-id": "1.1.0", - "nanoid": "0.1.0", - "naturals": "3.0.0", - "nested-functor": "0.2.1", - "newtype": "5.0.0", - "nextjs": "0.1.1", - "nextui": "0.2.0", - "node-buffer": "9.0.0", - "node-child-process": "11.1.0", - "node-event-emitter": "3.0.0", - "node-execa": "5.0.0", - "node-fs": "9.2.0", - "node-glob-basic": "1.3.0", - "node-http": "9.1.0", - "node-http2": "1.1.1", - "node-human-signals": "1.0.0", - "node-net": "5.1.0", - "node-os": "5.1.0", - "node-path": "5.0.0", - "node-process": "11.2.0", - "node-readline": "8.1.1", - "node-sqlite3": "8.0.0", - "node-stream-pipes": "2.1.6", - "node-streams": "9.0.0", - "node-tls": "0.3.1", - "node-url": "7.0.1", - "node-zlib": "0.4.0", - "nonempty": "7.0.0", - "now": "6.0.0", - "npm-package-json": "2.0.0", - "nullable": "6.0.0", - "numberfield": "0.2.2", - "numbers": "9.0.1", - "oak": "3.1.1", - "oak-debug": "1.2.2", - "object-maps": "0.3.0", - "ocarina": "1.5.4", - "oooooooooorrrrrrrmm-lib": "0.0.1", - "open-colors-scales-and-schemes": "1.0.0", - "open-folds": "6.4.0", - "open-foreign-generic": "11.0.3", - "open-memoize": "6.2.0", - "open-mkdirp-aff": "1.2.0", - "open-pairing": "6.2.0", - "open-smolder": "12.0.2", - "options": "7.0.0", - "optparse": "5.0.1", - "ordered-collections": "3.2.0", - "ordered-set": "0.4.0", - "orders": "6.0.0", - "owoify": "1.2.0", - "pairs": "9.0.1", - "parallel": "7.0.0", - "parsing": "10.2.0", - "parsing-dataview": "3.2.4", - "partial": "4.0.0", - "pathy": "9.0.0", - "pha": "0.13.0", - "phaser": "0.7.0", - "phylio": "1.1.2", - "pipes": "8.0.0", - "pirates-charm": "0.0.1", - "pmock": "0.9.0", - "point-free": "1.0.0", - "pointed-list": "0.5.1", - "polymorphic-vectors": "4.0.0", - "posix-types": "6.0.0", - "postgresql": "2.0.19", - "precise": "6.0.0", - "precise-datetime": "7.0.0", - "prelude": "6.0.1", - "prettier-printer": "3.0.0", - "priority-queue": "0.1.2", - "profunctor": "6.0.1", - "profunctor-lenses": "8.0.0", - "protobuf": "4.3.0", - "psa-utils": "8.0.0", - "psci-support": "6.0.0", - "punycode": "1.0.0", - "qualified-do": "2.2.0", - "quantities": "12.2.0", - "quickcheck": "8.0.1", - "quickcheck-combinators": "0.1.3", - "quickcheck-laws": "7.0.0", - "quickcheck-utf8": "0.0.0", - "random": "6.0.0", - "rationals": "6.0.0", - "rdf": "0.1.0", - "react": "11.0.0", - "react-aria": "0.2.0", - "react-basic": "17.0.0", - "react-basic-classic": "3.0.0", - "react-basic-dnd": "10.1.0", - "react-basic-dom": "6.1.0", - "react-basic-dom-beta": "0.1.1", - "react-basic-emotion": "7.1.0", - "react-basic-hooks": "8.2.0", - "react-basic-storybook": "2.0.0", - "react-dom": "8.0.0", - "react-halo": "3.0.0", - "react-icons": "1.1.5", - "react-markdown": "0.1.0", - "react-testing-library": "4.0.1", - "react-virtuoso": "1.0.0", - "reactix": "0.6.1", - "read": "1.0.1", - "recharts": "1.1.0", - "record": "4.0.0", - "record-extra": "5.0.1", - "record-ptional-fields": "0.1.2", - "record-studio": "1.0.4", - "refs": "6.0.0", - "remotedata": "5.0.1", - "repr": "0.5.0", - "resize-observer": "1.0.0", - "resource": "2.0.1", - "resourcet": "1.0.0", - "result": "1.0.3", - "return": "0.2.0", - "ring-modules": "5.0.1", - "rito": "0.3.4", - "roman": "0.4.0", - "rough-notation": "1.0.2", - "routing": "11.0.0", - "routing-duplex": "0.7.0", - "run": "5.0.0", - "safe-coerce": "2.0.0", - "safely": "4.0.1", - "school-of-music": "1.3.0", - "selection-foldable": "0.2.0", - "selective-functors": "1.0.1", - "semirings": "7.0.0", - "signal": "13.0.0", - "simple-emitter": "3.0.1", - "simple-i18n": "2.0.1", - "simple-json": "9.0.0", - "simple-json-generics": "0.2.1", - "simple-ulid": "3.0.0", - "sized-matrices": "1.0.0", - "sized-vectors": "5.0.2", - "slug": "3.1.0", - "small-ffi": "4.0.1", - "soundfonts": "4.1.0", - "sparse-matrices": "2.0.1", - "sparse-polynomials": "3.0.1", - "spec": "8.1.0", - "spec-discovery": "8.4.0", - "spec-mocha": "5.1.1", - "spec-node": "0.0.2", - "spec-quickcheck": "5.0.2", - "spec-reporter-xunit": "0.7.1", - "splitmix": "2.1.0", - "ssrs": "1.0.0", - "st": "6.2.0", - "statistics": "0.3.2", - "strictlypositiveint": "1.0.1", - "string-parsers": "8.0.0", - "strings": "6.0.1", - "strings-extra": "4.0.0", - "stringutils": "0.0.12", - "substitute": "0.2.3", - "supply": "0.2.0", - "svg-parser": "3.0.0", - "systemd-journald": "0.3.0", - "tagged": "4.0.2", - "tailrec": "6.1.0", - "tecton": "0.2.1", - "tecton-halogen": "0.2.0", - "test-unit": "17.0.0", - "thermite": "6.3.1", - "thermite-dom": "0.3.1", - "these": "6.0.0", - "threading": "0.0.3", - "tldr": "0.0.0", - "toestand": "0.9.0", - "transformation-matrix": "1.0.1", - "transformers": "6.1.0", - "tree-rose": "4.0.2", - "ts-bridge": "4.0.0", - "tuples": "7.0.0", - "two-or-more": "1.0.0", - "type-equality": "4.0.1", - "typedenv": "2.0.1", - "typelevel": "6.0.0", - "typelevel-lists": "2.1.0", - "typelevel-peano": "1.0.1", - "typelevel-prelude": "7.0.0", - "typelevel-regex": "0.0.3", - "typelevel-rows": "0.1.0", - "typisch": "0.4.0", - "uint": "7.0.0", - "ulid": "3.0.1", - "uncurried-transformers": "1.1.0", - "undefined": "2.0.0", - "undefined-is-not-a-problem": "1.1.0", - "unfoldable": "6.0.0", - "unicode": "6.0.0", - "unique": "0.6.1", - "unlift": "1.0.1", - "unordered-collections": "3.1.0", - "unsafe-coerce": "6.0.0", - "unsafe-reference": "5.0.0", - "untagged-to-tagged": "0.1.4", - "untagged-union": "1.0.0", - "uri": "9.0.0", - "url-immutable": "1.0.0", - "uuid": "9.0.0", - "uuidv4": "1.0.0", - "validation": "6.0.0", - "variant": "8.0.0", - "variant-encodings": "2.0.0", - "vectorfield": "1.0.1", - "vectors": "2.1.0", - "versions": "7.0.0", - "visx": "0.0.2", - "web-clipboard": "6.0.0", - "web-cssom": "2.0.0", - "web-cssom-view": "0.1.0", - "web-dom": "6.0.0", - "web-dom-parser": "8.0.0", - "web-dom-xpath": "3.0.0", - "web-encoding": "3.0.0", - "web-events": "4.0.0", - "web-fetch": "4.0.1", - "web-file": "4.0.0", - "web-geometry": "0.1.0", - "web-html": "4.1.0", - "web-pointerevents": "2.0.0", - "web-proletarian": "1.0.0", - "web-promise": "3.2.0", - "web-resize-observer": "2.1.0", - "web-router": "1.0.0", - "web-socket": "4.0.0", - "web-storage": "5.0.0", - "web-streams": "4.0.0", - "web-touchevents": "4.0.0", - "web-uievents": "5.0.0", - "web-url": "2.0.0", - "web-workers": "1.1.0", - "web-xhr": "5.0.1", - "webextension-polyfill": "0.1.0", - "webgpu": "0.0.1", - "which": "2.0.0", - "xterm": "1.0.0", - "yoga-fetch": "1.0.1", - "yoga-json": "5.1.0", - "yoga-om": "0.1.0", - "yoga-postgres": "6.0.0", - "yoga-tree": "1.0.0", - "z3": "0.0.2", - "zipperarray": "2.0.0" - } - }, "extra_packages": {} }, "packages": { diff --git a/spago.yaml b/spago.yaml index 6f18fef..571b4f5 100644 --- a/spago.yaml +++ b/spago.yaml @@ -33,7 +33,4 @@ package: dependencies: - assert - effect -workspace: - extraPackages: {} - packageSet: - registry: 60.5.0 +workspace: {}