Coder Social home page Coder Social logo

vrurg / raku-fez Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tony-o/raku-fez

0.0 1.0 0.0 108 KB

This project is for 'zef', raku's cool new shiny dist uploader. If you're a module author you should definitely be using this sweet thang. ;;;;;;;;;;;;;; This project and the underlying infrastructure is supported out of my own pocket and through donations. If you'd like to donate please check here: https://www.patreon.com/oynot

Raku 100.00%

raku-fez's Introduction

zef ecosystem - cli

fez

fez is the command line tool used to manage your ecosystem user/pass.

current functionality:

  • login
  • register
  • upload
  • reset-password
  • meta
  • plugin management
  • command extensions via plugins

if you have features or edge cases that would make your migration to fez easier, please open a bug here in github or message me in #raku on freenode (tonyo).

register

λ local:~$ fez register
>>= Email: [email protected]
>>= Username: tony-o
>>= Password:
>>= registration successful, requesting auth key
>>= login successful, you can now upload dists
>>= what would you like your display name to show? tony o
>>= what's your website? DEATHBYPERL6.com
>>= public email address? xxxx
=<< your meta info has been updated

login

This is not necessary if you've just registered but you will eventually have to request a new key.

λ local:~$ fez login
>>= Username: tony-o
>>= Password:
>>= login successful, you can now upload dists

meta

Update your meta info - this information is public.

λ local:~$ fez meta
>>= what would you like your display name to show? tony o
>>= what's your website? DEATHBYPERL6.com
>>= public email address? xxxx
=<< your meta info has been updated

upload

If you're not logged in for this bit then it will prompt you to do so.

λ local:~/projects/perl6-slang-sql-master$ fez upload
>>= Slang::SQL:ver<0.1.2>:auth<zef:tony-o> looks OK
>>= Hey! You did it! Your dist will be indexed shortly.

or, if there are errors:

λ local:~/Downloads/perl6-slang-sql-master$ fez upload
=<< "tonyo" does not match the username you last logged in with (tony-o),
=<< you will need to login before uploading your dist

reset password

If you've forgotten your password, use this little guy.

λ local:~$ fez reset-password
>>= Username: tony-o
>>= A reset key was successfully requested, please check your email
>>= New Password:
>>= What is the key in your email? abcdef...
>>= password reset successful, you now have a new key and can upload dists

checkbuild

This is the check fez runs when you run fez upload

$ fez checkbuild
>>= Inspecting ./META6.json
>>= meta<provides> looks OK
>>= meta<resources> looks OK
>>= fez:ver<11>:auth<zef:tony-o> looks OK

-or if you have errors-

$ fez checkbuild
>>= Inspecting ./META6.json
>>= meta<provides> looks OK
=<< File "resources/config.json" in dir not found in meta<resources>
>>= fez:ver<11>:auth<zef:tony-o> could use some sprucing up

If you're rolling your own tarballs then you can specify the file to checkout with --file=, please keep in mind that checkbuild requires access to a tar that can work with compression for some of these checks.

module management

listing your modules

fez list <filter?>

$ fez list csv
>>= CSV::Parser:ver<0.1.2>:auth<zef:tony-o>
>>= Text::CSV::LibCSV:ver<0.0.1>:auth<zef:tony-o>
$ fez list
>>= Bench:ver<0.2.0>:auth<zef:tony-o>
>>= Bench:ver<0.2.1>:auth<zef:tony-o>
>>= CSV::Parser:ver<0.1.2>:auth<zef:tony-o>
>>= Data::Dump:ver<0.0.12>:auth<zef:tony-o>
...etc

removing a module

This is highly unrecommended but a feature nonetheless. This requires you use the full dist name as shown in list and is only available within 24 hours of upload. If an error occurs while removing the dist, you'll receive an email.

$ fez remove 'Data::Dump:ver<0.0.12>:auth<zef:tony-o>'
>>= Request received

plugins

plugin

fez plugin lists the current plugins in your config file(s).

fez plugin <key> 'remove'|'append'|'prepend' <value> does the requested action to in your user config.

extensions

fez can now load extensions to MAIN. this happens as a catchall at the bottom of fez and uses the first available extensions that it can and exits afterwards. eg if two extensions provide a command fez test then the first one that successfully completes (doesn't die or exit) will be run and then fez will exit.

faq

do i need to remove modules from cpan?

No. If you want your fez modules to be prioritized then simply bump the version. Note that you can upload older versions of your modules using a tar.gz and specifing fez upload --file <path to tar.gz>.

which version will zef choose if my module is also on cpan?

zef will prioritize whichever gives the highest version and then the rest depends on which ecosystem is checked first which can vary system to system.

what's this sdist directory?

when fez bundles your source it outputs to sdist/<name>.tar.gz and then uploads that package to the ecosystem. there are two ways that fez might try to bundle your package. as of fez:ver<26+> fez will attempt to remove the sdist/ directory if no --file is manually specified

using git archive

fez will attempt to run git archive which will obey your .gitignore files. it is a good idea to put sdist/ in your root gitignore to prevent previously uploaded modules.

using tar

if there is a tar in path then fez will try to bundle everything not in hidden directories/files (anything starting with a .) and ignore the sdist/ directory.

articles about fez

if you'd like to see your article featured here, please send a pr.

license

License: Artistic-2.0

authors

@tony-o

@patrickbr

@JJ

@melezhik

raku-fez's People

Contributors

tony-o avatar patrickbkr avatar jj avatar patzim avatar melezhik avatar japhb avatar jjatria avatar martimm avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.