0.0.18 • Published 7 months ago
@iicoding/release v0.0.18
npm release util
Setup
Install the dependencies:
pnpm install @iicoding/releaseGet started
release your npm library:
pnpm run icd-release [暂未实现]手动调用方式 1. 根目录下新建 script 文件夹 2. script 文件夹下新建 index.ts
 # 进入到根目录
mkdir script
touch index.ts
# or 手动新建
 ```
3. 从 @iicoding/release 中引入各个任务执行函数[每个函数被称为task]
```typescript
 import {
 eslint,
 gitPush,
 gitTag,
 executeEnd,
 publishAuth,
 publishAfter,
 publishBefore,
 updateVersion,
 publishing,
 getVersion,
 build,
 release,
 } from '@iicoding/release';
 const defaultTaskQueen = [
// 该函数需要在这里执行,传入指定的配置文件。默认为[eslint.config.mjs]
 eslint({ configFile: './eslint.config.mjs' }),
 build,
 getVersion,
 updateVersion,
 publishAuth,
// 发布之前的操作,提供了一个函数,返回 package 的配置项 如果需要求他操作,可以自定义 task
 publishBefore((record) => {
 const omitKeys = ['devDependencies', 'scripts'];
 const newRecord: Record<string, any> = {};
 
     Object.keys(record)
       .filter((key) => {
         return !omitKeys.includes(key);
       })
       .forEach((key) => {
         newRecord[key] = record[key];
       });
 
     return newRecord;
 }),
 publishing,
 publishAfter,
 gitPush,
 gitTag,
 executeEnd,
 ];
 
 const defaultTask = release(defaultTaskQueen);
 
 defaultTask();
 ```
4. 在 package.json 中 script 字段中 添加执行命令
 ```
"release": "ts-node script/index.ts"- 自定义 task
import { NextMethod, NextParams } from "@iicoding/release"; export const customTaskName = ( next: NextMethod, params: NextParams ) => { // doSomething // 期望的执行成功之后, next(params); // 或者执行失败 // 执行失败,如果需要回退版本,则调用下方函数,其他逻辑可自行定制 params.getRegisterProps('rollbackPackage')( `发布失败即将进入回退操作 ${error.message}`, ); }