
Security News
Happy Birthday, Shai-Hulud
It has been one year since Shai-Hulud made its first appearance on npm.
trace-collect
Advanced tools
npm i trace-collect
/**
* @uid 用户标识
* @requestUrl 上报的服务器地址
* @extra 额外的参数
* @historyCollect 是否开启浏览器history收集
* @hashCollect 是否开启浏览器hash收集
* @domCollect 是否开启用户操作dom收集
* @jsError 是否开启js报错收集
*/
export interface DefaultOptions {
uid: string;
extra: Record<string, any>;
requestUrl: string;
historyCollect: boolean;
hashCollect: boolean;
domCollect: boolean;
jsError: boolean;
}
export interface Options extends Partial<DefaultOptions> {
requestUrl: string;
}
4 种模式
import TraceCollect from 'trace-collect';
// or
// <script stc="https://unpkg.com/trace-collect/dist/index.js"></script>
// options 参数如说明所示,requestUrl必填
const traceCollect = new TraceCollect({
uid: 'xxx',
extra: {},
requestUrl: 'http://xxx.com/xxx',
// 以下参数开启即自动上报 navagatiob.sendBeacon() 方式
historyCollect: true,
hashCollect: true,
// domCollect 额外要求dom元素中添加 target-key="xxx" target-event="all / 事件1,事件2,..."
// 无target-event属性,默认all
// 如 <div target-key="xxx" target-event="all" | target-event="click,dblclick"></div>
domCollect: true,
jsError: true,
})
// 实例方法
// 设置uid
traceCollect.setUid('xxx')
// 设置额外参数
traceCollect.setExtra({})
// 手动上报 data - Record<string, any>
traceCollect.sendCollect(data)
// 上报数据格式
// 手动上报
Object.assign({
options,
// 手动传入的data
{},
{
time: Date.now(),
}
})
// historyCollect
Object.assign({
options,
{
event: 'popstate | pushState | replaceState',
key: 'history',
href: window.location.href,
},
{
time: Date.now(),
}
})
// hash
Object.assign({
options,
{
event: 'hashchange',
key: 'hash',
hash: location.hash,
oldUrl: ev.oldURL,
newUrl: ev.newURL,
},
{
time: Date.now(),
}
})
// dom
Object.assign({
options,
{
event: "click | dbclick ...",
key: `dom-${targetKey}`,
},
{
time: Date.now(),
}
})
// jsError
Object.assign({
options,
{
event: 'error | reject',
key: 'jsError',
message: e.message,
},
{
time: Date.now(),
}
})
FAQs
Frontend user operations, error collection and reporting (前端用户操作、错误收集上报)
The npm package trace-collect receives a total of 2 weekly downloads. As such, trace-collect popularity was classified as not popular.
We found that trace-collect demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.

Security News
It has been one year since Shai-Hulud made its first appearance on npm.

Research
/Security News
Operators behind PolinRider used a compromised GitHub account to plant malware in four development versions of a Packagist package with 700,000+ downloads.

Security News
GitHub Actions now supports cache-mode, a least-privilege control on the Actions cache aimed at the cache poisoning technique behind recent compromises.