reporting-lib 0.1.1 → 0.1.3

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 (60) hide show
  1. package/README.md +0 -4
  2. package/dist/api/fetch.d.ts +2 -0
  3. package/dist/api/fetch.d.ts.map +1 -0
  4. package/dist/api/fetch.js +48 -0
  5. package/dist/api/fetch.js.map +1 -0
  6. package/dist/api/index.d.ts +2 -0
  7. package/dist/api/index.d.ts.map +1 -0
  8. package/dist/api/index.js +7 -0
  9. package/dist/api/index.js.map +1 -0
  10. package/dist/api/xhr.d.ts +2 -0
  11. package/dist/api/xhr.d.ts.map +1 -0
  12. package/dist/api/xhr.js +45 -0
  13. package/dist/api/xhr.js.map +1 -0
  14. package/dist/config/index.d.ts +10 -0
  15. package/dist/config/index.d.ts.map +1 -0
  16. package/dist/config/index.js +22 -0
  17. package/dist/config/index.js.map +1 -0
  18. package/dist/error/index.d.ts +2 -0
  19. package/dist/error/index.d.ts.map +1 -0
  20. package/dist/error/index.js +113 -0
  21. package/dist/error/index.js.map +1 -0
  22. package/dist/index.cjs +3 -0
  23. package/dist/index.cjs.map +1 -0
  24. package/dist/index.global.js +3 -0
  25. package/dist/index.global.js.map +1 -0
  26. package/dist/index.js +2 -18
  27. package/dist/index.js.map +1 -1
  28. package/dist/performance/index.d.ts +2 -0
  29. package/dist/performance/index.d.ts.map +1 -0
  30. package/dist/performance/index.js +19 -0
  31. package/dist/performance/index.js.map +1 -0
  32. package/dist/performance/routeChange.d.ts +11 -0
  33. package/dist/performance/routeChange.d.ts.map +1 -0
  34. package/dist/performance/routeChange.js +52 -0
  35. package/dist/performance/routeChange.js.map +1 -0
  36. package/dist/report/index.d.ts +11 -0
  37. package/dist/report/index.d.ts.map +1 -0
  38. package/dist/report/index.js +75 -0
  39. package/dist/report/index.js.map +1 -0
  40. package/dist/util/cache.d.ts +4 -0
  41. package/dist/util/cache.d.ts.map +1 -0
  42. package/dist/util/cache.js +16 -0
  43. package/dist/util/cache.js.map +1 -0
  44. package/dist/util/captureEvent.d.ts +3 -0
  45. package/dist/util/captureEvent.d.ts.map +1 -0
  46. package/dist/util/captureEvent.js +13 -0
  47. package/dist/util/captureEvent.js.map +1 -0
  48. package/dist/util/getUniqueID.d.ts +2 -0
  49. package/dist/util/getUniqueID.d.ts.map +1 -0
  50. package/dist/util/getUniqueID.js +4 -0
  51. package/dist/util/getUniqueID.js.map +1 -0
  52. package/dist/util/paths.d.ts +4 -0
  53. package/dist/util/paths.d.ts.map +1 -0
  54. package/dist/util/paths.js +43 -0
  55. package/dist/util/paths.js.map +1 -0
  56. package/dist/util/tool.d.ts +14 -0
  57. package/dist/util/tool.d.ts.map +1 -0
  58. package/dist/util/tool.js +114 -0
  59. package/dist/util/tool.js.map +1 -0
  60. package/package.json +4 -2
@@ -0,0 +1,43 @@
1
+ export const getComposedPathEle = (e) => {
2
+ if (!e)
3
+ return [];
4
+ //如果支持path属性,直接返回path属性
5
+ //如果不支持,就通过composedPath方法获取
6
+ let pathArr = e.path || (e.composedPath && e.composedPath());
7
+ if ((pathArr || []).length) {
8
+ return pathArr;
9
+ }
10
+ //composedPath方法不兼容,手动获取
11
+ let target = e.target;
12
+ const composedPath = [];
13
+ while (target && target.parentNode) {
14
+ composedPath.push(target);
15
+ target = target.parentNode;
16
+ }
17
+ composedPath.push(document, window);
18
+ return composedPath;
19
+ };
20
+ export const getComposedPath = (e) => {
21
+ if (!e)
22
+ return [];
23
+ const composedPathEle = getComposedPathEle(e);
24
+ const composedPath = composedPathEle.reverse().slice(2).map(ele => {
25
+ let selector = ele.tagName.toLowerCase();
26
+ if (ele.id) {
27
+ selector += `#${ele.id}`;
28
+ }
29
+ if (ele.className) {
30
+ selector += `.${ele.className}`;
31
+ }
32
+ return selector;
33
+ });
34
+ return composedPath;
35
+ };
36
+ export const getPaths = (e) => {
37
+ if (!e)
38
+ return '';
39
+ const composedPath = getComposedPath(e);
40
+ const selectors = composedPath.join(' > ');
41
+ return selectors;
42
+ };
43
+ //# sourceMappingURL=paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/util/paths.js"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,EAAE,EAAE;IACtC,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAClB,uBAAuB;IACvB,2BAA2B;IAC3B,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;IAC7D,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,wBAAwB;IACxB,IAAI,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,MAAM,YAAY,GAAG,EAAE,CAAC;IAExB,OAAO,MAAM,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACnC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;IAC7B,CAAC;IAED,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAEpC,OAAO,YAAY,CAAC;AACtB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,EAAE,EAAE;IACnC,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAClB,MAAM,eAAe,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAE9C,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QAChE,IAAI,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACzC,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;YACX,QAAQ,IAAI,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;QAC3B,CAAC;QACD,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAClB,QAAQ,IAAI,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC;AACtB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,EAAE,EAAE;IAC5B,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAClB,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3C,OAAO,SAAS,CAAC;AACnB,CAAC,CAAA"}
@@ -0,0 +1,14 @@
1
+ export function detectWhiteScreen({ samplePoints, whiteTags, onDetected, threshold, }?: {
2
+ samplePoints?: number | undefined;
3
+ whiteTags?: string[] | undefined;
4
+ onDetected?: ((isWhiteScreen: any, detail: any) => void) | undefined;
5
+ threshold?: number | undefined;
6
+ }): void;
7
+ export function debounce(fn: any, delay?: number, immediate?: boolean): (...args: any[]) => void;
8
+ export function detectionWhiteScreen(): any;
9
+ export function getFullBrowserInfo(): {
10
+ name: string;
11
+ version: string;
12
+ };
13
+ export function getOSInfo(): "Windows Phone" | "Windows" | "Android" | "iOS" | "macOS" | "Linux" | "Unknown OS";
14
+ //# sourceMappingURL=tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/util/tool.js"],"names":[],"mappings":"AAAO;;;;;SAoCN;AAEM,yEAGY,GAAG,WAAI,UAgBzB;AAaM,4CASN;AAEM;;;EA0BN;AACM,gHAuBN"}
@@ -0,0 +1,114 @@
1
+ export const detectWhiteScreen = ({ samplePoints = 6, whiteTags = ['HTML', 'BODY', "IFRAME"], onDetected = (isWhiteScreen, detail) => { }, threshold = 0.9, } = {}) => {
2
+ const viewportWidth = window.innerWidth;
3
+ const viewportHeight = window.innerHeight;
4
+ const points = [];
5
+ for (let i = 1; i <= samplePoints; i++) {
6
+ points.push([
7
+ viewportWidth / 2,
8
+ (viewportHeight / (samplePoints + 1)) * i,
9
+ ]);
10
+ }
11
+ console.log('points: ', points);
12
+ let whiteCount = 0;
13
+ const detail = [];
14
+ points.forEach(([x, y]) => {
15
+ const el = document.elementFromPoint(x, y);
16
+ const tag = el?.tagName || 'NULL';
17
+ detail.push({ x, y, tag });
18
+ if (!el || whiteTags.includes(tag)) {
19
+ whiteCount++;
20
+ }
21
+ });
22
+ const isWhite = whiteCount / samplePoints >= threshold;
23
+ onDetected(isWhite, detail);
24
+ };
25
+ export const debounce = (fn, delay = 300, immediate = false) => {
26
+ let timer = null;
27
+ return function (...args) {
28
+ const context = this;
29
+ if (timer)
30
+ clearTimeout(timer);
31
+ if (immediate && !timer) {
32
+ fn.apply(context, args);
33
+ }
34
+ timer = setTimeout(() => {
35
+ if (!immediate) {
36
+ fn.apply(context, args);
37
+ }
38
+ timer = null;
39
+ }, delay);
40
+ };
41
+ };
42
+ const debouncedDetectWhiteScreen = debounce((resolve) => {
43
+ detectWhiteScreen({
44
+ onDetected: (isWhite, detail) => {
45
+ console.log('isWhite: ', isWhite);
46
+ resolve(isWhite);
47
+ pendingPromise = null;
48
+ },
49
+ });
50
+ }, 1000);
51
+ let pendingPromise = null;
52
+ export const detectionWhiteScreen = () => {
53
+ if (!pendingPromise) {
54
+ pendingPromise = new Promise((resolve) => {
55
+ setTimeout(() => {
56
+ debouncedDetectWhiteScreen(resolve);
57
+ }, 3000);
58
+ });
59
+ }
60
+ return pendingPromise;
61
+ };
62
+ export const getFullBrowserInfo = () => {
63
+ const ua = navigator.userAgent;
64
+ let name = 'Unknown';
65
+ let version = 'Unknown';
66
+ if (/edg/i.test(ua)) {
67
+ name = 'Edge';
68
+ version = ua.match(/edg\/([\d\.]+)/i)?.[1];
69
+ }
70
+ else if (/opr/i.test(ua)) {
71
+ name = 'Opera';
72
+ version = ua.match(/opr\/([\d\.]+)/i)?.[1];
73
+ }
74
+ else if (/chrome/i.test(ua)) {
75
+ name = 'Chrome';
76
+ version = ua.match(/chrome\/([\d\.]+)/i)?.[1];
77
+ }
78
+ else if (/firefox/i.test(ua)) {
79
+ name = 'Firefox';
80
+ version = ua.match(/firefox\/([\d\.]+)/i)?.[1];
81
+ }
82
+ else if (/safari/i.test(ua) && !/chrome/i.test(ua)) {
83
+ name = 'Safari';
84
+ version = ua.match(/version\/([\d\.]+)/i)?.[1];
85
+ }
86
+ else if (/msie/i.test(ua) || /trident/i.test(ua)) {
87
+ name = 'Internet Explorer';
88
+ version = ua.match(/(msie\s|rv:)([\d\.]+)/i)?.[2];
89
+ }
90
+ return { name, version };
91
+ };
92
+ export const getOSInfo = () => {
93
+ const ua = navigator.userAgent || navigator.vendor || window.opera;
94
+ if (/windows phone/i.test(ua)) {
95
+ return "Windows Phone";
96
+ }
97
+ if (/win/i.test(ua)) {
98
+ return "Windows";
99
+ }
100
+ if (/android/i.test(ua)) {
101
+ return "Android";
102
+ }
103
+ if (/iPad|iPhone|iPod/.test(ua) && !window.MSStream) {
104
+ return "iOS";
105
+ }
106
+ if (/Macintosh|MacIntel|MacPPC|Mac68K/.test(ua)) {
107
+ return "macOS";
108
+ }
109
+ if (/Linux/.test(ua)) {
110
+ return "Linux";
111
+ }
112
+ return "Unknown OS";
113
+ };
114
+ //# sourceMappingURL=tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/util/tool.js"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,YAAY,GAAG,CAAC,EAChB,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,EAAC,QAAQ,CAAC,EACrC,UAAU,GAAG,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,GAAE,CAAC,EAC1C,SAAS,GAAG,GAAG,GAChB,GAAG,EAAE,EAAE,EAAE;IACR,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC;IACxC,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC;IAE1C,MAAM,MAAM,GAAG,EAAE,CAAC;IAElB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC;YACV,aAAa,GAAG,CAAC;YACjB,CAAC,cAAc,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;SAC1C,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAEhC,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,MAAM,MAAM,GAAG,EAAE,CAAC;IAElB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;QACxB,MAAM,EAAE,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,EAAE,EAAE,OAAO,IAAI,MAAM,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QAE3B,IAAI,CAAC,EAAE,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,UAAU,EAAE,CAAC;QACf,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,UAAU,GAAG,YAAY,IAAI,SAAS,CAAC;IAEvD,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAE,EAAE,KAAK,GAAG,GAAG,EAAE,SAAS,GAAG,KAAK,EAAE,EAAE;IAC7D,IAAI,KAAK,GAAG,IAAI,CAAC;IAEjB,OAAO,UAAU,GAAG,IAAI;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC;QAErB,IAAI,KAAK;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAE/B,IAAI,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC;YACxB,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YACtB,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC1B,CAAC;YACD,KAAK,GAAG,IAAI,CAAC;QACf,CAAC,EAAE,KAAK,CAAC,CAAC;IACZ,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE;IACtD,iBAAiB,CAAC;QAChB,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9B,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAClC,OAAO,CAAC,OAAO,CAAC,CAAC;YACjB,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;KACF,CAAC,CAAC;AACL,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,IAAI,cAAc,GAAG,IAAI,CAAC;AAC1B,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,cAAc,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACvC,UAAU,CAAC,GAAG,EAAE;gBACd,0BAA0B,CAAC,OAAO,CAAC,CAAC;YACtC,CAAC,EAAE,IAAI,CAAC,CAAC;QACX,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC;IAC/B,IAAI,IAAI,GAAG,SAAS,CAAC;IACrB,IAAI,OAAO,GAAG,SAAS,CAAC;IAExB,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACpB,IAAI,GAAG,MAAM,CAAC;QACd,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAC3B,IAAI,GAAG,OAAO,CAAC;QACf,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;SAAM,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAC9B,IAAI,GAAG,QAAQ,CAAC;QAChB,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;SAAM,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAC/B,IAAI,GAAG,SAAS,CAAC;QACjB,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;SAAM,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACrD,IAAI,GAAG,QAAQ,CAAC;QAChB,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;SAAM,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACnD,IAAI,GAAG,mBAAmB,CAAC;QAC3B,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC3B,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE;IAC5B,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC;IAEnE,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAC9B,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,kCAAkC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAChD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACrB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "reporting-lib",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "A comprehensive monitoring and reporting library for web applications",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -35,9 +35,10 @@
35
35
  },
36
36
  "scripts": {
37
37
  "build": "tsc",
38
+ "build:bundle": "tsup",
38
39
  "dev": "tsc --watch",
39
40
  "lint": "eslint src --ext .ts",
40
- "prepublishOnly": "npm run build",
41
+ "prepublishOnly": "npm run build && npm run build:bundle",
41
42
  "clean": "rm -rf dist",
42
43
  "prebuild": "npm run clean"
43
44
  },
@@ -45,6 +46,7 @@
45
46
  "@typescript-eslint/eslint-plugin": "^6.0.0",
46
47
  "@typescript-eslint/parser": "^6.0.0",
47
48
  "eslint": "^8.0.0",
49
+ "tsup": "^8.5.0",
48
50
  "typescript": "^5.4.0"
49
51
  },
50
52
  "dependencies": {