@arms/rum-uniapp 0.1.3 → 0.1.4
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 +128 -9
- package/dist/uniapp-sdk.js +1 -1
- package/es/collector/action/index.d.ts +14 -0
- package/es/collector/action/index.js +2 -61
- package/es/collector/exception/index.d.ts +1 -1
- package/es/collector/exception/index.js +6 -4
- package/es/collector/resource/api.d.ts +1 -1
- package/es/collector/resource/api.js +4 -4
- package/es/collector/view/pv.js +1 -1
- package/es/configManager.d.ts +13 -0
- package/es/configManager.js +5 -0
- package/es/reporter/index.js +2 -2
- package/es/reporter/monitor-reporter.d.ts +11 -0
- package/es/reporter/monitor-reporter.js +5 -0
- package/es/shell.d.ts +4 -2
- package/es/shell.js +8 -10
- package/es/utils/mixin.d.ts +2 -2
- package/es/utils/mixin.js +9 -2
- package/es/utils/platform.js +1 -1
- package/es/utils/session.d.ts +3 -1
- package/es/utils/session.js +2 -2
- package/es/utils/view.js +3 -4
- package/lib/collector/action/index.d.ts +14 -0
- package/lib/collector/action/index.js +2 -62
- package/lib/collector/exception/index.d.ts +1 -1
- package/lib/collector/exception/index.js +5 -3
- package/lib/collector/resource/api.d.ts +1 -1
- package/lib/collector/resource/api.js +4 -4
- package/lib/collector/view/pv.js +1 -1
- package/lib/configManager.d.ts +13 -0
- package/lib/configManager.js +5 -0
- package/lib/reporter/index.js +1 -1
- package/lib/reporter/monitor-reporter.d.ts +11 -0
- package/lib/reporter/monitor-reporter.js +5 -0
- package/lib/shell.d.ts +4 -2
- package/lib/shell.js +5 -7
- package/lib/utils/mixin.d.ts +2 -2
- package/lib/utils/mixin.js +9 -2
- package/lib/utils/platform.js +1 -1
- package/lib/utils/session.d.ts +3 -1
- package/lib/utils/session.js +1 -1
- package/lib/utils/view.js +2 -3
- package/package.json +2 -2
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";exports.__esModule=!0,exports.UniMonitorReporter=void 0;var _rumCore=require("@arms/rum-core"),_platform=require("../utils/platform"),_url=require("../utils/url"),UniMonitorReporter=exports.UniMonitorReporter=/*#__PURE__*/function(){function a(a){this.endpoint=void 0,this.endpoint=this.buildMonitorEndpoint(a)}var b=a.prototype;return b.send=function(a){if(a&&0!==a.length)try{var b=(0,_rumCore.convertBundlesToLogGroup)(a);_platform.sdk.request({url:this.endpoint,method:"POST",header:{"Content-Type":"application/x-protobuf","x-log-apiversion":"0.6.0","x-log-compresstype":"","x-log-date":new Date().toUTCString()},// uni.request 支持发送 ArrayBuffer 二进制数据
|
|
2
|
+
data:b.buffer})}catch(a){_rumCore.logger.warn("monitor-reporter","Monitor data send failed",a)}},b.buildMonitorEndpoint=function(a){try{var b=(0,_url.getURL)(a);return b.protocol+"://"+b.host+"/rum/monitor"}catch(b){return a}},a}();/**
|
|
3
|
+
* uni-app 自监控上报器
|
|
4
|
+
* 将 Telemetry 采集的自监控数据编码为 protobuf,通过 uni.request 上报
|
|
5
|
+
*/
|
package/lib/shell.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Shell } from '@arms/rum-core';
|
|
2
|
-
import { IUniConfig, Vue } from
|
|
2
|
+
import { IUniConfig, Vue } from './types/client';
|
|
3
3
|
/**
|
|
4
4
|
* 对外导出 shell 层, 所有 shell 层模型的 API 设计约定:
|
|
5
5
|
* 1. API 命名空间按照 variables / functions / events 来组织
|
|
@@ -8,10 +8,12 @@ import { IUniConfig, Vue } from "./types/client";
|
|
|
8
8
|
*/
|
|
9
9
|
export declare class ArmsRum extends Shell {
|
|
10
10
|
version: string;
|
|
11
|
+
private configManager;
|
|
11
12
|
/**
|
|
12
13
|
* 初始化
|
|
13
14
|
*/
|
|
14
|
-
init(config: IUniConfig):
|
|
15
|
+
init(config: IUniConfig): Promise<Shell>;
|
|
16
|
+
getConfig(): import("@arms/rum-core").IConfiguration;
|
|
15
17
|
/**
|
|
16
18
|
* set config
|
|
17
19
|
*/
|
package/lib/shell.js
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule=!0,exports["default"]=exports.ArmsRum=void 0;var
|
|
1
|
+
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule=!0,exports["default"]=exports.ArmsRum=void 0;var _inheritsLoose2=_interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose")),_rumCore=require("@arms/rum-core"),_pv=_interopRequireDefault(require("./collector/view/pv")),_exception=_interopRequireDefault(require("./collector/exception")),_api=_interopRequireDefault(require("./collector/resource/api")),_action=_interopRequireDefault(require("./collector/action")),_defaultProcessor=_interopRequireDefault(require("./processor/default-processor")),_sessionProcessor=_interopRequireDefault(require("./processor/session-processor")),_reporter=_interopRequireDefault(require("./reporter")),_monitorReporter=require("./reporter/monitor-reporter"),_platform=require("./utils/platform"),_session=require("./utils/session"),_mixin=require("./utils/mixin"),_view=require("./utils/view"),_configManager=_interopRequireDefault(require("./configManager")),ArmsRum=exports.ArmsRum=/*#__PURE__*/function(a){function b(){for(var b,c=arguments.length,d=Array(c),e=0;e<c;e++)d[e]=arguments[e];return b=a.call.apply(a,[this].concat(d))||this,b.version=_platform.VERSION,b.configManager=void 0,b}(0,_inheritsLoose2["default"])(b,a);var c=b.prototype;return c.init=/**
|
|
2
2
|
* 初始化
|
|
3
|
-
*/function(a){a.vue&&
|
|
4
|
-
new _exception["default"],new _api["default"]
|
|
5
|
-
]),this.client.useProcessors([new _defaultProcessor["default"],new _sessionProcessor["default"]]),this.client.useReporter(new _reporter["default"]),this.client.init(a,new _session.RumSession);// 监听网络类型变化
|
|
3
|
+
*/function(a){var b=this;return this.configManager=new _configManager["default"],Promise.resolve().then(function(){return b.configManager.init(a)})["catch"](function(a){_rumCore.logger.warn("shell","configManager init error",a)}).then(function(){var a=b.configManager.getConfig();if(!1===a.enable)return b;a.vue&&b.setVue(a.vue),b.client.useCollectors([new _pv["default"],// new PerfCollector(),
|
|
4
|
+
new _exception["default"],new _api["default"],new _action["default"]]),b.client.useProcessors([new _defaultProcessor["default"],new _sessionProcessor["default"]]),b.client.useReporter(new _reporter["default"]),b.client.init(a,new _session.RumSession,b.configManager,new _monitorReporter.UniMonitorReporter(a.endpoint));// 监听网络类型变化
|
|
6
5
|
// getNetType(this.updateNetType);
|
|
7
|
-
var b
|
|
6
|
+
var c=b.client.getContext();return c.getViews=_view.getCurViews,(0,_rumCore.isFunction)(_platform.sdk.onAppHide)&&_platform.sdk.onAppHide(function(){var a;null===(a=_rumCore.Telemetry.get())||void 0===a?void 0:a.flush()}),b})},c.getConfig=function(){var a;return null===(a=this.configManager)||void 0===a?void 0:a.getConfig()}/**
|
|
8
7
|
* set config
|
|
9
|
-
*/,c.setConfig=function(){var a=this.
|
|
10
|
-
// import ActionCollector from './collector/action';
|
|
8
|
+
*/,c.setConfig=function(){var a=this.configManager;if(a)if(2===arguments.length){var b,c=a.getConfig();a.setConfig(Object.assign({},c,(b={},b[0>=arguments.length?void 0:arguments[0]]=1>=arguments.length?void 0:arguments[1],b)))}else a.setConfig(0>=arguments.length?void 0:arguments[0])},c.setVue=function(a){this.setConfig("vue",a),(0,_mixin.mixin)(a)},b}(_rumCore.Shell),_default=exports["default"]=new ArmsRum;// import PerfCollector from './collector/view/perf';
|
|
11
9
|
// import { getNetType } from "./utils/network";
|
|
12
10
|
/**
|
|
13
11
|
* 对外导出 shell 层, 所有 shell 层模型的 API 设计约定:
|
package/lib/utils/mixin.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { Vue } from
|
|
1
|
+
import type { Vue } from '../types/client';
|
|
2
2
|
type Callback = (that: any, ev: any) => void;
|
|
3
3
|
/** Vue 2 传入构造函数;Vue 3 传入 createApp() 的 app 实例 */
|
|
4
|
-
export type VueRuntimeKind =
|
|
4
|
+
export type VueRuntimeKind = 'vue2' | 'vue3';
|
|
5
5
|
/** 根据运行时形态区分:Vue 2 为函数(构造函数),Vue 3 app 为对象 */
|
|
6
6
|
export declare function getVueRuntimeKind(vue: unknown): VueRuntimeKind | null;
|
|
7
7
|
export declare function mixin(vue: Vue): void;
|
package/lib/utils/mixin.js
CHANGED
|
@@ -1,2 +1,9 @@
|
|
|
1
|
-
"use strict";exports.__esModule=!0,exports.addEventListener=addEventListener,exports.getVueRuntimeKind=getVueRuntimeKind,exports.mixin=mixin,exports.removeEventListener=removeEventListener;var vueCache;/** Vue 2 传入构造函数;Vue 3 传入 createApp() 的 app 实例 *//** 根据运行时形态区分:Vue 2 为函数(构造函数),Vue 3 app 为对象 */function getVueRuntimeKind(a){if(null==a)return null;return"function"==typeof a.mixin?"function"==typeof a?"vue2":"object"==typeof a?"vue3":null:null}/** 会合并进 Vue.mixin 的生命周期键(与 listeners 中需单独处理的键分开) */var MIXIN_HOOK_KEYS=["onLaunch","onLoad","onShow","beforeCreate","mounted"],listeners={onError:[]};MIXIN_HOOK_KEYS.forEach(function(a){listeners[a]=[]});function invokeListeners(a,b,c){var d=listeners[a];if(null!==d&&void 0!==d&&d.length)for(var e=0;e<d.length;e++)try{d[e](b,c)}catch(b){
|
|
2
|
-
|
|
1
|
+
"use strict";exports.__esModule=!0,exports.addEventListener=addEventListener,exports.getVueRuntimeKind=getVueRuntimeKind,exports.mixin=mixin,exports.removeEventListener=removeEventListener;var vueCache,_rumCore=require("@arms/rum-core");/** Vue 2 传入构造函数;Vue 3 传入 createApp() 的 app 实例 *//** 根据运行时形态区分:Vue 2 为函数(构造函数),Vue 3 app 为对象 */function getVueRuntimeKind(a){if(null==a)return null;return"function"==typeof a.mixin?"function"==typeof a?"vue2":"object"==typeof a?"vue3":null:null}/** 会合并进 Vue.mixin 的生命周期键(与 listeners 中需单独处理的键分开) */var MIXIN_HOOK_KEYS=["onLaunch","onLoad","onShow","beforeCreate","mounted"],listeners={onError:[]};MIXIN_HOOK_KEYS.forEach(function(a){listeners[a]=[]});function invokeListeners(a,b,c){var d=listeners[a];if(null!==d&&void 0!==d&&d.length)for(var e=0;e<d.length;e++)try{d[e](b,c)}catch(b){_rumCore.logger.warn("vue-mixin","vue listener failed",b,{hook:a})}}/** tap/click 事件源:识别 uni-app 事件对象(有 type 且带 currentTarget/target) */var ACTION_EVENT_TYPES=["tap","click"];function isActionEvent(a){return!!a&&"object"==typeof a&&-1!==ACTION_EVENT_TYPES.indexOf(a.type)&&(null!=a.currentTarget||null!=a.target)}/**
|
|
2
|
+
* 拦截组件 methods,为 tap/click 建立事件源。
|
|
3
|
+
* $options.methods 为组件定义共享对象,包装一次即可(__armsActionWrapped 去重);
|
|
4
|
+
* 包装函数在被事件触发时派发 'action',再执行原方法,保持原行为与返回值。
|
|
5
|
+
*/function wrapInstanceMethods(a){// 无 'action' 监听(采集器未启用)时不包装,零开销
|
|
6
|
+
if(listeners.action&&listeners.action.length){var b=a&&a.$options&&a.$options.methods;if(b)for(var c=Object.keys(b),d=function a(){var d=c[e],f=b[d];if("function"!=typeof f||f.__armsActionWrapped)return 1;// continue
|
|
7
|
+
var g=function a(){var b=arguments[0];return isActionEvent(b)&&invokeListeners("action",this,b),f.apply(this,arguments)};g.__armsActionWrapped=!0,b[d]=g},e=0;e<c.length;e++)d()}}function createMixinOptions(a){function d(a,b,c){invokeListeners("onError",this,{error:a,instance:b,info:c})}// Vue 2.5+ / Vue 3:后代组件错误走 onErrorCaptured,再转给 onError 监听(不用 config.errorHandler)
|
|
8
|
+
for(var e={},f=function a(){var b=MIXIN_HOOK_KEYS[g];e[b]=function(a){invokeListeners(b,this,a)}},g=0;g<MIXIN_HOOK_KEYS.length;g++)f();// beforeCreate 早于 Vue initMethods,此时拦截 methods 可让绑定到实例的即为包装版本
|
|
9
|
+
var b=e.beforeCreate;return e.beforeCreate=function(a){b.call(this,a),wrapInstanceMethods(this)},"vue2"===a?Object.defineProperty(vueCache.config,"errorHandler",{get:function a(){var e=this;return function(f,a,b){d(f,a,b),e.__errorHandler&&e.__errorHandler(f,a,b)}},set:function b(a){this.__errorHandler=a}}):Object.defineProperty(vueCache.config,"onErrorCaptured",{get:function a(){var e=this;return function(f,a,b){d(f,a,b),e.__onErrorCaptured&&e.__onErrorCaptured(f,a,b)}},set:function b(a){this.__onErrorCaptured=a}}),e}function mixin(a){if(!vueCache){vueCache=a;var b=getVueRuntimeKind(a);if(b)try{a.mixin(createMixinOptions(b))}catch(a){_rumCore.logger.error("vue-mixin","vue.mixin failed",a)}}}function addEventListener(a,b){a in listeners||(listeners[a]=[]),listeners[a].push(b)}function removeEventListener(a,b){if(a in listeners&&b){var c=listeners[a],d=c.indexOf(b);return c.splice(d,1),!0}return!1}
|
package/lib/utils/platform.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule=!0,exports.fixAttrs=exports.appName=exports.VERSION=void 0,exports.getNetType=getNetType,exports.getPerformance=getPerformance,exports.getStorageSync=getStorageSync,exports.sdk=exports.global2=void 0,exports.setStorageSync=setStorageSync;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator")),_extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends")),_asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")),_rumCore=require("@arms/rum-core"),global2=exports.global2=global||window,VERSION=exports.VERSION='npm-0.1.
|
|
1
|
+
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule=!0,exports.fixAttrs=exports.appName=exports.VERSION=void 0,exports.getNetType=getNetType,exports.getPerformance=getPerformance,exports.getStorageSync=getStorageSync,exports.sdk=exports.global2=void 0,exports.setStorageSync=setStorageSync;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator")),_extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends")),_asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")),_rumCore=require("@arms/rum-core"),global2=exports.global2=global||window,VERSION=exports.VERSION='npm-0.1.4',sdk=exports.sdk=uni,appName=exports.appName="uniapp";// export {
|
|
2
2
|
// // sdk: global.uni,
|
|
3
3
|
// appName: 'uniapp',
|
|
4
4
|
// }
|
package/lib/utils/session.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IContext, IRumSession, RumEvent, SessionConfig } from
|
|
1
|
+
import { IContext, IRumSession, RumEvent, SessionConfig } from '@arms/rum-core';
|
|
2
2
|
interface SessionInfo {
|
|
3
3
|
sessionId: string;
|
|
4
4
|
sampled: boolean;
|
|
@@ -8,6 +8,8 @@ interface SessionInfo {
|
|
|
8
8
|
}
|
|
9
9
|
export declare class RumSession implements IRumSession {
|
|
10
10
|
ctx: IContext;
|
|
11
|
+
appType: string;
|
|
12
|
+
sdkVersion: string;
|
|
11
13
|
sessionConfig: SessionConfig;
|
|
12
14
|
init(ctx: IContext): void;
|
|
13
15
|
getSessionId(): string;
|
package/lib/utils/session.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";exports.__esModule=!0,exports.RumSession=void 0;var _rumCore=require("@arms/rum-core"),_base=require("./base"),_view=require("./view"),_platform=require("./platform"),USER_ID="_arms_uid",RUM_SESSION="_arms_session",RumSession=exports.RumSession=/*#__PURE__*/function(){function a(){this.ctx=void 0,this.sessionConfig=void 0}var b=a.prototype;return b.init=function(a){var b;this.ctx=a,this.sessionConfig=this.fixSessionConfig(null===(b=a.
|
|
1
|
+
"use strict";exports.__esModule=!0,exports.RumSession=void 0;var _rumCore=require("@arms/rum-core"),_base=require("./base"),_view=require("./view"),_platform=require("./platform"),USER_ID="_arms_uid",RUM_SESSION="_arms_session",RumSession=exports.RumSession=/*#__PURE__*/function(){function a(){this.ctx=void 0,this.appType="uniapp",this.sdkVersion=_platform.VERSION,this.sessionConfig=void 0}var b=a.prototype;return b.init=function(a){var b;this.ctx=a,this.sessionConfig=this.fixSessionConfig(null===(b=a.getConfig())||void 0===b?void 0:b.sessionConfig)},b.getSessionId=function(){return this.getSessionInfo().sessionId},b.getSampled=function(){return this.getSessionInfo().sampled},b.checkSession=function(a){var b=this.sessionConfig,c=b.overtime,d=b.maxDuration,e=(0,_base.getCurrentTime)();return!(a.startTime+d<e||a.lastTime+c<e)},b.updateSession=function(){var a=this.getSessionInfo();if(!a.isNew){var b=a.startTime,c=(0,_base.getCurrentTime)(),d=a.sampled?1:0;(0,_platform.setStorageSync)(RUM_SESSION,a.sessionId+"-"+d+"-"+b+"-"+c)}},b.getSessionInfo=function(){var a=((0,_platform.getStorageSync)(RUM_SESSION)||"").split("-"),b=a[0],c=a[1],d=a[2],e=a[3],f={sessionId:b,sampled:"0"!==c,startTime:parseInt(d||"")||0,lastTime:parseInt(e||"")||0};return this.checkSession(f)||(f=this.resetSession()),f},b.getEventId=function(){return(0,_rumCore.generateEventId)(this.getSessionId())},b.getViewId=function(){return this.getUUID()},b.getUserId=function(){var a=(0,_platform.getStorageSync)(USER_ID);return a&&0===a.indexOf("user_")&&(a=""),a||(a="uid_"+(0,_rumCore.generateSpanId)(16,36),(0,_platform.setStorageSync)(USER_ID,a)),a},b.resetSession=function(){var a=this.sessionConfig.sampling,b=this.getUUID(),c=(0,_base.getCurrentTime)(),d=(0,_rumCore.performDraw)(a),e=b+"-"+(d?1:0)+"-"+c+"-"+c;return(0,_platform.setStorageSync)(RUM_SESSION,e),{sessionId:b,sampled:d,startTime:c,lastTime:c,isNew:!0}},b.getUUID=function(){return(0,_rumCore.generateGUID)().replace(/-/g,"")},b.fixSessionConfig=function(a){void 0===a&&(a={});var b=a,c=b.sampleRate,d=b.sampling,e=b.maxDuration,f=b.overtime;// 优先使用 sampling(0-100),若未配置则从旧字段 sampleRate(0-1)迁移
|
|
2
2
|
return(!(0,_rumCore.isNumber)(d)||0>d||100<d)&&((0,_rumCore.isNumber)(c)&&0<=c&&1>=c?d=100*c:d=100),(!(0,_rumCore.isNumber)(e)||e<4*_rumCore.ONE_HOUR||e>_rumCore.ONE_DAY)&&(e=_rumCore.ONE_DAY),(!(0,_rumCore.isNumber)(f)||f>_rumCore.ONE_HOUR||f<10*_rumCore.ONE_MINUTE)&&(f=30*_rumCore.ONE_MINUTE),{sampling:d,maxDuration:e,overtime:f}},b.getBaseEvent=function(){return{timestamp:(0,_base.getCurrentTime)(),session_id:this.getSessionId(),event_id:this.getEventId(),view:this.ctx?(0,_view.getCurView)(this.ctx):void 0,times:1}},a}();// 存储userID的键名
|
|
3
3
|
// 存储session
|
package/lib/utils/view.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";exports.__esModule=!0,exports.getCurView=getCurView,exports.getCurViews=getCurViews,exports.getCurrentPage=getCurrentPage;var _rumCore=require("@arms/rum-core"),PAGE_KEY="__rum_view";/**
|
|
2
2
|
* 获取当前 page
|
|
3
3
|
* @returns
|
|
4
|
-
*/function getCurrentPage(){if("function"==typeof getCurrentPages)try{var a=getCurrentPages()||[];return a[a.length-1]}catch(a){
|
|
5
|
-
}}/**
|
|
4
|
+
*/function getCurrentPage(){if("function"==typeof getCurrentPages)try{var a=getCurrentPages()||[];return a[a.length-1]}catch(a){_rumCore.logger.warn("view","getCurrentPage failed",a)}}/**
|
|
6
5
|
* 获取当前 view
|
|
7
6
|
* @param ctx
|
|
8
7
|
* @returns
|
|
@@ -10,4 +9,4 @@
|
|
|
10
9
|
* 获取当前 view
|
|
11
10
|
* @param ctx
|
|
12
11
|
* @returns
|
|
13
|
-
*/function getCurViews(){var a=[];if("function"==typeof getCurrentPages)try{(getCurrentPages()||[]).forEach(function(b){PAGE_KEY in b&&a.push(b[PAGE_KEY])})}catch(a){}return a}
|
|
12
|
+
*/function getCurViews(){var a=[];if("function"==typeof getCurrentPages)try{(getCurrentPages()||[]).forEach(function(b){PAGE_KEY in b&&a.push(b[PAGE_KEY])})}catch(a){_rumCore.logger.warn("view","getCurViews failed",a)}return a}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arms/rum-uniapp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "arms rum javascript sdk for uniapp native",
|
|
5
5
|
"author": "guangli.fj <guangli.fj@alibaba-inc.com>",
|
|
6
6
|
"license": "ISC",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"prepublishOnly": "npm run build"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@arms/rum-core": "0.1.
|
|
28
|
+
"@arms/rum-core": "0.1.7"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"typescript": "^4.9.4"
|