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 🙏

© 2024 – Pkg Stats / Ryan Hefner

@ifanrx/scaffolder

v1.1.1

Published

Scaffolding CLI for generating projects or update project dependencies

Downloads

7

Readme

脚手架 @ifanrx/scaffolder

@ifanrx/scaffolder 脚手架工具有以下核心功能:

  • 快速创建项目(init):轻松创建项目初始结构。
  • 拉取模板代码(pull):无缝迭代到现有项目中。
  • 快速升级依赖(update-package):可一键升级 @ifanrx/* 系列依赖包至指定版本。
Usage: @ifanrx/scaffolder [command] [options]

Scaffolding CLI for generating projects or update project dependencies

Options:
  -v, --version                 查看版本信息
  -h, --help                    查看帮助信息

Commands:
  init [options] [template]     快速创建项目
  pull [options] [template]     拉取模板代码到现有项目中
  update-package [packageName]  一键升级 @ifanrx/* 系列依赖包至指定版本
  help [command]                display help for command

tips: 可通过 [command] -h 查看每个命令的使用方法

快速创建项目

使用 init 命令可快速创建一个新项目,常规操作流程是:先创建代码仓库,拉取代码仓库到本地,然后在项目根目录运行:

pnpm dlx @ifanrx/scaffolder init

根据提示填写项目配置信息,即可基于最新模板快速构建一个全新项目。

Usage: @ifanrx/scaffolder init [options] [template]

快速创建项目

Arguments:
  template                         模板类型 (choices: "app", "miniapp", "dashboard", "faas")

Options:
  --name                           英文项目名称(默认创建在当前目录)
  --description                    中文项目名称
  --appid                          appid
  --clientId, --client_id          知晓云 client id
  --clientSecret, --client_secret  知晓云 client secret
  --envId, --env_id                知晓云 env id
  --qaClientId, --qa_client_id     知晓云 QA client id
  --projectType, --project_type    项目类型 (choices: "yghact", "business")
  --useZAA                         是否接入 0AA
  --initHgFlow                     是否初始化 hg flow
  --autoCommit                     是否自动 commit
  -h, --help                       display help for command

:::tip init 命令有以下几种使用方式:

# 不指定模板类型,会询问模板类型,其中 app 包含所有模板
pnpm dlx @ifanrx/scaffolder init

# 只需要创建某个模板
pnpm dlx @ifanrx/scaffolder init dashboard

# 直接设置参数值
pnpm dlx @ifanrx/scaffolder init --name=test --description=示例项目 ...

:::

拉取模板代码

使用 pull 命令可快速将最新的模板代码迭代更新到现有项目中,方便后续添加统一公用代码。

适用于以下场景:

  • 需要在现有项目中合并最新的公共模板代码
  • 希望利用最新模板提供的新功能或改进
  • 保持项目代码与最新模板保持同步和一致

该命令在活动集等类型项目中尤为实用,因为这些项目的运营后台结构基本一致,后续都将采用这种方式统一管理和迭代升级项目的基础通用代码模块。

常规操作流程是:当模板代码有更新且需要将其合并到现有项目时,只需在项目根目录下运行:

pnpm dlx @ifanrx/scaffolder pull [template] # 目前仅支持 dashboard 模板

执行命令后,如遇到冲突文件,会得到提示,根据情况选择合并策略:

 conflict package.json
? Overwrite package.json? (ynarxdeiH)

合并策略如下:

  • y - 覆盖文件
  • n - 跳过该文件
  • a - 覆盖所有文件
  • d - 查看当前与远端文件的区别(diff)
  • e - 修改文件,这里修改的是远端文件内容,修改后再进行 diff
  • i - 忽略该文件
  • H - 查看帮助

快速升级依赖

使用 update-package 命令可一键将 @ifanrx/* 系列依赖包升级至指定版本。

由于 @ifanrx/* 包内的依赖与项目内依赖存在部分重叠,在依赖版本冲突时,有概率出现灵异现象,如:样式丢失、打包失败等。故在更新 @ifanrx/* 依赖时,需要同步共同依赖版本号。

以下 npm 包更新时需要同步依赖版本号:

  • @ifanrx/uni-mp
  • @ifanrx/dashboard
  • @ifanrx/faas

因此,@ifanrx/* 依赖都必须使用以下命令进行更新:

pnpm dlx @ifanrx/scaffolder update-package # 手动选择依赖以及版本号
pnpm dlx @ifanrx/scaffolder update-package @ifanrx/uni-mp # 指定依赖,手动选择版本号
pnpm dlx @ifanrx/scaffolder update-package @ifanrx/[email protected] # 指定依赖以及版本号
pnpm dlx @ifanrx/scaffolder update-package @ifanrx/uni-mp@latest # 更新至最新版本