美文网首页
公共npm包的自动检测更新

公共npm包的自动检测更新

作者: cd2001cjm | 来源:发表于2021-03-31 10:28 被阅读0次

当前我们有个问题,npm包更新后,可能业务部门感知不到,升级有延迟。
为了解决该问题,可参考如下步骤:

  1. npm install npm-check-updates
  2. 在pacage.json中,做如下变更:覆盖即可
    "scripts": {
    "checkv": "node .\checkUpdate.js",
    "dev": "set NODE_ENV=development && npm run checkv && YYYY",
    },

xxxx是用正则匹配出想检测更新的业务npm名称规则
YYYY是其他命令

脚本如下:

const ncu = require('npm-check-updates');
const chalk = require('chalk');
const execa = require('execa');
const ora = require('ora');

function install(packages) {

    const installer = 'npm' 
    const color = chalk.supportsColor ? '--color=always' : null;

    const npmArgs = ['install']

        .concat(packages)
        .concat(color)
        .filter(Boolean);

    console.log('');
    console.log(`$ ${chalk.green(installer)} ${chalk.green(npmArgs.join(' '))}`);
    const spinner = ora(`Installing using ${chalk.green(installer)}...`);
    spinner.enabled = true
    spinner.start();

    return execa(installer, npmArgs, {}).then(output => {
        spinner.stop();
        console.log(output.stdout);
        console.log(output.stderr);

       // return currentState;
    }).catch(err => {
        spinner.stop();
        throw err;
    });
}

ncu.run({
  upgrade:true,
  filter:"/^@teld/.*$/"
}).then(function(upgraded){
    let udpateList =[]
    for(var npmName in upgraded){
      var npmVersion = upgraded[npmName].substring(1)
      var installAgrs = npmName+'@'+npmVersion
      udpateList.push(installAgrs)
      
    }
    if(udpateList.length > 0)install(udpateList)     
})

相关文章

  • 公共npm包的自动检测更新

    当前我们有个问题,npm包更新后,可能业务部门感知不到,升级有延迟。为了解决该问题,可参考如下步骤: npm in...

  • npm 全局安装包

    npm查看全局安装过的包 npm更新单个全局安装包 npm查看可以更新的全局安装包 npm更新所有全局安装包

  • npm相关命令

    npm更新版本 npm update -g-g 全局安装 更新某个包 更新全局包 npm updata xx...

  • 自定义npm包的创建、发布、更新和撤销

    大纲 1、准备2、自定义npm包3、发布自定义npm包4、引用npm包5、更新npm包6、撤销发布的npm包 博客...

  • npm 包更新

    git pull 拉取下最新的代码 修改必要的信息:版本号 "version": "1.0",--》2.0以及升级...

  • npm常用命令

    升级单个包 检查包更新 查看包版本 更新指定版本 卸载包 查看全局安装的 npm 包

  • vue-cli中使用vue-router实例

    一、安装(npm)1、安装相关包 npm install npm //更新npm到最新版 npm in...

  • 如何在npm发布一个包

    发布一个npm包 1 登录 npm 2 更新包版本号 3 发布 设置npm publish 时的发布文件(有时我们...

  • npm常用命令

    npm 全局安装包的位置 采用命令 npm root -g 命令可以查看全局安装的包的位置 更新npm的命令 np...

  • npm更新包

    Error: Cannot find module 'webpack-cli/bin/config-yargs 解...

网友评论

      本文标题:公共npm包的自动检测更新

      本文链接:https://www.haomeiwen.com/subject/ievsrktx.html