@tingyun-common-web/upload-message-webpack-plugin

2.0.3 • Public • Published

说明

webpac插件,保存项目包一些相关信息。【该版本兼容低版本项目】

使用

1.安装插件 @tingyun-common-web/upload-message-webpack-plugin

npm install @tingyun-common-web/upload-message-webpack-plugin --save-dev

2.安装 @angular-builders/custom-webpack (根据当前angular项目确定使用版本)

npm install @angular-builders/custom-webpack@x.x.x --save-dev

3.修改angular.json

"projects": {
  ...
  // [project]是实际项目名
  "[project]": {
    ...
    "architect": {
      ...
      "build": {
        // 修改默认builder
        // "builder": "@angular-devkit/build-angular:browser",
        "builder": "@angular-builders/custom-webpack:browser",
        "options": {
            // 增加自定义webpack文件配置
            "customWebpackConfig": {
                // webpack配置文件名称, 名称自定义
                "path": "./custom-webpack.config.js",
                "replaceDuplicatePlugins": true
            },
            ...
        }
      ...

4.配置package.json

{
    "name": "[project]",
    // 实时修改版本
    "version": "",
    // 新增项目git地址
    "url": "http://git.tingyun.com/app3/rum-app-web.git",
    // 新增group 例:com.tingyun.web.app
    "group": "com.tingyun.web.x",
    // 新增product 例:app
    "product": "x",
    // 新增项目成员(记录该发版版本的参与人员,研发+测试,每次发版实时修改)
    "contributors": [
      // 开发
      {
        "name": "zhangjiaqi",
        "email": "",
        "roles": [
          "dev"
        ]
      },
      // 测试
      {
        "name": "",
        "email": "",
        "roles": [
          "test"
        ]
      }
    ],
    ...
    "dependencies": {
        ...
    },
    "devDependencies": {
        ...
    }
}

5.修改/创建webpack配置文件 此处配置文件的生成位置取决于angular.json中配置的路径

const UploadMessageWebpackPlugin = require('@tingyun-common-web/upload-message-webpack-plugin');
const PackageJson = require('./package.json');
module.exports = (config) => {
  if (config.mode === "production") {
    if (!config.plugins) {
      config.plugins = [];
    }
    config.plugins.push(
      new UploadMessageWebpackPlugin({
        'group': PackageJson.group,
        'artifact': PackageJson.name,
        'version': PackageJson.version,
        'product': PackageJson.product,
        'scm': {
          'url': PackageJson.url
        },
        'contributors': PackageJson.contributors,
        // 低版本项目加该参数
        // 'lowVersion': true
      })
    )
  }
  return config;
}

插件执行测试结果:

  • 本地:
    • ng build --prod 不执行
    • npm run build 不执行
    • Dupload_package_metadata=true ng build --prod 执行
    • Dupload_package_metadata=true npm run build 执行
  • releasego环境:
    • 默认不加Dupload_package_metadata=true 不执行
    • 加入Dupload_package_metadata=true 执行
  • 在releasego Jenkins中配置添加(例):

Readme

Keywords

none

Package Sidebar

Install

npm i @tingyun-common-web/upload-message-webpack-plugin

Weekly Downloads

2

Version

2.0.3

License

MIT

Unpacked Size

287 kB

Total Files

5

Last publish

Collaborators

  • tingyun-common-web