@fz-firefly/unplugin 0.0.0-stage → 0.2.1
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.
- package/README.md +199 -2
- package/dist/index.cjs +6 -0
- package/dist/index.d.cts +4 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +3 -0
- package/dist/options-Dn99v-iv.d.cts +100 -0
- package/dist/options-Dn99v-iv.d.ts +100 -0
- package/dist/run-Bp9vcqXk.cjs +577 -0
- package/dist/run-C7OeN-YM.js +537 -0
- package/dist/vite.cjs +73 -0
- package/dist/vite.d.cts +12 -0
- package/dist/vite.d.ts +12 -0
- package/dist/vite.js +68 -0
- package/dist/webpack.cjs +170 -0
- package/dist/webpack.d.cts +91 -0
- package/dist/webpack.d.ts +91 -0
- package/dist/webpack.js +164 -0
- package/package.json +56 -3
package/README.md
CHANGED
|
@@ -1,3 +1,200 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @fz-firefly/unplugin
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
萤火虫 SDK 的构建插件。支持 **webpack 4 / webpack 5 / Vite**,负责:
|
|
4
|
+
|
|
5
|
+
- 可选地开启构建工具的 source map 生成
|
|
6
|
+
- 构建结束后扫描 `.js.map`
|
|
7
|
+
- 把 `.map` 路径换算成 JS 路径
|
|
8
|
+
- 用项目令牌上传到 Firefly
|
|
9
|
+
- 分批、重试、失败降级和可选删除本地 map
|
|
10
|
+
|
|
11
|
+
运行时 SDK(`@fz-firefly/web` / `@fz-firefly/uniapp`)不负责上传 source map。
|
|
12
|
+
|
|
13
|
+
## 安装
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
pnpm add -D @fz-firefly/unplugin
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## webpack 4 / 5
|
|
20
|
+
|
|
21
|
+
```js
|
|
22
|
+
// webpack.config.js
|
|
23
|
+
const { fireflyWebpack } = require('@fz-firefly/unplugin/webpack')
|
|
24
|
+
|
|
25
|
+
module.exports = {
|
|
26
|
+
mode: 'production',
|
|
27
|
+
devtool: 'source-map',
|
|
28
|
+
plugins: [
|
|
29
|
+
fireflyWebpack({
|
|
30
|
+
endpoint: process.env.FIREFLY_ENDPOINT,
|
|
31
|
+
release: process.env.FIREFLY_RELEASE,
|
|
32
|
+
dist: process.env.FIREFLY_DIST,
|
|
33
|
+
sourcemap: {
|
|
34
|
+
// 默认只在 CI 上传;本地想测试时显式设为 true
|
|
35
|
+
enabled: process.env.CI === 'true',
|
|
36
|
+
token: process.env.FIREFLY_TOKEN,
|
|
37
|
+
// 可选:让插件设置 devtool: 'source-map'
|
|
38
|
+
generate: true,
|
|
39
|
+
// 可选:上传成功后删除本地 .map
|
|
40
|
+
deleteAfterUpload: true,
|
|
41
|
+
// 可选:补 sourcesContent,后台能看到源码上下文
|
|
42
|
+
sourcesContent: true,
|
|
43
|
+
},
|
|
44
|
+
}),
|
|
45
|
+
],
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Vite
|
|
50
|
+
|
|
51
|
+
```ts
|
|
52
|
+
// vite.config.ts
|
|
53
|
+
import { defineConfig } from 'vite'
|
|
54
|
+
import { fireflyVite } from '@fz-firefly/unplugin/vite'
|
|
55
|
+
|
|
56
|
+
export default defineConfig({
|
|
57
|
+
plugins: [
|
|
58
|
+
fireflyVite({
|
|
59
|
+
endpoint: process.env.FIREFLY_ENDPOINT,
|
|
60
|
+
release: process.env.FIREFLY_RELEASE,
|
|
61
|
+
dist: process.env.FIREFLY_DIST || 'h5',
|
|
62
|
+
sourcemap: {
|
|
63
|
+
// 默认只在 CI 上传;本地想测试时显式设为 true
|
|
64
|
+
enabled: process.env.CI === 'true',
|
|
65
|
+
token: process.env.FIREFLY_TOKEN,
|
|
66
|
+
// 可选:自动设置 build.sourcemap = true
|
|
67
|
+
generate: true,
|
|
68
|
+
// 可选:上传成功后删除本地 .map
|
|
69
|
+
deleteAfterUpload: true,
|
|
70
|
+
// 可选:补 sourcesContent
|
|
71
|
+
sourcesContent: true,
|
|
72
|
+
},
|
|
73
|
+
}),
|
|
74
|
+
],
|
|
75
|
+
})
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Vite 的 `closeBundle` 在产物写完后执行,插件会自动扫描 `outDir`;uni-app Vite 如果输出到 `.sourcemap/<platform>`,也会自动检测。
|
|
79
|
+
|
|
80
|
+
## 内联 SDK
|
|
81
|
+
|
|
82
|
+
开启 `script` 后,插件会把 `@fz-firefly/web` 的 IIFE 产物直接注入 HTML `<head>` 最前面,不依赖额外的 SDK JS 文件。IIFE 在构建时已经压缩,产物约 38KB,gzip 后约 12KB:
|
|
83
|
+
|
|
84
|
+
```ts
|
|
85
|
+
fireflyVite({
|
|
86
|
+
endpoint: process.env.FIREFLY_ENDPOINT,
|
|
87
|
+
release: process.env.FIREFLY_RELEASE,
|
|
88
|
+
dist: 'h5',
|
|
89
|
+
script: {
|
|
90
|
+
dsn: 'ff_xxx',
|
|
91
|
+
environment: 'production',
|
|
92
|
+
// 严格 CSP 环境需要:
|
|
93
|
+
// nonce: 'nonce-xxx',
|
|
94
|
+
},
|
|
95
|
+
})
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
注入后会生成:
|
|
99
|
+
|
|
100
|
+
```js
|
|
101
|
+
window.__firefly__ = Firefly.initFirefly({ ... })
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
业务入口可以复用 `window.__firefly__`,再挂 Vue / React / uni-app / Taro 的框架 hooks:
|
|
105
|
+
|
|
106
|
+
```ts
|
|
107
|
+
const handle = window.__firefly__ ?? initFirefly({ ... })
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
需要 `@fz-firefly/web` 已安装并构建出 `dist/firefly.iife.js`。也可以通过 `script.code` 直接传入自定义 IIFE 代码,代码必须暴露全局 `Firefly.initFirefly`。
|
|
111
|
+
|
|
112
|
+
## uni-app 2(webpack 4)
|
|
113
|
+
|
|
114
|
+
uni-app 2 是否生成 source map 由 `SOURCEMAP` 环境变量控制,最好在 `vue.config.js` 顶部开启:
|
|
115
|
+
|
|
116
|
+
```js
|
|
117
|
+
process.env.SOURCEMAP = 'true'
|
|
118
|
+
|
|
119
|
+
const { fireflyWebpack } = require('@fz-firefly/unplugin/webpack')
|
|
120
|
+
|
|
121
|
+
module.exports = {
|
|
122
|
+
configureWebpack: {
|
|
123
|
+
plugins: [
|
|
124
|
+
fireflyWebpack({
|
|
125
|
+
endpoint: process.env.FIREFLY_ENDPOINT,
|
|
126
|
+
release: process.env.FIREFLY_RELEASE,
|
|
127
|
+
dist: process.env.FIREFLY_DIST || process.env.UNI_PLATFORM,
|
|
128
|
+
sourcemap: {
|
|
129
|
+
enabled: process.env.CI === 'true',
|
|
130
|
+
token: process.env.FIREFLY_TOKEN,
|
|
131
|
+
// uni-app 会把 map 输出到 dist/build/.sourcemap/<platform>,
|
|
132
|
+
// 插件会自动检测这个目录。
|
|
133
|
+
},
|
|
134
|
+
}),
|
|
135
|
+
],
|
|
136
|
+
},
|
|
137
|
+
}
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## 配置
|
|
141
|
+
|
|
142
|
+
| 字段 | 说明 |
|
|
143
|
+
| ------------------------------- | --------------------------------------------------------------- |
|
|
144
|
+
| `endpoint` | Firefly 服务端地址,默认 `FIREFLY_ENDPOINT` |
|
|
145
|
+
| `buildId` | 一次构建的标识,默认自动生成;分批上传共享同一个值 |
|
|
146
|
+
| `release` | 版本号,必须和 `initFirefly({ release })` 一致 |
|
|
147
|
+
| `dist` | 分发标识,必须和 `initFirefly({ dist })` 一致 |
|
|
148
|
+
| `sourcemap.enabled` | 是否上传,默认只在 `CI=true/1` 时开启 |
|
|
149
|
+
| `sourcemap.token` | 项目上传令牌,默认 `FIREFLY_TOKEN`,需要 `sourcemap:write` 权限 |
|
|
150
|
+
| `sourcemap.generate` | 是否尝试开启 source map,默认 `false` |
|
|
151
|
+
| `sourcemap.mapDir` | `.map` 目录,默认自动检测 |
|
|
152
|
+
| `sourcemap.outDir` | JS 产物目录,默认 `webpack output.path` |
|
|
153
|
+
| `sourcemap.base` | JS URL 前缀,默认 `output.publicPath` |
|
|
154
|
+
| `sourcemap.include` / `exclude` | 文件过滤,支持 `RegExp` 或字符串数组 |
|
|
155
|
+
| `sourcemap.skipVendorOnly` | 纯 vendor map 是否跳过,默认 `true`;混合包会保留 |
|
|
156
|
+
| `sourcemap.batchBytes` | 单批字节上限,默认 20MB |
|
|
157
|
+
| `sourcemap.maxFiles` | 单批文件数上限,默认 100 |
|
|
158
|
+
| `sourcemap.deleteAfterUpload` | 上传成功后删除 `.map`,默认 `false` |
|
|
159
|
+
| `sourcemap.failOnError` | 上传失败是否让构建失败,默认 `false` |
|
|
160
|
+
| `sourcemap.uploadInDevelopment` | 开发构建是否上传,默认 `false` |
|
|
161
|
+
| `sourcemap.uploadOnWatch` | watch 模式是否上传,默认 `false` |
|
|
162
|
+
| `sourcemap.retries` | 失败重试次数,默认 3 |
|
|
163
|
+
| `sourcemap.sourcesContent` | 是否补源码内容,默认 `false` |
|
|
164
|
+
| `sourcemap.sourceRoot` | 源码根目录,默认 webpack context |
|
|
165
|
+
| `script` | 内联浏览器 SDK;传对象开启,传 `false` 或不传关闭 |
|
|
166
|
+
| `script.dsn` | 项目 DSN,开启内联时必填 |
|
|
167
|
+
| `script.environment` | 运行环境,默认按 `NODE_ENV` 推断 |
|
|
168
|
+
| `script.nonce` | CSP nonce |
|
|
169
|
+
| `script.code` | 自定义 IIFE 代码,需暴露 `Firefly.initFirefly` |
|
|
170
|
+
|
|
171
|
+
## 上传接口
|
|
172
|
+
|
|
173
|
+
```http
|
|
174
|
+
POST {endpoint}/api/ingest/v1/sourcemaps
|
|
175
|
+
Authorization: Bearer <project token>
|
|
176
|
+
Content-Type: application/json
|
|
177
|
+
|
|
178
|
+
{
|
|
179
|
+
"version": "cloud-front-wechat@1.0.7+3f2a1c9",
|
|
180
|
+
"dist": "mp-weixin-MALL",
|
|
181
|
+
"buildId": "9f0c2e6a-7b1d-4c3e-8a5f-2d6b7c8e9f01",
|
|
182
|
+
"files": [
|
|
183
|
+
{
|
|
184
|
+
"filePath": "/common/main.js",
|
|
185
|
+
"content": "..."
|
|
186
|
+
}
|
|
187
|
+
]
|
|
188
|
+
}
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
`version` 对应运行时 `release`,`dist` 对应运行时 `dist`,两者必须完全一致。
|
|
192
|
+
|
|
193
|
+
## 注意
|
|
194
|
+
|
|
195
|
+
- 默认只在 CI 上传;本地生产构建想验证时设置 `sourcemap.enabled: true`。
|
|
196
|
+
- 上传成功后按文件打印 `[firefly] sourcemap uploaded: <filePath>`。
|
|
197
|
+
- Taro 环境通过 `TARO_ENV` 识别;Taro H5 把上传放到 `compiler.shutdown`,同一个 `buildId` 只上传一次。
|
|
198
|
+
- `sourcemap.generate` 对标准 webpack 4/5 有效;uni-app 2 建议显式设置 `process.env.SOURCEMAP = 'true'`。
|
|
199
|
+
- 小程序真机堆栈可能经过微信二次编译,uni-app 的 map 不一定能完整还原;先用真实设备验证。
|
|
200
|
+
- source map 可能包含源码,`sourcesContent` 和上传令牌都要注意权限。
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_webpack = require("./webpack.cjs");
|
|
3
|
+
const require_vite = require("./vite.cjs");
|
|
4
|
+
exports.FireflyWebpackPlugin = require_webpack.FireflyWebpackPlugin;
|
|
5
|
+
exports.fireflyVite = require_vite.default;
|
|
6
|
+
exports.fireflyWebpack = require_webpack.default;
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { a as FireflyWebpackOptions, i as FireflyViteOptions, n as FireflySourcemapOptions, o as SourcemapFilter, r as FireflyUnpluginOptions, t as FireflyScriptOptions } from "./options-Dn99v-iv.cjs";
|
|
2
|
+
import fireflyWebpack, { FireflyWebpackPlugin } from "./webpack.cjs";
|
|
3
|
+
import fireflyVite from "./vite.cjs";
|
|
4
|
+
export { type FireflyScriptOptions, type FireflySourcemapOptions, type FireflyUnpluginOptions, type FireflyViteOptions, type FireflyWebpackOptions, FireflyWebpackPlugin, type SourcemapFilter, fireflyVite, fireflyWebpack };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { a as FireflyWebpackOptions, i as FireflyViteOptions, n as FireflySourcemapOptions, o as SourcemapFilter, r as FireflyUnpluginOptions, t as FireflyScriptOptions } from "./options-Dn99v-iv.js";
|
|
2
|
+
import fireflyWebpack, { FireflyWebpackPlugin } from "./webpack.js";
|
|
3
|
+
import fireflyVite from "./vite.js";
|
|
4
|
+
export { type FireflyScriptOptions, type FireflySourcemapOptions, type FireflyUnpluginOptions, type FireflyViteOptions, type FireflyWebpackOptions, FireflyWebpackPlugin, type SourcemapFilter, fireflyVite, fireflyWebpack };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/** source map 文件过滤条件。 */
|
|
2
|
+
type SourcemapFilter = RegExp | string[];
|
|
3
|
+
/** source map 上传配置。 */
|
|
4
|
+
interface FireflySourcemapOptions {
|
|
5
|
+
/**
|
|
6
|
+
* 是否上传。默认只在 CI 中开启:
|
|
7
|
+
* `process.env.CI === 'true' || process.env.CI === '1'`。
|
|
8
|
+
*/
|
|
9
|
+
enabled?: boolean;
|
|
10
|
+
/** 项目上传令牌,默认读取 FIREFLY_TOKEN。 */
|
|
11
|
+
token?: string;
|
|
12
|
+
/**
|
|
13
|
+
* 是否让插件尝试开启 source map 生成。默认 false。
|
|
14
|
+
*
|
|
15
|
+
* 标准 webpack 4/5 会设置 devtool;uni-app 2 仍建议在
|
|
16
|
+
* vue.config.js 顶部设置 process.env.SOURCEMAP = 'true'。
|
|
17
|
+
*/
|
|
18
|
+
generate?: boolean;
|
|
19
|
+
/** .map 所在目录,默认自动检测 outDir 或 uni-app 的 .sourcemap/<platform>。 */
|
|
20
|
+
mapDir?: string;
|
|
21
|
+
/** JS 产物目录,默认 webpack output.path。 */
|
|
22
|
+
outDir?: string;
|
|
23
|
+
/** JS URL 前缀,默认 webpack output.publicPath。 */
|
|
24
|
+
base?: string;
|
|
25
|
+
/** 只上传匹配的 map 相对路径。 */
|
|
26
|
+
include?: SourcemapFilter;
|
|
27
|
+
/** 排除匹配的 map 相对路径。 */
|
|
28
|
+
exclude?: SourcemapFilter;
|
|
29
|
+
/**
|
|
30
|
+
* 是否跳过纯 vendor map,默认 true。
|
|
31
|
+
*
|
|
32
|
+
* 判断依据是 map 的 sources:全部来自 node_modules / 框架运行时才跳过;
|
|
33
|
+
* 只要包含任意业务源码就保留,避免误删混合包。
|
|
34
|
+
*/
|
|
35
|
+
skipVendorOnly?: boolean;
|
|
36
|
+
/** 单批最大字节数,默认 20MB。 */
|
|
37
|
+
batchBytes?: number;
|
|
38
|
+
/** 单批最大文件数,默认 100。 */
|
|
39
|
+
maxFiles?: number;
|
|
40
|
+
/** 上传成功后删除本地 .map,默认 false。 */
|
|
41
|
+
deleteAfterUpload?: boolean;
|
|
42
|
+
/** 上传失败是否让构建失败,默认 false。 */
|
|
43
|
+
failOnError?: boolean;
|
|
44
|
+
/** 开发构建是否也上传,默认 false。 */
|
|
45
|
+
uploadInDevelopment?: boolean;
|
|
46
|
+
/** watch 模式是否上传,默认 false。 */
|
|
47
|
+
uploadOnWatch?: boolean;
|
|
48
|
+
/** 失败重试次数,默认 3。 */
|
|
49
|
+
retries?: number;
|
|
50
|
+
/** 单次请求超时时间,默认 60s。 */
|
|
51
|
+
timeoutMs?: number;
|
|
52
|
+
/** 是否打印日志,默认 true。 */
|
|
53
|
+
log?: boolean;
|
|
54
|
+
/** 平台标识,默认读取 UNI_PLATFORM,例如 h5 / mp-weixin。 */
|
|
55
|
+
platform?: string;
|
|
56
|
+
/** 是否补全 sourcesContent,默认 false。会增加 map 体积。 */
|
|
57
|
+
sourcesContent?: boolean;
|
|
58
|
+
/** 源码根目录,默认 webpack context。 */
|
|
59
|
+
sourceRoot?: string;
|
|
60
|
+
}
|
|
61
|
+
/** 内联 SDK 初始化配置。 */
|
|
62
|
+
interface FireflyScriptOptions {
|
|
63
|
+
/** 项目公开写入凭证;从后台项目设置获取。 */
|
|
64
|
+
dsn: string;
|
|
65
|
+
/** 运行环境;默认按 NODE_ENV 推断为 production / development。 */
|
|
66
|
+
environment?: 'production' | 'staging' | 'development';
|
|
67
|
+
/** CSP nonce;严格 CSP 环境下必须传入。 */
|
|
68
|
+
nonce?: string;
|
|
69
|
+
/**
|
|
70
|
+
* 自定义 IIFE 代码,必须暴露全局 `Firefly.initFirefly`。
|
|
71
|
+
* 不传时自动读取 `@fz-firefly/web` 的 `dist/firefly.iife.js`。
|
|
72
|
+
*/
|
|
73
|
+
code?: string;
|
|
74
|
+
}
|
|
75
|
+
/** 构建插件通用配置。 */
|
|
76
|
+
interface FireflyUnpluginOptions {
|
|
77
|
+
/** Firefly 服务端地址,默认读取 FIREFLY_ENDPOINT。 */
|
|
78
|
+
endpoint?: string;
|
|
79
|
+
/** 一次构建的标识;不传时由插件自动生成。 */
|
|
80
|
+
buildId?: string;
|
|
81
|
+
/** 发布版本,必须与运行时 initFirefly 的 release 一致。 */
|
|
82
|
+
release?: string;
|
|
83
|
+
/** 分发标识,必须与运行时 initFirefly 的 dist 一致。 */
|
|
84
|
+
dist?: string;
|
|
85
|
+
/** source map 上传配置;传 false 可完全关闭。 */
|
|
86
|
+
sourcemap?: false | FireflySourcemapOptions;
|
|
87
|
+
/**
|
|
88
|
+
* 把浏览器 SDK 以 IIFE 内联到 HTML `<head>` 最前面。
|
|
89
|
+
*
|
|
90
|
+
* 开启后即使业务主 JS 404,内联 SDK 也已经安装并能上报早期错误。
|
|
91
|
+
* 传 false 或不传表示关闭。框架专项 hooks 仍需在业务入口加载后挂载。
|
|
92
|
+
*/
|
|
93
|
+
script?: false | FireflyScriptOptions;
|
|
94
|
+
}
|
|
95
|
+
/** webpack 插件配置。 */
|
|
96
|
+
type FireflyWebpackOptions = FireflyUnpluginOptions;
|
|
97
|
+
/** Vite 插件配置。 */
|
|
98
|
+
type FireflyViteOptions = FireflyUnpluginOptions;
|
|
99
|
+
export { FireflyWebpackOptions as a, FireflyViteOptions as i, FireflySourcemapOptions as n, SourcemapFilter as o, FireflyUnpluginOptions as r, FireflyScriptOptions as t };
|
|
100
|
+
//# sourceMappingURL=options-Dn99v-iv.d.cts.map
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/** source map 文件过滤条件。 */
|
|
2
|
+
type SourcemapFilter = RegExp | string[];
|
|
3
|
+
/** source map 上传配置。 */
|
|
4
|
+
interface FireflySourcemapOptions {
|
|
5
|
+
/**
|
|
6
|
+
* 是否上传。默认只在 CI 中开启:
|
|
7
|
+
* `process.env.CI === 'true' || process.env.CI === '1'`。
|
|
8
|
+
*/
|
|
9
|
+
enabled?: boolean;
|
|
10
|
+
/** 项目上传令牌,默认读取 FIREFLY_TOKEN。 */
|
|
11
|
+
token?: string;
|
|
12
|
+
/**
|
|
13
|
+
* 是否让插件尝试开启 source map 生成。默认 false。
|
|
14
|
+
*
|
|
15
|
+
* 标准 webpack 4/5 会设置 devtool;uni-app 2 仍建议在
|
|
16
|
+
* vue.config.js 顶部设置 process.env.SOURCEMAP = 'true'。
|
|
17
|
+
*/
|
|
18
|
+
generate?: boolean;
|
|
19
|
+
/** .map 所在目录,默认自动检测 outDir 或 uni-app 的 .sourcemap/<platform>。 */
|
|
20
|
+
mapDir?: string;
|
|
21
|
+
/** JS 产物目录,默认 webpack output.path。 */
|
|
22
|
+
outDir?: string;
|
|
23
|
+
/** JS URL 前缀,默认 webpack output.publicPath。 */
|
|
24
|
+
base?: string;
|
|
25
|
+
/** 只上传匹配的 map 相对路径。 */
|
|
26
|
+
include?: SourcemapFilter;
|
|
27
|
+
/** 排除匹配的 map 相对路径。 */
|
|
28
|
+
exclude?: SourcemapFilter;
|
|
29
|
+
/**
|
|
30
|
+
* 是否跳过纯 vendor map,默认 true。
|
|
31
|
+
*
|
|
32
|
+
* 判断依据是 map 的 sources:全部来自 node_modules / 框架运行时才跳过;
|
|
33
|
+
* 只要包含任意业务源码就保留,避免误删混合包。
|
|
34
|
+
*/
|
|
35
|
+
skipVendorOnly?: boolean;
|
|
36
|
+
/** 单批最大字节数,默认 20MB。 */
|
|
37
|
+
batchBytes?: number;
|
|
38
|
+
/** 单批最大文件数,默认 100。 */
|
|
39
|
+
maxFiles?: number;
|
|
40
|
+
/** 上传成功后删除本地 .map,默认 false。 */
|
|
41
|
+
deleteAfterUpload?: boolean;
|
|
42
|
+
/** 上传失败是否让构建失败,默认 false。 */
|
|
43
|
+
failOnError?: boolean;
|
|
44
|
+
/** 开发构建是否也上传,默认 false。 */
|
|
45
|
+
uploadInDevelopment?: boolean;
|
|
46
|
+
/** watch 模式是否上传,默认 false。 */
|
|
47
|
+
uploadOnWatch?: boolean;
|
|
48
|
+
/** 失败重试次数,默认 3。 */
|
|
49
|
+
retries?: number;
|
|
50
|
+
/** 单次请求超时时间,默认 60s。 */
|
|
51
|
+
timeoutMs?: number;
|
|
52
|
+
/** 是否打印日志,默认 true。 */
|
|
53
|
+
log?: boolean;
|
|
54
|
+
/** 平台标识,默认读取 UNI_PLATFORM,例如 h5 / mp-weixin。 */
|
|
55
|
+
platform?: string;
|
|
56
|
+
/** 是否补全 sourcesContent,默认 false。会增加 map 体积。 */
|
|
57
|
+
sourcesContent?: boolean;
|
|
58
|
+
/** 源码根目录,默认 webpack context。 */
|
|
59
|
+
sourceRoot?: string;
|
|
60
|
+
}
|
|
61
|
+
/** 内联 SDK 初始化配置。 */
|
|
62
|
+
interface FireflyScriptOptions {
|
|
63
|
+
/** 项目公开写入凭证;从后台项目设置获取。 */
|
|
64
|
+
dsn: string;
|
|
65
|
+
/** 运行环境;默认按 NODE_ENV 推断为 production / development。 */
|
|
66
|
+
environment?: 'production' | 'staging' | 'development';
|
|
67
|
+
/** CSP nonce;严格 CSP 环境下必须传入。 */
|
|
68
|
+
nonce?: string;
|
|
69
|
+
/**
|
|
70
|
+
* 自定义 IIFE 代码,必须暴露全局 `Firefly.initFirefly`。
|
|
71
|
+
* 不传时自动读取 `@fz-firefly/web` 的 `dist/firefly.iife.js`。
|
|
72
|
+
*/
|
|
73
|
+
code?: string;
|
|
74
|
+
}
|
|
75
|
+
/** 构建插件通用配置。 */
|
|
76
|
+
interface FireflyUnpluginOptions {
|
|
77
|
+
/** Firefly 服务端地址,默认读取 FIREFLY_ENDPOINT。 */
|
|
78
|
+
endpoint?: string;
|
|
79
|
+
/** 一次构建的标识;不传时由插件自动生成。 */
|
|
80
|
+
buildId?: string;
|
|
81
|
+
/** 发布版本,必须与运行时 initFirefly 的 release 一致。 */
|
|
82
|
+
release?: string;
|
|
83
|
+
/** 分发标识,必须与运行时 initFirefly 的 dist 一致。 */
|
|
84
|
+
dist?: string;
|
|
85
|
+
/** source map 上传配置;传 false 可完全关闭。 */
|
|
86
|
+
sourcemap?: false | FireflySourcemapOptions;
|
|
87
|
+
/**
|
|
88
|
+
* 把浏览器 SDK 以 IIFE 内联到 HTML `<head>` 最前面。
|
|
89
|
+
*
|
|
90
|
+
* 开启后即使业务主 JS 404,内联 SDK 也已经安装并能上报早期错误。
|
|
91
|
+
* 传 false 或不传表示关闭。框架专项 hooks 仍需在业务入口加载后挂载。
|
|
92
|
+
*/
|
|
93
|
+
script?: false | FireflyScriptOptions;
|
|
94
|
+
}
|
|
95
|
+
/** webpack 插件配置。 */
|
|
96
|
+
type FireflyWebpackOptions = FireflyUnpluginOptions;
|
|
97
|
+
/** Vite 插件配置。 */
|
|
98
|
+
type FireflyViteOptions = FireflyUnpluginOptions;
|
|
99
|
+
export { FireflyWebpackOptions as a, FireflyViteOptions as i, FireflySourcemapOptions as n, SourcemapFilter as o, FireflyUnpluginOptions as r, FireflyScriptOptions as t };
|
|
100
|
+
//# sourceMappingURL=options-Dn99v-iv.d.ts.map
|