@taro-minify-pack/plugin-bundle-stats 0.1.5 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +17 -14
  2. package/package.json +2 -2
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
  - **打包报告生成**:自动生成 HTML / JSON 格式的 Bundle Stats 报告,可视化展示打包结果
8
8
  - **基线对比**:支持与基线版本对比,直观展示资源、模块、依赖的变化趋势
9
9
  - **主包分析**:自动识别主包资源与模块,按业务模块 / 依赖模块分类展示
10
- - **重点指标关注**:可配置重点关注资源、模块、依赖包,精准追踪关键指标变化
10
+ - **重点指标关注**:类型中提供重点关注配置;当前插件尚未将该配置传入摘要生成函数
11
11
  - **摘要报告**:构建完成后自动生成 Markdown 格式的摘要报告,方便在 CI 或消息通知中使用
12
12
  - **报告上传**:支持自定义上传函数,将报告产物上传至 OSS 等存储服务
13
13
 
@@ -37,8 +37,8 @@ module.exports = {
37
37
  ['@taro-minify-pack/plugin-bundle-stats', {
38
38
  // 报告输出目录(相对于项目根目录),默认为 'bundleStatsReport'
39
39
  reportPath: 'bundleStatsReport',
40
- // 基线文件路径,支持本地路径或远程 URL,默认为 'baseline.json'
41
- baselinePath: 'baseline.json',
40
+ // 首次构建没有基线文件时设为空字符串,跳过基线加载
41
+ baselinePath: '',
42
42
  // 是否生成 HTML 报告,默认为 true
43
43
  html: true,
44
44
  // 是否生成 JSON 报告,默认为 true
@@ -71,7 +71,9 @@ taro build --type weapp
71
71
 
72
72
  ### 基线对比
73
73
 
74
- 首次构建会生成 `baseline.json`,后续构建会自动与基线进行对比,在报告中展示变化量(Delta)和变化比例(Delta Percentage)。
74
+ 首次构建没有基线文件时,请设置 `baselinePath: ''`,避免默认配置尝试复制不存在的 `baseline.json` 而报错。启用 `baseline: true` 后,当前基线输出到 `bundleStatsReport/baseline.json`,后续构建仍可保留空字符串以使用该文件。
75
+
76
+ 如需固定对比基线,请在构建前将生成的文件另存为制品,并将 `baselinePath` 指向该文件或远程 URL。非空本地路径按构建进程的工作目录解析;指向报告目录内同一个基线文件时,应使用绝对路径以跳过复制。
75
77
 
76
78
  如果需要与远程基线对比,可以配置 `baselinePath` 为 HTTP URL:
77
79
 
@@ -85,7 +87,7 @@ plugins: [
85
87
 
86
88
  ### 重点关注指标
87
89
 
88
- 通过 `reportConfig.focusMetricRun` 配置需要重点关注的资源、模块和依赖包:
90
+ `reportConfig` 的类型定义包含以下选项,但当前插件调用 `summarizeReport` 时未传入该配置,因此 `focusMetricRun` 和 `displayLimit` 暂不生效,摘要仍使用默认展示上限 20。以下仅展示配置结构:
89
91
 
90
92
  ```js
91
93
  plugins: [
@@ -95,7 +97,7 @@ plugins: [
95
97
  // 重点关注资源路径
96
98
  assets: ['pages/index/index.js', 'common/vendor.js'],
97
99
  // 重点关注模块名称
98
- modules: 'lodash',
100
+ modules: ['lodash'],
99
101
  // 重点关注依赖包名称
100
102
  packages: ['lodash', 'dayjs'],
101
103
  },
@@ -111,9 +113,9 @@ plugins: [
111
113
  通过 `upload` 配置自定义上传函数,将报告产物上传至 OSS 等存储服务:
112
114
 
113
115
  ```js
114
- const { defineAdapter, uploadAdapterAliOss } = require('@taro-minify-pack/helper')
116
+ const { aliOssUploadAdapter } = require('@taro-minify-pack/helper')
115
117
 
116
- const ossUploader = uploadAdapterAliOss({
118
+ const ossUploader = aliOssUploadAdapter({
117
119
  region: 'oss-cn-hangzhou',
118
120
  accessKeyId: 'your-access-key-id',
119
121
  accessKeySecret: 'your-access-key-secret',
@@ -123,13 +125,14 @@ const ossUploader = uploadAdapterAliOss({
123
125
  module.exports = {
124
126
  plugins: [
125
127
  ['@taro-minify-pack/plugin-bundle-stats', {
128
+ baselinePath: '',
126
129
  upload: ossUploader,
127
130
  }],
128
131
  ],
129
132
  }
130
133
  ```
131
134
 
132
- 配置 `upload` 后,可通过 Taro CLI 执行上传命令:
135
+ 使用该示例前需安装 `@taro-minify-pack/helper`。配置 `upload` 后,可通过 Taro CLI 执行上传命令:
133
136
 
134
137
  ```bash
135
138
  taro upload-bundle-stats-report
@@ -148,7 +151,7 @@ taro upload-bundle-stats-report
148
151
  ## ⚠️ 注意事项
149
152
 
150
153
  1. **仅支持 Webpack 5**:当前插件依赖 `bundle-stats-webpack-plugin`,仅适用于 Webpack 5 编译器
151
- 2. **基线文件**:首次构建没有基线可对比,Delta 列会为空;建议在 CI 环境中将 `baseline.json` 作为制品保存
154
+ 2. **基线文件**:首次构建没有基线时设置 `baselinePath: ''`;建议在 CI 环境中将报告目录中的 `baseline.json` 作为制品保存
152
155
  3. **报告目录**:`reportPath` 目录位于项目根目录下,建议在 `.gitignore` 中忽略该目录
153
156
  4. **远程基线**:`baselinePath` 支持 HTTP/HTTPS URL,插件会在构建前自动下载
154
157
 
@@ -160,11 +163,11 @@ taro upload-bundle-stats-report
160
163
  | `json` | `boolean` | `true` | 是否生成 JSON 报告 |
161
164
  | `compare` | `boolean` | `true` | 是否与基线对比 |
162
165
  | `baseline` | `boolean` | `true` | 是否保存基线文件 |
163
- | `baselinePath` | `string` | `'baseline.json'` | 基线文件路径,支持本地路径或远程 URL |
166
+ | `baselinePath` | `string` | `'baseline.json'` | 基线文件路径,支持本地路径或远程 URL;空字符串跳过加载,非空本地路径必须存在 |
164
167
  | `reportPath` | `string` | `'bundleStatsReport'` | 报告输出目录(相对于项目根目录) |
165
168
  | `upload` | `Uploader` | — | 自定义上传函数,用于上传报告产物 |
166
169
  | `stats` | `Partial<WebpackStatsOptions>` | — | Webpack Stats 输出选项 |
167
- | `reportConfig` | `object` | — | 摘要报告配置 |
170
+ | `reportConfig` | `object` | — | 摘要报告配置,当前尚未传入摘要生成函数 |
168
171
 
169
172
  ### `reportConfig` 配置说明
170
173
 
@@ -172,7 +175,7 @@ taro upload-bundle-stats-report
172
175
  interface ReportConfig {
173
176
  focusMetricRun?: {
174
177
  assets?: string[]
175
- modules?: string
178
+ modules?: string[]
176
179
  packages?: string[]
177
180
  }
178
181
  displayLimit?: number
@@ -180,7 +183,7 @@ interface ReportConfig {
180
183
  ```
181
184
 
182
185
  - `focusMetricRun.assets`:重点关注的资源路径列表,在摘要报告中单独展示
183
- - `focusMetricRun.modules`:重点关注的模块名称,在摘要报告中单独展示
186
+ - `focusMetricRun.modules`:重点关注的模块名称列表,按完整名称匹配
184
187
  - `focusMetricRun.packages`:重点关注的依赖包名称列表,在摘要报告中单独展示
185
188
  - `displayLimit`:摘要报告中业务模块 / 依赖模块的展示数量上限,默认为 20
186
189
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taro-minify-pack/plugin-bundle-stats",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -19,7 +19,7 @@
19
19
  "dayjs": "^1.11.21",
20
20
  "got": "^11.8.6",
21
21
  "handlebars": "^4.7.9",
22
- "@taro-minify-pack/helper": "0.1.5"
22
+ "@taro-minify-pack/helper": "0.1.6"
23
23
  },
24
24
  "devDependencies": {
25
25
  "@tarojs/service": "^4.0.8",