npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

oemcli

v1.2.0

Published

ZL UNi-APP OEM 自动化打包工具

Readme

OEM 构建工具

OEM 构建工具,用于快速构建OEM应用;

需求场景

  1. vscode 开发时,可直接通过命令行运行打包;
  2. 打包不同 oem 时需要频繁重复操作及修改配置,如:修改图标、启动图、配置文件等,通过此工具可快速完成打包操作;
  3. 打包时,可自动下载打包后的文件,方便测试及分发;

功能

  1. 环境检查
  2. 资源移动
  3. 生成配置
  4. 版本号确认
  5. 打包执行
  6. 自动下载

环境准备

  • Node.js: 需安装 v14+
  • 如何配置HBuilderX cli:https://hx.dcloud.net.cn/cli/README

安装

npm install -g oemcli

构建打包

流程:1. 环境检查 → 2. 资源移动 → 3. 生成配置 → 4. 版本号确认 → 5. 打包执行 → 6. 自动下载

# 打包对应的OEM 应用
oem build [appname] -p <platform> -e <env>

# 默认值
Options:
  -p, --platform <platform>  指定平台, 默认值android, 可选值ios,android 
  -e, --env <env>            指定环境, 默认值test,可选值test,pro
  -h, --help                 显示命令帮助
# 示例
oem build # 打包银响力应用测试包

初始化配置(初次需配置)

# 用于配置不同环境下,对应的 hbuilder cli 及 oem 资源路径
oem init 
  1. 执行后会在当前目录生成 build.config.json 文件,模板文件需手动配置以下字段:
{	
	// hbuilder cli 环境变量 或 hbuilderX安装所在目录下的hbuilderX cli (ps: 最好使用环境变量)
	"hbuilderCliPath": "cli",
	// OEM打包资源所在的根目录
	"oemSourcePath":"",
	// 打包版本分支(用于打包重命名时使用)
	"branchCode": "20250430",
	// 打包输出目录 
	"outputPath": "./dist"
}
  1. 进行登录设置(init时会自动执行)
# 设置HBuilder登录信息,打包时登录校验
oem login 

[ 已弃用 ] 创建项目中的OEM配置(打包时未找到OEM配置时可以使用)(弃用,待项目迁移,迁移后直接读取项目中配置)

# 创建一个新的oem配置项,如果项目中src/static/others/oem_custom.json 没有该oem 配置项,会帮助创建,有将立即结束
oem create 

# 交互式输入以下信息:
    # 应用名称 (appName)
    # Logo名称 (logo)
    # 登录页Logo名称 (loginLogo)
    # 服务商编号 (oemcode)
    # 支付协议 payAgreement 
    # 升级编码 upgrade

OEM资源配置文件位置

打包配置:<oemSourcePath>/<appname>/config.json

OEM资源配置文件命名规范

  1. Android/iOS 图标
    1024x1024 对应项目OEM配置<appname>.logo 字段
    登录页图标 对应项目OEM配置<appname>.loginLogo 字段

  2. Android启动图片
    480x762 hdpi高分屏启动图:<appname>/a480.9.png
    720x1242 xhdpi 720p高分屏启动图:<appname>/a720.9.png
    1080x1822 xxhdpi 1080p超高分屏启动图:/a1080.9.png

  3. iOS 启动图片
    自定义storyboard启动图:<appname>/ios.zip

  4. iOS 证书 # 固定值test(测试环境)或pro(生产环境)
    certfile文件: <appname>/<env>/<env>_certfile.p12
    profile文件: <appname>/<env>/<env>_profile.mobileprovision

config 配置 [只需要配置需要覆盖的内容]

{
    "appid": "", //  应用ID
    "platform": "android", //  打包平台
    "android": { //  Android配置
        "packagename": "uni.", //  包名
        "androidpacktype": "0", //  安卓包类型
        "certalias": "", //  证书别名
        "certfile": "../.jks", //  证书文件路径
        "certpassword": "", //  证书密码
        "storePassword": "" //  存储密码
    },
    "ios": { //  iOS配置
        "bundle": "com.", //  包名
        "supporteddevice": "iPhone", //  支持的设备
        "profile": "./.mobileprovision", //  配置文件路径
        "certfile": "./.p12", //  证书文件路径
        "test_certpassword": "", //  测试证书密码
        "pro_certpassword": "" //  生产证书密码
    },
    "userAgreement": "", //  用户协议
    "privacyAgreement": "", //  隐私协议
    "android_amap_appkey": "", //  Android高德地图AppKey
    "ios_amap_appkey": "", //  iOS高德地图AppKey
    "阿里云移动推送Android AppKey": "", //  阿里云移动推送Android AppKey
    "阿里云移动推送Android AppSecret": "", //  阿里云移动推送Android AppSecret
    "阿里云移动推送iOS AppKey": "", //  阿里云移动推送iOS AppKey
    "阿里云移动推送iOS AppSecret": "", //  阿里云移动推送iOS AppSecret
    "Netease-QiyuModule_appKey": "" //  网易七鱼模块AppKey
}