purescript / registry-dev

Development work related to the PureScript Registry
https://github.com/purescript/registry
95 stars 80 forks source link

Update package transferrer so it doesn't hide PackageURLRedirects errors #670

Closed thomashoneyman closed 9 months ago

thomashoneyman commented 9 months ago

The transferrer right now reuses the legacy importer logic that verifies a package address as listed in the legacy registry files is the same as the location of its latest tag. On failure, the transferrer is skipping that package. Of course, this is exactly the circumstance in which we should transfer the package!

Due to this issue, 20 packages have not been transferred and have not been receiving updates since the legacy importer considers this a package failure. 18 of them should be transferred (the location they redirect to is valid / not in use). These 18 packages are not being updated by the legacy importer because a redirecting URL is considered a PackageURLRedirect error to prevent us from publishing packages that have moved and been re-registered.

Here are the packages that moved locations but were re-registered and won't be transferred:

Package purescript-heterogeneous-extrablatt has moved to https://github.com/rowtype-yoga/purescript-record-studio.git
New location https://github.com/rowtype-yoga/purescript-record-studio.git is not unique; package will not be transferred.

Package purescript-web-intl has moved to https://github.com/pete-murphy/purescript-js-intl.git
New location https://github.com/pete-murphy/purescript-js-intl.git is not unique; package will not be transferred.

Here's the full list of packages that ought to be transferred (and will be automatically with this PR):

{
  "purescript-arraybuffer-builder": {
    "metadataLocation": {
      "githubOwner": "jamesdbrock",
      "githubRepo": "purescript-arraybuffer-builder"
    },
    "tagLocation": {
      "githubOwner": "rowtype-yoga",
      "githubRepo": "purescript-arraybuffer-builder"
    }
  },
  "purescript-fallback": {
    "metadataLocation": {
      "githubOwner": "sigma-andex",
      "githubRepo": "purescript-fallback"
    },
    "tagLocation": {
      "githubOwner": "rowtype-yoga",
      "githubRepo": "purescript-fallback"
    }
  },
  "purescript-lazy-joe": {
    "metadataLocation": {
      "githubOwner": "sigma-andex",
      "githubRepo": "purescript-lazy-joe"
    },
    "tagLocation": {
      "githubOwner": "rowtype-yoga",
      "githubRepo": "purescript-lazy-joe"
    }
  },
  "purescript-mdast-util-from-markdown": {
    "metadataLocation": {
      "githubOwner": "sigma-andex",
      "githubRepo": "purescript-mdast-util-from-markdown"
    },
    "tagLocation": {
      "githubOwner": "rowtype-yoga",
      "githubRepo": "purescript-mdast-util-from-markdown"
    }
  },
  "purescript-nextjs": {
    "metadataLocation": {
      "githubOwner": "rowtype-yoga",
      "githubRepo": "purescript-nextjs"
    },
    "tagLocation": {
      "githubOwner": "purescript-react",
      "githubRepo": "purescript-nextjs"
    }
  },
  "purescript-nextui": {
    "metadataLocation": {
      "githubOwner": "rowtype-yoga",
      "githubRepo": "purescript-nextui"
    },
    "tagLocation": {
      "githubOwner": "purescript-react",
      "githubRepo": "purescript-nextui"
    }
  },
  "purescript-parsing-dataview": {
    "metadataLocation": {
      "githubOwner": "jamesdbrock",
      "githubRepo": "purescript-parsing-dataview"
    },
    "tagLocation": {
      "githubOwner": "rowtype-yoga",
      "githubRepo": "purescript-parsing-dataview"
    }
  },
  "purescript-quickcheck-utf8": {
    "metadataLocation": {
      "githubOwner": "openchronology",
      "githubRepo": "purescript-quickcheck-utf8"
    },
    "tagLocation": {
      "githubOwner": "athanclark",
      "githubRepo": "purescript-quickcheck-utf8"
    }
  },
  "purescript-react-basic": {
    "metadataLocation": {
      "githubOwner": "lumihq",
      "githubRepo": "purescript-react-basic"
    },
    "tagLocation": {
      "githubOwner": "purescript-react",
      "githubRepo": "purescript-react-basic"
    }
  },
  "purescript-react-basic-classic": {
    "metadataLocation": {
      "githubOwner": "lumihq",
      "githubRepo": "purescript-react-basic-classic"
    },
    "tagLocation": {
      "githubOwner": "purescript-react",
      "githubRepo": "purescript-react-basic-classic"
    }
  },
  "purescript-react-basic-compat": {
    "metadataLocation": {
      "githubOwner": "lumihq",
      "githubRepo": "purescript-react-basic-compat"
    },
    "tagLocation": {
      "githubOwner": "purescript-react",
      "githubRepo": "purescript-react-basic-compat"
    }
  },
  "purescript-react-basic-dnd": {
    "metadataLocation": {
      "githubOwner": "lumihq",
      "githubRepo": "purescript-react-dnd-basic"
    },
    "tagLocation": {
      "githubOwner": "purescript-react",
      "githubRepo": "purescript-react-dnd-basic"
    }
  },
  "purescript-react-basic-dom": {
    "metadataLocation": {
      "githubOwner": "lumihq",
      "githubRepo": "purescript-react-basic-dom"
    },
    "tagLocation": {
      "githubOwner": "purescript-react",
      "githubRepo": "purescript-react-basic-dom"
    }
  },
  "purescript-react-basic-emotion": {
    "metadataLocation": {
      "githubOwner": "lumihq",
      "githubRepo": "purescript-react-basic-emotion"
    },
    "tagLocation": {
      "githubOwner": "purescript-react",
      "githubRepo": "purescript-react-basic-emotion"
    }
  },
  "purescript-react-basic-hooks": {
    "metadataLocation": {
      "githubOwner": "megamaddu",
      "githubRepo": "purescript-react-basic-hooks"
    },
    "tagLocation": {
      "githubOwner": "purescript-react",
      "githubRepo": "purescript-react-basic-hooks"
    }
  },
  "purescript-react-markdown": {
    "metadataLocation": {
      "githubOwner": "rowtype-yoga",
      "githubRepo": "purescript-react-markdown"
    },
    "tagLocation": {
      "githubOwner": "purescript-react",
      "githubRepo": "purescript-react-markdown"
    }
  },
  "purescript-untagged-to-tagged": {
    "metadataLocation": {
      "githubOwner": "sigma-andex",
      "githubRepo": "purescript-untagged-to-tagged"
    },
    "tagLocation": {
      "githubOwner": "rowtype-yoga",
      "githubRepo": "purescript-untagged-to-tagged"
    }
  },
  "purescript-web-promise": {
    "metadataLocation": {
      "githubOwner": "purescript-web",
      "githubRepo": "purescript-web-promise"
    },
    "tagLocation": {
      "githubOwner": "purescript-deprecated",
      "githubRepo": "purescript-web-promise"
    }
  }
}