registry-dev icon indicating copy to clipboard operation
registry-dev copied to clipboard

jelly 0.10.0 broken in package set 14.2.0

Open considerate opened this issue 2 years ago • 7 comments

Error 1 of 2:

  in module Jelly.Hydrate
  at /nix/store/s296s0x5m1b2asx3w6ihbvrra3gzfg3r-jelly-0.10.0//src/Jelly/Hydrate.purs:19:1 - 19:80 (line 19, column 1 - line 19, column 80)

    Module Jelly.Hooks was not found.
    Make sure the source file exists, and that it has been provided as an input to the compiler.


  See https://github.com/purescript/documentation/blob/master/errors/ModuleNotFound.md for more information,
  or to contribute content related to this error.

Error 2 of 2:

  in module Jelly.Render
  at /nix/store/s296s0x5m1b2asx3w6ihbvrra3gzfg3r-jelly-0.10.0//src/Jelly/Render.purs:13:1 - 13:49 (line 13, column 1 - line 13, column 49)

    Module Jelly.Hooks was not found.
    Make sure the source file exists, and that it has been provided as an input to the compiler.


  See https://github.com/purescript/documentation/blob/master/errors/ModuleNotFound.md for more information,
  or to contribute content related to this error.

Hydrate.purs in jelly-0.10.0 depends on Jelly.Hooks but the manifest on the index doesn't list jelly-hooks as a dependency.

https://github.com/purescript/registry-index/commit/b4c1ff0447871a5386f9cb392c7af06d53b310a0

considerate avatar Feb 26 '23 09:02 considerate

This is the contents of purs.json

{
  "name": "jelly",
  "version": "0.10.0",
  "license": "MIT",
  "location": {
    "githubOwner": "yukikurage",
    "githubRepo": "purescript-jelly"
  },
  "dependencies": {
    "aff": ">=7.1.0 <8.0.0",
    "arrays": ">=7.1.0 <8.0.0",
    "effect": ">=4.0.0 <5.0.0",
    "either": ">=6.1.0 <7.0.0",
    "free": ">=7.0.0 <8.0.0",
    "jelly-signal": ">=0.4.0 <0.5.0",
    "maybe": ">=6.0.0 <7.0.0",
    "prelude": ">=6.0.1 <7.0.0",
    "refs": ">=6.0.0 <7.0.0",
    "safely": ">=4.0.1 <5.0.0",
    "tailrec": ">=6.1.0 <7.0.0",
    "transformers": ">=6.0.0 <7.0.0",
    "tuples": ">=7.0.0 <8.0.0",
    "web-dom": ">=6.0.0 <7.0.0",
    "web-events": ">=4.0.0 <5.0.0",
    "web-html": ">=4.1.0 <5.0.0"
  }
}

Line 19 in Hydrate.purs looks like this:

import Jelly.Hooks (class MonadHooks, useEvent, useHooks, useHooks_, useUpdate)

considerate avatar Feb 26 '23 09:02 considerate

I believe that either

  1. jelly and all packages that depend on jelly should be removed from the package set.
  2. jelly should be downgraded to a version that doesn't break.
  3. The 14.2.0 package set should be removed and a new package set should be published when all packages build correctly.

considerate avatar Feb 26 '23 09:02 considerate

Meta question: Is this the correct repo for reporting these kind of issues?

considerate avatar Feb 26 '23 09:02 considerate

This is a bug caused by a module name conflict when integrating jelly-hooks functionality into jelly-signal.

Removing jelly-hooks from the package-set should work properly.

e.g. https://github.com/purescript/registry/issues/65

I think only a Registry Trustees can do these tasks...

yukikurage avatar Feb 26 '23 12:02 yukikurage

@considerate yes this is the right place for reporting this! This is clearly a bug - every package in the set should compile.

@yukikurage thanks for the further details! I opened https://github.com/purescript/registry/issues/197 for removing jelly-hooks.

f-f avatar Feb 26 '23 14:02 f-f

@f-f Thank you.

@yukikurage Thank you for the information. The jelly-signal-0.3.1 package from 14.2.0 doesn't seem to include the Jelly.Hooks module but 0.4.0 from 15.0.0 includes it. I have now confirmed that the 15.0.0 build jelly fine on my end.

@f-f Is there anything we can do about 14.2.0? Since it breaks the guarantee that all packages compiles together could it be revoked and unpublished?

considerate avatar Feb 26 '23 15:02 considerate

IMO we should delete any broken package sets. We very likely will replace them all when the registry leaves alpha and start fresh as well.

thomashoneyman avatar Feb 26 '23 23:02 thomashoneyman