File tree 8 files changed +30
-39
lines changed
8 files changed +30
-39
lines changed Original file line number Diff line number Diff line change 6
6
import { BrowserGlobalHandlerPlugin } from "./plugins/BrowserGlobalHandlerPlugin.js" ;
7
7
import { BrowserLifeCyclePlugin } from "./plugins/BrowserLifeCyclePlugin.js" ;
8
8
import { BrowserWrapFunctions } from "./plugins/BrowserWrapFunctions.js" ;
9
+ import { BrowserModuleInfoPlugin } from "./plugins/BrowserModuleInfoPlugin.js" ;
9
10
import { BrowserErrorParser } from "./services/BrowserErrorParser.js" ;
10
- import { BrowserModuleCollector } from "./services/BrowserModuleCollector.js" ;
11
11
import { BrowserRequestInfoCollector } from "./services/BrowserRequestInfoCollector.js" ;
12
12
import { BrowserLocalStorage } from "./storage/BrowserLocalStorage.js" ;
13
13
import { BrowserFetchSubmissionClient } from "./submission/BrowserFetchSubmissionClient.js" ;
@@ -18,13 +18,13 @@ export class BrowserExceptionlessClient extends ExceptionlessClient {
18
18
if ( configurationOrApiKey ) {
19
19
config . services . storage = new BrowserLocalStorage ( ) ;
20
20
config . services . errorParser = new BrowserErrorParser ( ) ;
21
- config . services . moduleCollector = new BrowserModuleCollector ( ) ;
22
21
config . services . requestInfoCollector = new BrowserRequestInfoCollector ( ) ;
23
22
config . services . submissionClient = new BrowserFetchSubmissionClient ( config ) ;
24
23
25
24
config . addPlugin ( new BrowserGlobalHandlerPlugin ( ) ) ;
26
25
config . addPlugin ( new BrowserLifeCyclePlugin ( ) ) ;
27
26
config . addPlugin ( new BrowserWrapFunctions ( ) ) ;
27
+ config . addPlugin ( new BrowserModuleInfoPlugin ( ) ) ;
28
28
}
29
29
30
30
await super . startup ( configurationOrApiKey ) ;
Original file line number Diff line number Diff line change 1
1
export { BrowserGlobalHandlerPlugin } from "./plugins/BrowserGlobalHandlerPlugin.js" ;
2
2
export { BrowserLifeCyclePlugin } from "./plugins/BrowserLifeCyclePlugin.js" ;
3
3
export { BrowserWrapFunctions } from "./plugins/BrowserWrapFunctions.js" ;
4
+ export { BrowserModuleInfoPlugin } from "./plugins/BrowserModuleInfoPlugin.js" ;
4
5
export { BrowserErrorParser } from "./services/BrowserErrorParser.js" ;
5
- export { BrowserModuleCollector } from "./services/BrowserModuleCollector.js" ;
6
6
export { BrowserRequestInfoCollector } from "./services/BrowserRequestInfoCollector.js" ;
7
7
export { BrowserLocalStorage } from "./storage/BrowserLocalStorage.js" ;
8
8
export { BrowserFetchSubmissionClient } from "./submission/BrowserFetchSubmissionClient.js" ;
Original file line number Diff line number Diff line change 1
1
import {
2
+ EventPluginContext ,
2
3
getHashCode ,
3
- IModuleCollector ,
4
+ IEventPlugin ,
5
+ KnownEventDataKeys ,
4
6
ModuleInfo ,
5
7
parseVersion ,
8
+ PluginContext
6
9
} from "@exceptionless/core" ;
7
10
8
- export class BrowserModuleCollector implements IModuleCollector {
9
- public getModules ( ) : ModuleInfo [ ] {
11
+ export class BrowserModuleInfoPlugin implements IEventPlugin {
12
+ public priority : number = 50 ;
13
+ public name : string = "BrowserModuleInfoPlugin" ;
14
+ private _cachedModules : ModuleInfo [ ] = null ;
15
+
16
+ public startup ( context : PluginContext ) : Promise < void > {
17
+ if ( ! this . _cachedModules ) {
18
+ this . _cachedModules = this . getModules ( ) ;
19
+ }
20
+
21
+ return Promise . resolve ( ) ;
22
+ }
23
+
24
+ public run ( context : EventPluginContext ) : Promise < void > {
25
+ const error = context . event . data [ KnownEventDataKeys . Error ] ;
26
+ if ( this . _cachedModules ?. length > 0 && ! error ?. modules ) {
27
+ error . modules = this . _cachedModules ;
28
+ }
29
+
30
+ return Promise . resolve ( ) ;
31
+ }
32
+
33
+ private getModules ( ) : ModuleInfo [ ] {
10
34
if ( ! document || ! document . getElementsByTagName ) {
11
35
return null ;
12
36
}
Original file line number Diff line number Diff line change @@ -12,7 +12,6 @@ import { DefaultEventQueue } from "../queue/DefaultEventQueue.js";
12
12
import { IEventQueue } from "../queue/IEventQueue.js" ;
13
13
import { IEnvironmentInfoCollector } from "../services/IEnvironmentInfoCollector.js" ;
14
14
import { IErrorParser } from "../services/IErrorParser.js" ;
15
- import { IModuleCollector } from "../services/IModuleCollector.js" ;
16
15
import { IRequestInfoCollector } from "../services/IRequestInfoCollector.js" ;
17
16
import { ISubmissionClient } from "../submission/ISubmissionClient.js" ;
18
17
import { guid } from "../Utils.js" ;
@@ -64,7 +63,6 @@ export class Configuration {
64
63
errorParser ?: IErrorParser ,
65
64
lastReferenceIdManager : ILastReferenceIdManager ,
66
65
log : ILog ,
67
- moduleCollector ?: IModuleCollector ,
68
66
requestInfoCollector ?: IRequestInfoCollector ,
69
67
submissionClient ?: ISubmissionClient ,
70
68
storage : IStorage ,
Original file line number Diff line number Diff line change @@ -31,7 +31,6 @@ export { EnvironmentInfoPlugin } from "./plugins/default/EnvironmentInfoPlugin.j
31
31
export { ErrorPlugin } from "./plugins/default/ErrorPlugin.js" ;
32
32
export { EventExclusionPlugin } from "./plugins/default/EventExclusionPlugin.js" ;
33
33
export { HeartbeatPlugin } from "./plugins/default/HeartbeatPlugin.js" ;
34
- export { ModuleInfoPlugin } from "./plugins/default/ModuleInfoPlugin.js" ;
35
34
export { ReferenceIdPlugin } from "./plugins/default/ReferenceIdPlugin.js" ;
36
35
export { RequestInfoPlugin } from "./plugins/default/RequestInfoPlugin.js" ;
37
36
export { SubmissionMethodPlugin } from "./plugins/default/SubmissionMethodPlugin.js" ;
@@ -46,7 +45,6 @@ export type { IEventQueue } from "./queue/IEventQueue.js";
46
45
47
46
export type { IEnvironmentInfoCollector } from "./services/IEnvironmentInfoCollector.js" ;
48
47
export type { IErrorParser } from "./services/IErrorParser.js" ;
49
- export type { IModuleCollector } from "./services/IModuleCollector.js" ;
50
48
export type { IRequestInfoCollector } from "./services/IRequestInfoCollector.js" ;
51
49
52
50
export { InMemoryStorage } from "./storage/InMemoryStorage.js" ;
Original file line number Diff line number Diff line change @@ -4,7 +4,6 @@ import { DuplicateCheckerPlugin } from "./default/DuplicateCheckerPlugin.js";
4
4
import { EnvironmentInfoPlugin } from "./default/EnvironmentInfoPlugin.js" ;
5
5
import { ErrorPlugin } from "./default/ErrorPlugin.js" ;
6
6
import { EventExclusionPlugin } from "./default/EventExclusionPlugin.js" ;
7
- import { ModuleInfoPlugin } from "./default/ModuleInfoPlugin.js" ;
8
7
import { RequestInfoPlugin } from "./default/RequestInfoPlugin.js" ;
9
8
import { SubmissionMethodPlugin } from "./default/SubmissionMethodPlugin.js" ;
10
9
import { EventPluginContext } from "./EventPluginContext.js" ;
@@ -63,7 +62,6 @@ export class EventPluginManager {
63
62
config . addPlugin ( new ErrorPlugin ( ) ) ;
64
63
config . addPlugin ( new DuplicateCheckerPlugin ( ) ) ;
65
64
config . addPlugin ( new EventExclusionPlugin ( ) ) ;
66
- config . addPlugin ( new ModuleInfoPlugin ( ) ) ;
67
65
config . addPlugin ( new RequestInfoPlugin ( ) ) ;
68
66
config . addPlugin ( new EnvironmentInfoPlugin ( ) ) ;
69
67
config . addPlugin ( new SubmissionMethodPlugin ( ) ) ;
Load Diff This file was deleted.
Load Diff This file was deleted.
You can’t perform that action at this time.
0 commit comments