1.0.51 • Published 1 year ago

wcrane-tool v1.0.51

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

脚手架集合

安装

  1. 全局安装
npm i -g wcrane-tool
  1. 局部安装
npm i -D wcrane-tool

使用

pkg

介绍

该指令用于发布npm包,并同步到git仓库中

特点:

  • 支持自定义配置
  • 支持自定义发布
  • 支持自定义git tag
  • 支持自定义版本号
  • 支持自定义发布前、发布后操作
  • 支持自定义发布目录
  • 支持自定义git仓库根目录
  • 支持自定义git tag格式
  • 支持自定义版本号等级

init

初始化配置,生成配置文件

  • 使用
pkg init

publish

发布到npm & 同步到git

  • 使用:
pkg publish
支持自定义配置

esm配置文件

import { execSync } from 'child_process'
export default{
    // 发布目录
    root: ".",
    // git 仓库根目录, 不填写则跟root一致
    gitRoot: '.',
    // 是否同步git
    syncGit: true,
    // 是否同步git tag
    syncGitTag: true,
    // 升级版本号的等级
    versionLevel: 'patch', // major | minor | patch
    // 自定义发布
    customPublish: false,
    
    // 发布前执行
    before() {
        // console.log(config)
    },
    // 发布后执行
    after() {
        // console.log(config)
    },
    // git tag 格式
    gitTagFormat: (version) => {
        return `v${version}`
    },
}

cjs模式的配置文件将导出修改为

module.exports = {
    
}

实践案例

发布 tinypng-lib-wasm wasm 的包 1. 项目发布前 构建wasm包,构建完成之后同步 README.md中的说明到 tinypng-lib-wasm npm包中 2. 构建后修改Cargo.toml中的版本号 3. 发布到npm & 同步到git & 打tag(release/v1.0.0)

const fs = require('fs');
const path = require('path');
const { execSync } = require('child_process');
module.exports = {
    // 发布目录
    root: "./pkg",
    // 是否同步git
    syncGit: true,
    // 是否同步git tag
    syncGitTag: true,
    // 升级版本号的等级
    versionLevel: 'patch', // major | minor | patch
    // 自定义发布
    customPublish: false,
    // git 仓库根目录
    gitRoot: '.',
    // 发布前执行
    before(config) {
        // 构建wasm 
        execSync('npm run build'); // 或者使用 wasm-pack build --target bundler
        // 拷贝当前目录下的 README 到 ./pkg下
        const pkgDir = path.resolve(__dirname, 'pkg');
        const pkgReadmePath = path.resolve(pkgDir, 'README.md');

        if (!fs.existsSync(pkgDir)) {
            fs.mkdirSync(pkgDir);
        }
        fs.copyFileSync(path.resolve(__dirname, 'README.md'), pkgReadmePath);
    },
    // 发布后执行
    after(config) {
        // 修改Cargo.toml 中的版本号
        const pkgDir = path.resolve(__dirname, '.');
        const pkgTomlPath = path.resolve(pkgDir, 'Cargo.toml');
        const pkgToml = fs.readFileSync(pkgTomlPath, 'utf-8');
        const newPkgToml = pkgToml.replace(/version = ".*?"/, `version = "${config.version}"`);
        fs.writeFileSync(pkgTomlPath, newPkgToml, 'utf-8');
    },
    // git tag 格式
    gitTagFormat: (version) => {
        return `release/v${version}`
    },
}
1.0.51

1 year ago

1.0.50

1 year ago

1.0.49

1 year ago

1.0.48

1 year ago

1.0.47

1 year ago

1.0.46

1 year ago

1.0.45

1 year ago

1.0.44

1 year ago

1.0.43

1 year ago

1.0.42

1 year ago

1.0.41

1 year ago

1.0.40

1 year ago

1.0.39

1 year ago

1.0.38

1 year ago

1.0.37

1 year ago

1.0.35

1 year ago

1.0.34

1 year ago

1.0.33

1 year ago

1.0.32

1 year ago

1.0.31

1 year ago

1.0.30

1 year ago

1.0.29

1 year ago

1.0.28

1 year ago

1.0.27

1 year ago

1.0.26

1 year ago

1.0.25

1 year ago

1.0.24

1 year ago

1.0.23

1 year ago

1.0.22

1 year ago

1.0.21

1 year ago

1.0.20

1 year ago

1.0.19

1 year ago

1.0.18

1 year ago

1.0.16

1 year ago

1.0.15

1 year ago

1.0.14

1 year ago

1.0.13

1 year ago

1.0.12

1 year ago

1.0.11

1 year ago

1.0.10

1 year ago

1.0.9

1 year ago

1.0.8

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago