@vforsh/argus-watcher 0.1.0 → 0.1.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAQ9F,yCAAyC;AACzC,MAAM,MAAM,mBAAmB,GAAG;IACjC,sFAAsF;IACtF,EAAE,EAAE,MAAM,CAAA;IACV,kFAAkF;IAClF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,wDAAwD;IACxD,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,wFAAwF;IACxF,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,sFAAsF;IACtF,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,6FAA6F;IAC7F,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE;QACV,sEAAsE;QACtE,OAAO,EAAE,MAAM,CAAA;QACf,iFAAiF;QACjF,QAAQ,CAAC,EAAE,MAAM,CAAA;KACjB,CAAA;CACD,CAAA;AAED,uCAAuC;AACvC,MAAM,MAAM,aAAa,GAAG;IAC3B,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1B,OAAO,EAAE,aAAa,CAAA;CACtB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAU,SAAS,mBAAmB,KAAG,OAAO,CAAC,aAAa,CA2EtF,CAAA;AAED,2CAA2C;AAC3C,YAAY,EAAE,QAAQ,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAS9F,yCAAyC;AACzC,MAAM,MAAM,mBAAmB,GAAG;IACjC,sFAAsF;IACtF,EAAE,EAAE,MAAM,CAAA;IACV,kFAAkF;IAClF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,wDAAwD;IACxD,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,wFAAwF;IACxF,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,sFAAsF;IACtF,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,6FAA6F;IAC7F,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE;QACV,sEAAsE;QACtE,OAAO,EAAE,MAAM,CAAA;QACf,yEAAyE;QACzE,QAAQ,CAAC,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,6EAA6E;IAC7E,UAAU,CAAC,EAAE;QACZ,gEAAgE;QAChE,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,0EAA0E;QAC1E,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAChB,CAAA;IACD,6EAA6E;IAC7E,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,EAAE;QACV;;;WAGG;QACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;KAC3B,CAAA;CACD,CAAA;AAED,uCAAuC;AACvC,MAAM,MAAM,aAAa,GAAG;IAC3B,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1B,OAAO,EAAE,aAAa,CAAA;CACtB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAU,SAAS,mBAAmB,KAAG,OAAO,CAAC,aAAa,CAsFtF,CAAA;AAED,2CAA2C;AAC3C,YAAY,EAAE,QAAQ,EAAE,CAAA"}
package/dist/index.js CHANGED
@@ -4,6 +4,7 @@ import { LogBuffer } from './buffer/LogBuffer.js';
4
4
  import { startHttpServer } from './http/server.js';
5
5
  import { announceWatcher, removeWatcher, startRegistryHeartbeat } from './registry/registry.js';
6
6
  import { WatcherFileLogger } from './fileLogs/WatcherFileLogger.js';
7
+ import { buildIgnoreMatcher } from './cdp/ignoreList.js';
7
8
  /**
8
9
  * Start a watcher that connects to Chrome CDP, buffers console logs, and exposes the HTTP API.
9
10
  * @param options - Configuration for binding, CDP matching, and buffering.
@@ -18,6 +19,9 @@ export const startWatcher = async (options) => {
18
19
  const chrome = options.chrome ?? { host: '127.0.0.1', port: 9222 };
19
20
  const bufferSize = options.bufferSize ?? 50_000;
20
21
  const startedAt = Date.now();
22
+ const includeTimestamps = options.includeTimestamps ?? false;
23
+ const ignoreMatcher = buildIgnoreMatcher(options.ignoreList);
24
+ const stripUrlPrefixes = options.location?.stripUrlPrefixes;
21
25
  const buffer = new LogBuffer(bufferSize);
22
26
  let cdpStatus = { attached: false, target: null };
23
27
  const fileLogs = options.fileLogs;
@@ -31,6 +35,7 @@ export const startWatcher = async (options) => {
31
35
  chrome,
32
36
  match: options.match,
33
37
  maxFiles: maxFiles ?? 5,
38
+ includeTimestamps,
34
39
  })
35
40
  : null;
36
41
  const record = {
@@ -38,10 +43,12 @@ export const startWatcher = async (options) => {
38
43
  host,
39
44
  port,
40
45
  pid: process.pid,
46
+ cwd: process.cwd(),
41
47
  startedAt,
42
48
  updatedAt: Date.now(),
43
49
  match: options.match,
44
50
  chrome,
51
+ includeTimestamps,
45
52
  };
46
53
  const server = await startHttpServer({
47
54
  host,
@@ -56,6 +63,8 @@ export const startWatcher = async (options) => {
56
63
  const cdp = startCdpWatcher({
57
64
  chrome,
58
65
  match: options.match,
66
+ ignoreMatcher,
67
+ stripUrlPrefixes,
59
68
  onLog: (event) => {
60
69
  buffer.add(event);
61
70
  fileLogger?.writeEvent(event);
@@ -63,6 +72,9 @@ export const startWatcher = async (options) => {
63
72
  onPageNavigation: (info) => {
64
73
  fileLogger?.rotate(info);
65
74
  },
75
+ onPageIntl: (info) => {
76
+ fileLogger?.setPageIntl(info);
77
+ },
66
78
  onStatus: (status) => {
67
79
  cdpStatus = status;
68
80
  },
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { TraceMap } from '@jridgewell/trace-mapping';
2
+ type GeneratedLocation = {
3
+ file: string | null;
4
+ line: number | null;
5
+ column: number | null;
6
+ };
7
+ type ResolvedLocation = {
8
+ file: string;
9
+ line: number;
10
+ column: number;
11
+ };
12
+ export declare const resolveSourcemappedLocation: (location: GeneratedLocation) => Promise<ResolvedLocation | null>;
13
+ export declare const resolveSourcemappedLocationWithMap: (traceMap: TraceMap, location: {
14
+ line: number;
15
+ column: number;
16
+ }) => ResolvedLocation | null;
17
+ export {};
18
+ //# sourceMappingURL=resolveLocation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveLocation.d.ts","sourceRoot":"","sources":["../../src/sourcemaps/resolveLocation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAuB,MAAM,2BAA2B,CAAA;AAGzE,KAAK,iBAAiB,GAAG;IACxB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB,CAAA;AAED,KAAK,gBAAgB,GAAG;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;CACd,CAAA;AAKD,eAAO,MAAM,2BAA2B,GAAU,UAAU,iBAAiB,KAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAsB9G,CAAA;AAED,eAAO,MAAM,kCAAkC,GAAI,UAAU,QAAQ,EAAE,UAAU;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,KAAG,gBAAgB,GAAG,IAmBtI,CAAA"}
@@ -0,0 +1,86 @@
1
+ import { TraceMap, originalPositionFor } from '@jridgewell/trace-mapping';
2
+ const traceMapCache = new Map();
3
+ const pendingTraceMaps = new Map();
4
+ export const resolveSourcemappedLocation = async (location) => {
5
+ if (!location.file) {
6
+ return null;
7
+ }
8
+ if (location.line == null || location.column == null) {
9
+ return null;
10
+ }
11
+ const scriptUrl = normalizeHttpUrl(location.file);
12
+ if (!scriptUrl) {
13
+ return null;
14
+ }
15
+ const traceMap = await getTraceMap(scriptUrl);
16
+ if (!traceMap) {
17
+ return null;
18
+ }
19
+ return resolveSourcemappedLocationWithMap(traceMap, {
20
+ line: location.line,
21
+ column: location.column,
22
+ });
23
+ };
24
+ export const resolveSourcemappedLocationWithMap = (traceMap, location) => {
25
+ if (location.line <= 0 || location.column <= 0) {
26
+ return null;
27
+ }
28
+ const position = originalPositionFor(traceMap, {
29
+ line: location.line,
30
+ column: Math.max(location.column - 1, 0),
31
+ });
32
+ if (!position.source || position.line == null || position.column == null) {
33
+ return null;
34
+ }
35
+ return {
36
+ file: position.source,
37
+ line: position.line,
38
+ column: position.column + 1,
39
+ };
40
+ };
41
+ const getTraceMap = async (scriptUrl) => {
42
+ const cached = traceMapCache.get(scriptUrl);
43
+ if (cached !== undefined) {
44
+ return cached;
45
+ }
46
+ const pending = pendingTraceMaps.get(scriptUrl);
47
+ if (pending) {
48
+ return pending;
49
+ }
50
+ const promise = fetchTraceMap(scriptUrl)
51
+ .then((traceMap) => {
52
+ traceMapCache.set(scriptUrl, traceMap);
53
+ return traceMap;
54
+ })
55
+ .catch(() => {
56
+ traceMapCache.set(scriptUrl, null);
57
+ return null;
58
+ })
59
+ .finally(() => {
60
+ pendingTraceMaps.delete(scriptUrl);
61
+ });
62
+ pendingTraceMaps.set(scriptUrl, promise);
63
+ return promise;
64
+ };
65
+ const fetchTraceMap = async (scriptUrl) => {
66
+ const response = await fetch(`${scriptUrl}.map`);
67
+ if (!response.ok) {
68
+ return null;
69
+ }
70
+ const rawMap = (await response.json());
71
+ return new TraceMap(rawMap, scriptUrl);
72
+ };
73
+ const normalizeHttpUrl = (value) => {
74
+ let url;
75
+ try {
76
+ url = new URL(value);
77
+ }
78
+ catch {
79
+ return null;
80
+ }
81
+ if (url.protocol !== 'http:' && url.protocol !== 'https:') {
82
+ return null;
83
+ }
84
+ return url.toString();
85
+ };
86
+ //# sourceMappingURL=resolveLocation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveLocation.js","sourceRoot":"","sources":["../../src/sourcemaps/resolveLocation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,11 @@
1
1
  {
2
2
  "name": "@vforsh/argus-watcher",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
+ "repository": {
5
+ "type": "git",
6
+ "url": "https://github.com/vforsh/argus.git",
7
+ "directory": "packages/argus-watcher"
8
+ },
4
9
  "type": "module",
5
10
  "main": "./dist/index.js",
6
11
  "types": "./dist/index.d.ts",
@@ -17,7 +22,8 @@
17
22
  "access": "public"
18
23
  },
19
24
  "dependencies": {
20
- "@vforsh/argus-core": "0.1.0"
25
+ "@jridgewell/trace-mapping": "^0.3.31",
26
+ "@vforsh/argus-core": "0.1.2"
21
27
  },
22
28
  "scripts": {
23
29
  "build": "tsc -b",