@arms/rum-browser-nuxt 0.1.0 → 0.1.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/CHANGELOG.md +1 -1
- package/README.md +1 -1
- package/es/domain/error/addNuxtError.d.ts +1 -1
- package/es/domain/router/computeNuxtViewName.d.ts +1 -1
- package/es/domain/state.d.ts +1 -2
- package/es/types/index.d.ts +1 -2
- package/lib/domain/error/addNuxtError.d.ts +1 -1
- package/lib/domain/router/computeNuxtViewName.d.ts +1 -1
- package/lib/domain/state.d.ts +1 -2
- package/lib/types/index.d.ts +1 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
### 视图追踪(文件路由命名)
|
|
8
8
|
|
|
9
9
|
- `initNuxtPlugin(shell, { router, nuxtApp? })`:单入口初始化 API;注册 `nuxt` collector(`ICollector`)并无条件注入 `trackViewsManually`(router 必填)—— view 的创建、命名与计时完全由路由变化驱动(内部调用 `shell.startView`)
|
|
10
|
-
- **Nuxt 文件路由名归一化**(本包核心差异化能力):view.name 按 `to.matched` 尾向头取第一个非空 `path`,再反向归一化为 Nuxt 文件路由风格(`:id()` → `[id]`、`:id?` → `[[id]]`、`:slug(.*)*` → `[...slug]`、转义还原),与 `pages/`
|
|
10
|
+
- **Nuxt 文件路由名归一化**(本包核心差异化能力):view.name 按 `to.matched` 尾向头取第一个非空 `path`,再反向归一化为 Nuxt 文件路由风格(`:id()` → `[id]`、`:id?` → `[[id]]`、`:slug(.*)*` → `[...slug]`、转义还原),与 `pages/` 目录心智一致(14+ 参数化单测覆盖)
|
|
11
11
|
- 初始视图补偿:`router.currentRoute.matched` 非空(插件晚于首个导航接入)时立即补报首屏 view;router 未就绪时由 afterEach 覆盖首个导航
|
|
12
12
|
- 导航语义:query-only 变化不开新视图、hash 变化不开新视图(afterEach 放行但视图名不变,经 `Shell.startView` 同名去重,净效果与 browser-vue 一致)、导航失败(afterEach 第三参 `failure`)不开新视图、同名 view 去重由 `Shell.startView` 内建
|
|
13
13
|
- `loading_type` 语义对齐 browser-vue:ctx 已有 view 时 `route_change`,否则 `initial_load`
|
package/README.md
CHANGED
|
@@ -171,7 +171,7 @@ onErrorCaptured(function (err, instance, info) {
|
|
|
171
171
|
| `vue` | `^3.5.0` | optional peer;本包经 `nuxtApp.vueApp.config.errorHandler` duck typing 访问,不直接依赖 vue 模块 |
|
|
172
172
|
| `vue-router` | `^4.0.0 \|\| ^5.0.0` | optional peer;仅依赖 `afterEach` / `currentRoute` 最小接口 |
|
|
173
173
|
|
|
174
|
-
> **版本口径说明**:peerDependencies 中 `nuxt` 声明为 `3 || 4
|
|
174
|
+
> **版本口径说明**:peerDependencies 中 `nuxt` 声明为 `3 || 4`,实际支持基线为 Nuxt ≥3.7 —— 更早版本的 `defineNuxtPlugin` 对象语法与 `enforce` 不稳定。`vue` peer 为 `^3.5.0`,而 Nuxt 3.7-3.12 生态常配 vue 3.3 / 3.4 —— 三项框架 peer 均 optional(`peerDependenciesMeta` 标记),版本不满足仅产生安装告警、不阻塞安装(插件对框架实例 duck typing,实际兼容宽于声明口径)。
|
|
175
175
|
|
|
176
176
|
### Nuxt 2 用户
|
|
177
177
|
|
|
@@ -34,7 +34,7 @@ export interface NuxtErrorContext {
|
|
|
34
34
|
* 时序行为:
|
|
35
35
|
* - 插件未接入(initNuxtPlugin 未调用):logger.warn + skip(对齐家族)
|
|
36
36
|
* - 插件已接入但 init 未完成(sendEvent 未就绪):排队待
|
|
37
|
-
* collector.setup 时 flush
|
|
37
|
+
* collector.setup 时 flush 补发
|
|
38
38
|
*
|
|
39
39
|
* 事件基础字段(session / view / user 等)由 core reporter 事件处理链路补齐。
|
|
40
40
|
*
|
|
@@ -3,7 +3,7 @@ import type { AnyRouteRecord } from '../../types';
|
|
|
3
3
|
* 根据 vue-router 的 matched 数组计算 Nuxt 文件路由风格的 view 名称。
|
|
4
4
|
*
|
|
5
5
|
* 两步:
|
|
6
|
-
* 1. matched **尾向头**取第一个非空 path
|
|
6
|
+
* 1. matched **尾向头**取第一个非空 path(嵌套路由的
|
|
7
7
|
* matched 链即文件路径层级,最深非空段即页面本身的模板;区别于
|
|
8
8
|
* browser-vue computeViewName 的「逐段拼接 + catch-all 展开」策略
|
|
9
9
|
* —— 本包以 Nuxt 文件心智为准,模板原样归一化)
|
package/es/domain/state.d.ts
CHANGED
|
@@ -9,8 +9,7 @@ import type { NuxtErrorContext } from './error/addNuxtError';
|
|
|
9
9
|
* - cachedCtx / cachedSendEvent:nuxtCollector.setup 时缓存,
|
|
10
10
|
* 供 addNuxtError 与路由 startView 使用
|
|
11
11
|
* - pendingErrors:init 完成前(sendEvent 未就绪)的 addNuxtError 排队
|
|
12
|
-
*
|
|
13
|
-
* 家族形态实现为「shell 已缓存但 collector 未 setup」短窗口内的排队,
|
|
12
|
+
* (「shell 已缓存但 collector 未 setup」短窗口内的排队,
|
|
14
13
|
* setup 时统一 flush),仅保留最近 MAX_PENDING_ERRORS 条
|
|
15
14
|
*/
|
|
16
15
|
interface PendingNuxtError {
|
package/es/types/index.d.ts
CHANGED
|
@@ -30,8 +30,7 @@ export interface NuxtVueAppLike {
|
|
|
30
30
|
[key: string]: any;
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
|
-
* NuxtApp 的最小结构(duck typing
|
|
34
|
-
* setupNuxtErrorHandling.ts 的 NuxtApp 接口)。
|
|
33
|
+
* NuxtApp 的最小结构(duck typing)。
|
|
35
34
|
*
|
|
36
35
|
* 仅声明错误双通道实际用到的两个成员:
|
|
37
36
|
* - vueApp:通道 1 链式包装 vueApp.config.errorHandler
|
|
@@ -34,7 +34,7 @@ export interface NuxtErrorContext {
|
|
|
34
34
|
* 时序行为:
|
|
35
35
|
* - 插件未接入(initNuxtPlugin 未调用):logger.warn + skip(对齐家族)
|
|
36
36
|
* - 插件已接入但 init 未完成(sendEvent 未就绪):排队待
|
|
37
|
-
* collector.setup 时 flush
|
|
37
|
+
* collector.setup 时 flush 补发
|
|
38
38
|
*
|
|
39
39
|
* 事件基础字段(session / view / user 等)由 core reporter 事件处理链路补齐。
|
|
40
40
|
*
|
|
@@ -3,7 +3,7 @@ import type { AnyRouteRecord } from '../../types';
|
|
|
3
3
|
* 根据 vue-router 的 matched 数组计算 Nuxt 文件路由风格的 view 名称。
|
|
4
4
|
*
|
|
5
5
|
* 两步:
|
|
6
|
-
* 1. matched **尾向头**取第一个非空 path
|
|
6
|
+
* 1. matched **尾向头**取第一个非空 path(嵌套路由的
|
|
7
7
|
* matched 链即文件路径层级,最深非空段即页面本身的模板;区别于
|
|
8
8
|
* browser-vue computeViewName 的「逐段拼接 + catch-all 展开」策略
|
|
9
9
|
* —— 本包以 Nuxt 文件心智为准,模板原样归一化)
|
package/lib/domain/state.d.ts
CHANGED
|
@@ -9,8 +9,7 @@ import type { NuxtErrorContext } from './error/addNuxtError';
|
|
|
9
9
|
* - cachedCtx / cachedSendEvent:nuxtCollector.setup 时缓存,
|
|
10
10
|
* 供 addNuxtError 与路由 startView 使用
|
|
11
11
|
* - pendingErrors:init 完成前(sendEvent 未就绪)的 addNuxtError 排队
|
|
12
|
-
*
|
|
13
|
-
* 家族形态实现为「shell 已缓存但 collector 未 setup」短窗口内的排队,
|
|
12
|
+
* (「shell 已缓存但 collector 未 setup」短窗口内的排队,
|
|
14
13
|
* setup 时统一 flush),仅保留最近 MAX_PENDING_ERRORS 条
|
|
15
14
|
*/
|
|
16
15
|
interface PendingNuxtError {
|
package/lib/types/index.d.ts
CHANGED
|
@@ -30,8 +30,7 @@ export interface NuxtVueAppLike {
|
|
|
30
30
|
[key: string]: any;
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
|
-
* NuxtApp 的最小结构(duck typing
|
|
34
|
-
* setupNuxtErrorHandling.ts 的 NuxtApp 接口)。
|
|
33
|
+
* NuxtApp 的最小结构(duck typing)。
|
|
35
34
|
*
|
|
36
35
|
* 仅声明错误双通道实际用到的两个成员:
|
|
37
36
|
* - vueApp:通道 1 链式包装 vueApp.config.errorHandler
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arms/rum-browser-nuxt",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Nuxt plugin for @arms/rum-browser SDK (Nuxt 3/4 file-route view tracking + dual-channel error capture, zero nuxt/vue/vue-router imports)",
|
|
5
5
|
"author": "guangli.fj <guangli.fj@alibaba-inc.com>",
|
|
6
6
|
"license": "ISC",
|