Skip to content

onvno/yon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

yon - 内部镜像

概述

yonnpm在公司内部的镜像仓库配套的命令行工具,根据镜像代理,嵌套npm,关于镜像和命令行工具说明如下:

  • 镜像
    • 使用Nexus Repository OSS搭建npm镜像
    • 镜像源使用淘宝cnpm镜像库
    • 镜像无需同步,下载即缓存,实现一次下载,全员共享
  • 命令行
    • 实现自动根据IP选择下载源
      • 内网自动使用公司镜像
      • 外网自动使用淘宝镜像
      • 不对npm的镜像源入侵

总体实现

  • 公司内通过使用yon,实现快速下载包,减少下载等待时间
  • 支持内网发布私有包

安装

npm install yon -g

基本使用

# 安装(install相关命令均支持)
$ yon install xxx --option


# 正常发包
$ yon publish

# 内网发包
$ yon publish inner

# 帮助
$ yon 或 yon -h 或 yon --help

# 版本
$ yon -v 或 yon --version

权限说明

  • 默认用户

    所有下载安装工具的,均可使用yon install功能下载安装包

  • 发包用户

    0.2.0版本起实现内网发包,可支持@group/packageName形式的私有包发送。

    管理员会提供账号,可通过申请获得,简单配置即可实现内部发包。

    • 管理员提供账号密码,形式为user:pass转化为base64后的字符串形式(请以管理员实际给到的密码为准,以下仅为测试):

      b252bm86b252bm9QYXNz
      
    • 用户在shell中,配置一条_auth信息,即可实现内网发包功能:

      $ npm config set _auth=b252bm86b252bm9QYXNz
      
  • 发包说明

    为避免发包用户滥用权限,所有发包用户均需提供私有包的组织(或项目名),即@group.

    如用户账号仅支持发布@yonyou_fed的私有包,发布的包会做以下验证,判断是否可上传:

    @yonyou_fed/tinper  // 可正常内网发布
    @yonyou_fed/comp    // 可正常内网发布 
    @mywork/tinper      // 超出权限,不可发布
    @newgroup/comp      // 超出权限,不可发布
    

Todo

  • 增加自定义镜像选择
  • 增加内部发包功能yon publish
  • 内部发包权限管理✅
  • 实现npm私有镜像镜像@下载 ✅
  • 给出下载进度
  • 去除If happen error, call me, my mobile is 186

About

npm镜像仓库准备

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published