justjavac/dvm

ls-remote feature

kmjayadeep opened this issue · 12 comments

I'm willing to work on ls-remote feature which was there in TODO.

How about using github api to fetch list of releases?
https://api.github.com/repos/denoland/deno/releases

Not sure what to do about the other registry though.

good

小伙,好慢

, I think the way that use https://api.github.com/repos/denoland/deno/tags better

json

{
    "name": "v0.1.11",
    "zipball_url": "https://api.github.com/repos/denoland/deno/zipball/v0.1.11",
    "tarball_url": "https://api.github.com/repos/denoland/deno/tarball/v0.1.11",
    "commit": {
      "sha": "e1d5f82d36f08b9c7a7c6233b7ce354a5cf82836",
      "url": "https://api.github.com/repos/denoland/deno/commits/e1d5f82d36f08b9c7a7c6233b7ce354a5cf82836"
    },
    "node_id": "MDM6UmVmMTMzNDQyMzg0OnYwLjEuMTE="
  },
  {
    "name": "v0.1.10",
    "zipball_url": "https://api.github.com/repos/denoland/deno/zipball/v0.1.10",
    "tarball_url": "https://api.github.com/repos/denoland/deno/tarball/v0.1.10",
    "commit": {
      "sha": "da959e8c878382ce3417ab61db8ccf1ae9a660fa",
      "url": "https://api.github.com/repos/denoland/deno/commits/da959e8c878382ce3417ab61db8ccf1ae9a660fa"
    },
    "node_id": "MDM6UmVmMTMzNDQyMzg0OnYwLjEuMTA="
  },
// ...

step

  • 1., get all names
  • 2., match the tag with version

may be ^v , or use semver valid

@chinanf-boy 我正在学 rust,以后这个项目将使用 rust 重写。然后以二进制形式发布

@justjavac 确实是个很好的rust的小项目
算然,我rust也水水的,确实看不习惯
再算然,rust的快惊若天人,
所以,准备,啥时候重写呀,你

学会了就重写,边学边写

所以这个PR到现在还没有提么...

@justjavac
denocn(http://cdn.devtips.cn/deno/releases) 版本不全?没有做定期同步么...
所以 github api 拉到了 tag,denocn 还是 404

what's going on here? I don't understand chinese :(

@smackgg

可以关注下这个,另一个版本管理器, 基本上都实现了 https://github.com/axetroy/dvm

Hello,

If you like, we can unify the conversation with English so that we can all participate.

I agree that the ls-remote functionality is very useful and I would like it to exist, I also agree on the use of tags to identify downloads. I agree with the request.

I think that what @axetroy points out is that he himself is the author of another repository with the same name "dvm (deno version manager) that already has that functionality implemented.

From what I've seen it doesn't seem to be a fork of this one. Perhaps it would be reasonable to unify efforts in a single manager and propose it to be part of the deno.land organization. I hope to contribute with my humble suggestions.

Greetings and thanks for sharing the code to both authors of version managing tools

axetroy has done a great job. His dvm was developed using golang, and mine was js, but rewritten by rust not long ago. In addition, there are dvm developed using bash, bat, cmd, etc. The official installation document also mentions asdf and scoop (the version management software I have been using is asdf).

PS: For some political reasons, deno_install and deno upgarde cannot be used in some areas of China.

@justjavac I would suggest that dvm ls-remote should show meta data like the date when the deno version was released.

Also: the typescript and v8 version.

Use case: When want to run third-party deno code that you do not know what deno version it was targeting, but you know the last time the code was modified.

Let me know if I can help with something.

Thank you for great work.

ls-remote feature is done