I can’t figure out how to publish a purs
v0.14.1 package to Pursuit.
pulp publish --no-push
isn’t working for me anymore. I can’t satisfy the zombie bower
build.
Who’s been able to do this, and how did you do it?
I’m using this shell.nix
https://github.com/jamesdbrock/purescript-arraybuffer-builder/blob/ci/shell.nix
purs
v0.14.1
pulp
v15.0.0
bower
v1.8.12
Does purs publish
work for publishing to Pursuit? Does anyone do that?
I will try to https://pursuit.purescript.org/help/authors#submit-automated except with purs publish
instead of psc-publish
.
Is there a way to generate a purs publish
manifest file and a resolutions file from spago
?
Is this format for the manifest file?
{-
The schema for `purs.json` files.
This object holds all the info that the Registry needs to know about it.
-}
let Map = (./Prelude.dhall).Map.Type
let Target = ./Target.dhall
let Manifest =
-- The name of the package
{ name : Text
-- The SPDX code for the license under which the code is released
, license : Text
-- The version of this package
, version : Text
-- The git repo the package is published at
This file has been truncated. show original
Is this the format for the resolutions file?
-- | Parser for resolutions files, which contain information about the packages -- which this package depends on. A resolutions file should look something like -- this: -- -- { -- "purescript-prelude": { -- "version": "4.0.0", -- "path": "bower_components/purescript-prelude" -- }, -- "purescript-lists": { -- "version": "6.0.0", -- "path": "bower_components/purescript-lists" -- }, -- ... -- }
Reference:
purescript:master
← purescript:simplify-resolutions-format
opened 06:09PM - 17 Mar 19 UTC
f-f
May 6, 2021, 5:40pm
#4
No, the manifest spec you linked is newer and unrelated.
You linked to the correct resolution format though. I am not sure what’s the format for the manifest that purs publish
requires (I thought it would need only a resolutions file)
1 Like
Ok I’m pretty sure that “the manifest file” means the bower.json
file.
getManifestRepositoryInfo :: PackageMeta -> PrepareM (D.GithubUser, D.GithubRepo) getManifestRepositoryInfo pkgMeta = case bowerRepository pkgMeta of Nothing -> do giturl <- catchError (Just . T.strip . T.pack <$> readProcess' "git" ["config", "remote.origin.url"] "") (const (return Nothing)) userError (BadRepositoryField (RepositoryFieldMissing (giturl >>= extractGithub >>= return . format))) Just Repository{..} -> do unless (repositoryType == "git") (userError (BadRepositoryField (BadRepositoryType repositoryType))) maybe (userError (BadRepositoryField NotOnGithub)) return (extractGithub repositoryUrl)
I have resolutions
in my bower.json
but purs publish
wants a separate resolutions file, and that is what I am trying to figure out how to generate.
$ purs publish --manifest bower.json
Missing: --resolutions FILE
Usage: purs publish --manifest FILE --resolutions FILE [--compile-output DIR]
[--dry-run]
Generates documentation packages for upload to Pursuit
I don’t recommend using purs publish
directly. It’s easy to do incorrectly, and you can end up publishing incorrect information to Pursuit. Instead, I’d recommend nailing down the versions in bower.json so that pulp publish
works. If you want to go for the nuclear option you can always have Spago generate a list of all of your dependencies and their exact versions, and then just put those exact versions in your bower.json.
1 Like