Giter VIP home page Giter VIP logo

morose's People

Contributors

irmana avatar izak88 avatar jkuri avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

morose's Issues

[feat]: npm owner

We need to add support for command npm owner (npm owner ls, npm owner add and npm owner rm).
For that we need to provide the following routes:

  • GET '//-/user/org.couchdb.user:(.*)/'
  • GET '/:package/:version?'
  • PUT '/:package/:_rev/:revision?'

Regarding that issue we also have to support:

  • npm install need to check if a user is logged in and has required permissions.
  • npm publish has to save package owner and package's permissions.

[feat]: Npm dist-tag

We need to add support for command npm dist-tag.
Following commands has to be supported:

  • npm dist-tag add <pkg>@<version> [<tag>]
  • npm dist-tag rm <pkg> <tag>
  • npm dist-tag ls [pkg]

For help, see npm documentation dist-tag.

[test]: Missing tests

There are still a lot of missing tests:

  • Can you publish a package without beeing logged in?
  • Can you install a package without beeing logged in?
  • What happens when you publish a new version of existing package.
  • What happens when you try to install a package for which you don't have read permissions.
  • What happens when you try to publish a package for which you don't have write permissions.

[feat]: Npm access

We need to add support for command npm access.
Following commands has to be supported:

  • npm access public [package]
  • npm access restricted [package]
  • npm access grant <read-only | read-write> <scope:team> [package]
  • npm access revoke <scope:team> [package]
  • npm access ls-packages [user | scope | scope:team]
  • npm access ls-collaborators [package [user]]
  • npm access edit [package]

For help, see npm documentation npm access.

[docs]: documentation

We need to provide solid documentation for usage, maintenance and upgrading morose server.

[feat]: missing routes for `npm` cli

We need to provide following working routes on the server to fully support npm cli.

  • GET /whoami
  • GET /-/whoami
  • GET /:package/-/:filename
  • GET /-/all/:search_keyword
  • PUT /:package/:tag
  • POST /-/package/:package/dist-tags/:tag
  • PUT /-/package/:package/dist-tags/:tag
  • DELETE /-/package/:package/dist-tags/:tag
  • GET /-/package/:package/dist-tags
  • POST /-/package/:package/dist-tags
  • DELETE /-/package/:package/dist-tags
  • DELETE /:package/-rev/*
  • DELETE /:package/-/:filename/-rev/:revision
  • PUT /:package/-/:filename/*
  • PUT /:package/:version/-tag/:tag

[feat]: npm unpublish

We need to add support for command npm unpublish.
Following commands has to be supported:

  • npm unpublish [<@scope>/]<pkg>[@<version>]

For help, see npm documentation npm unpublish.

Hide internet

Hi,
Is is possible to close internet connection in that way that If client of morose will try to get some package and it is not available - it won't be downloaded from npm?

Thanks in advance!
Daniel

[task]: npm whoami

  • url /-/whoami
  • method GET

get JSON request example:

{ 
   auth: { 
     scope: '//registry.npmjs.org/',
     token: 'dc5b1058-aa9e-4953-8193-4558f83f4c3d',
     password: undefined,
     username: undefined,
     email: undefined,
     auth: undefined,
     alwaysAuth: false 
  },
  method: 'GET',
  authed: false 
}

example JSON response:

{ username: 'jkuri' } // if logged in

if you are not logged in npm itself throws an error:

npm ERR! code ENEEDAUTH
npm ERR! need auth this command requires you to be logged in.
npm ERR! need auth You need to authorize this machine using `npm adduser`

...so no request is performed.

  • example log output:
npm verb request uri https://registry.npmjs.org/-/whoami
npm verb request no auth needed
npm info attempt registry request try #1 at 12:54:21 PM
npm verb request using bearer token for auth
npm verb request id 2dc475123102381
npm http request GET https://registry.npmjs.org/-/whoami
npm http 200 https://registry.npmjs.org/-/whoami
{ username: 'jkuri' }
npm verb headers { 'content-type': 'application/json',
npm verb headers   'content-encoding': 'gzip',
npm verb headers   'cache-control': 'max-age=300',
npm verb headers   'transfer-encoding': 'chunked',
npm verb headers   'accept-ranges': 'bytes',
npm verb headers   date: 'Wed, 03 May 2017 10:54:22 GMT',
npm verb headers   via: '1.1 varnish',
npm verb headers   connection: 'keep-alive',
npm verb headers   'x-served-by': 'cache-fra1234-FRA',
npm verb headers   'x-cache': 'MISS',
npm verb headers   'x-cache-hits': '0',
npm verb headers   'x-timer': 'S1493808862.011301,VS0,VE6',
npm verb headers   vary: 'Accept-Encoding' }

ui missing features

  • change password
  • user settings (profile pic, user data)
  • adding users
  • managing organizations and teams
  • package permissions (search for private packages)
  • public user profile
  • public organisation profile
  • admin - list of users, managing users

[feat]: npm star

We need to add support for command npm star.
Following commands has to be supported:

  • npm star [pkg]
  • npm unstar [pkg]

For help, see npm documentation npm star.

[feat]: npm stars

We need to add support for command npm stars.
Following command has to be supported:

  • npm stars [user]

For help, see npm documentation npm stars.

[feat]: npm deprecate

We need to add support for command npm deprecate.
Following command has to be supported:

  • npm deprecate <pkg>@<version> [<tag>]

For help, see npm documentation deprecate.

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.