@tramvai/module-application-monitoring 7.29.0 → 7.30.0
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/lib/browser.js +53 -3
- package/lib/server.es.js +58 -4
- package/lib/server.js +56 -2
- package/package.json +5 -5
- package/lib/sharedProviders.browser.js +0 -71
- package/lib/sharedProviders.d.ts +0 -26
- package/lib/sharedProviders.es.js +0 -71
- package/lib/sharedProviders.js +0 -75
package/lib/browser.js
CHANGED
|
@@ -1,11 +1,61 @@
|
|
|
1
|
-
import { declareModule } from '@tramvai/core';
|
|
2
|
-
import {
|
|
1
|
+
import { declareModule, provide, commandLineListTokens, TRAMVAI_HOOKS_TOKEN } from '@tramvai/core';
|
|
2
|
+
import { LOGGER_TOKEN } from '@tramvai/module-common';
|
|
3
|
+
import { LOGGER_NAME } from './constants.browser.js';
|
|
3
4
|
export { INLINE_REPORTER_FACTORY_SCRIPT_TOKEN, INLINE_REPORTER_PARAMETERS_TOKEN } from './tokens.browser.js';
|
|
4
5
|
|
|
5
6
|
const ApplicationMonitoringModule = declareModule({
|
|
6
7
|
name: 'ApplicationMonitoringModule',
|
|
7
8
|
imports: [],
|
|
8
|
-
providers: [
|
|
9
|
+
providers: [
|
|
10
|
+
provide({
|
|
11
|
+
provide: commandLineListTokens.init,
|
|
12
|
+
useFactory: ({ logger, tramvaiHooks }) => {
|
|
13
|
+
const log = logger({
|
|
14
|
+
name: LOGGER_NAME,
|
|
15
|
+
});
|
|
16
|
+
return function applicationHealthSubscribe() {
|
|
17
|
+
let applicationRenderFinished = false;
|
|
18
|
+
tramvaiHooks['app:initialized'].tap('application-health', () => {
|
|
19
|
+
log.info({ event: 'app:initialized' });
|
|
20
|
+
});
|
|
21
|
+
tramvaiHooks['app:initialize-failed'].tap('application-health', () => {
|
|
22
|
+
log.info({ event: 'app:initialized-failed' });
|
|
23
|
+
});
|
|
24
|
+
tramvaiHooks['app:rendered'].tap('application-health', () => {
|
|
25
|
+
log.info({ event: 'app:rendered' });
|
|
26
|
+
});
|
|
27
|
+
tramvaiHooks['react:render'].tap('application-health', () => {
|
|
28
|
+
log.info({ event: 'react:render' });
|
|
29
|
+
if (!applicationRenderFinished) {
|
|
30
|
+
applicationRenderFinished = true;
|
|
31
|
+
tramvaiHooks['app:rendered'].call({});
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
tramvaiHooks['app:render-failed'].tap('application-health', (_, { error }) => {
|
|
35
|
+
log.error({ event: 'app:render-failed', error });
|
|
36
|
+
});
|
|
37
|
+
tramvaiHooks['react:error'].tap('application-health', (_, { event, error, errorInfo, otherErrors }) => {
|
|
38
|
+
log.error({ event: 'react:error', error, errorInfo, otherErrors });
|
|
39
|
+
switch (event) {
|
|
40
|
+
case 'page-error-boundary':
|
|
41
|
+
case 'hydrate:on-uncaught-error':
|
|
42
|
+
case 'hydrate:failed': {
|
|
43
|
+
if (!applicationRenderFinished) {
|
|
44
|
+
applicationRenderFinished = true;
|
|
45
|
+
tramvaiHooks['app:render-failed'].call({ error });
|
|
46
|
+
}
|
|
47
|
+
break;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
},
|
|
53
|
+
deps: {
|
|
54
|
+
logger: LOGGER_TOKEN,
|
|
55
|
+
tramvaiHooks: TRAMVAI_HOOKS_TOKEN,
|
|
56
|
+
},
|
|
57
|
+
}),
|
|
58
|
+
],
|
|
9
59
|
});
|
|
10
60
|
|
|
11
61
|
export { ApplicationMonitoringModule };
|
package/lib/server.es.js
CHANGED
|
@@ -1,18 +1,58 @@
|
|
|
1
|
-
import { declareModule, provide } from '@tramvai/core';
|
|
1
|
+
import { declareModule, provide, commandLineListTokens, TRAMVAI_HOOKS_TOKEN, APP_INFO_TOKEN } from '@tramvai/core';
|
|
2
2
|
import { RENDER_SLOTS, ResourceSlot, ResourceType } from '@tramvai/tokens-render';
|
|
3
|
-
import { LOGGER_TOKEN } from '@tramvai/module-common';
|
|
3
|
+
import { LOGGER_TOKEN, ENV_MANAGER_TOKEN } from '@tramvai/module-common';
|
|
4
4
|
import { INLINE_REPORTER_PARAMETERS_TOKEN, INLINE_REPORTER_FACTORY_SCRIPT_TOKEN } from './tokens.es.js';
|
|
5
5
|
export { INLINE_REPORTER_FACTORY_SCRIPT_TOKEN, INLINE_REPORTER_PARAMETERS_TOKEN } from './tokens.es.js';
|
|
6
|
+
import { LOGGER_NAME } from './constants.es.js';
|
|
6
7
|
import { appCreationMonitoringScript } from './inlineReporters/events/appCreationMonitoringScript.inline.es.js';
|
|
7
8
|
import { errorMonitoringScript } from './inlineReporters/events/errorMonitoringScript.inline.es.js';
|
|
8
9
|
import { htmlOpenedMonitoringScript } from './inlineReporters/events/htmlOpenedMonitoringScript.inline.es.js';
|
|
9
|
-
import { sharedProviders } from './sharedProviders.es.js';
|
|
10
10
|
|
|
11
11
|
const ApplicationMonitoringModule = declareModule({
|
|
12
12
|
name: 'ApplicationMonitoringModule',
|
|
13
13
|
imports: [],
|
|
14
14
|
providers: [
|
|
15
|
-
|
|
15
|
+
provide({
|
|
16
|
+
provide: commandLineListTokens.init,
|
|
17
|
+
useFactory: ({ logger, tramvaiHooks }) => {
|
|
18
|
+
const log = logger({
|
|
19
|
+
name: LOGGER_NAME,
|
|
20
|
+
});
|
|
21
|
+
return function applicationHealthSubscribe() {
|
|
22
|
+
tramvaiHooks['app:initialized'].tap('application-health', () => {
|
|
23
|
+
log.info({ event: 'app:initialized' });
|
|
24
|
+
});
|
|
25
|
+
tramvaiHooks['app:initialize-failed'].tap('application-health', () => {
|
|
26
|
+
log.info({ event: 'app:initialized-failed' });
|
|
27
|
+
});
|
|
28
|
+
tramvaiHooks['app:rendered'].tap('application-health', () => {
|
|
29
|
+
log.info({ event: 'app:rendered' });
|
|
30
|
+
});
|
|
31
|
+
tramvaiHooks['react:render'].tap('application-health', (_, payload) => {
|
|
32
|
+
log.info({ event: 'react:render' });
|
|
33
|
+
if (payload.event === 'ssr:on-all-ready') {
|
|
34
|
+
tramvaiHooks['app:rendered'].call({});
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
tramvaiHooks['app:render-failed'].tap('application-health', (_, { error }) => {
|
|
38
|
+
log.error({ event: 'app:render-failed', error });
|
|
39
|
+
});
|
|
40
|
+
tramvaiHooks['react:error'].tap('application-health', (_, { event, error, errorInfo, otherErrors }) => {
|
|
41
|
+
log.error({ event: 'react:error', error, errorInfo, otherErrors });
|
|
42
|
+
switch (event) {
|
|
43
|
+
case 'ssr:on-shell-error': {
|
|
44
|
+
tramvaiHooks['app:render-failed'].call({ error });
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
},
|
|
51
|
+
deps: {
|
|
52
|
+
logger: LOGGER_TOKEN,
|
|
53
|
+
tramvaiHooks: TRAMVAI_HOOKS_TOKEN,
|
|
54
|
+
},
|
|
55
|
+
}),
|
|
16
56
|
provide({
|
|
17
57
|
provide: RENDER_SLOTS,
|
|
18
58
|
multi: true,
|
|
@@ -37,6 +77,20 @@ const ApplicationMonitoringModule = declareModule({
|
|
|
37
77
|
},
|
|
38
78
|
},
|
|
39
79
|
}),
|
|
80
|
+
provide({
|
|
81
|
+
provide: INLINE_REPORTER_PARAMETERS_TOKEN,
|
|
82
|
+
useFactory: ({ appInfo, envManager }) => {
|
|
83
|
+
return {
|
|
84
|
+
appName: appInfo.appName,
|
|
85
|
+
appRelease: envManager.get('APP_RELEASE'),
|
|
86
|
+
appVersion: envManager.get('APP_VERSION'),
|
|
87
|
+
};
|
|
88
|
+
},
|
|
89
|
+
deps: {
|
|
90
|
+
envManager: ENV_MANAGER_TOKEN,
|
|
91
|
+
appInfo: APP_INFO_TOKEN,
|
|
92
|
+
},
|
|
93
|
+
}),
|
|
40
94
|
provide({
|
|
41
95
|
provide: RENDER_SLOTS,
|
|
42
96
|
multi: true,
|
package/lib/server.js
CHANGED
|
@@ -6,16 +6,56 @@ var core = require('@tramvai/core');
|
|
|
6
6
|
var tokensRender = require('@tramvai/tokens-render');
|
|
7
7
|
var moduleCommon = require('@tramvai/module-common');
|
|
8
8
|
var tokens = require('./tokens.js');
|
|
9
|
+
var constants = require('./constants.js');
|
|
9
10
|
var appCreationMonitoringScript_inline = require('./inlineReporters/events/appCreationMonitoringScript.inline.js');
|
|
10
11
|
var errorMonitoringScript_inline = require('./inlineReporters/events/errorMonitoringScript.inline.js');
|
|
11
12
|
var htmlOpenedMonitoringScript_inline = require('./inlineReporters/events/htmlOpenedMonitoringScript.inline.js');
|
|
12
|
-
var sharedProviders = require('./sharedProviders.js');
|
|
13
13
|
|
|
14
14
|
const ApplicationMonitoringModule = core.declareModule({
|
|
15
15
|
name: 'ApplicationMonitoringModule',
|
|
16
16
|
imports: [],
|
|
17
17
|
providers: [
|
|
18
|
-
|
|
18
|
+
core.provide({
|
|
19
|
+
provide: core.commandLineListTokens.init,
|
|
20
|
+
useFactory: ({ logger, tramvaiHooks }) => {
|
|
21
|
+
const log = logger({
|
|
22
|
+
name: constants.LOGGER_NAME,
|
|
23
|
+
});
|
|
24
|
+
return function applicationHealthSubscribe() {
|
|
25
|
+
tramvaiHooks['app:initialized'].tap('application-health', () => {
|
|
26
|
+
log.info({ event: 'app:initialized' });
|
|
27
|
+
});
|
|
28
|
+
tramvaiHooks['app:initialize-failed'].tap('application-health', () => {
|
|
29
|
+
log.info({ event: 'app:initialized-failed' });
|
|
30
|
+
});
|
|
31
|
+
tramvaiHooks['app:rendered'].tap('application-health', () => {
|
|
32
|
+
log.info({ event: 'app:rendered' });
|
|
33
|
+
});
|
|
34
|
+
tramvaiHooks['react:render'].tap('application-health', (_, payload) => {
|
|
35
|
+
log.info({ event: 'react:render' });
|
|
36
|
+
if (payload.event === 'ssr:on-all-ready') {
|
|
37
|
+
tramvaiHooks['app:rendered'].call({});
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
tramvaiHooks['app:render-failed'].tap('application-health', (_, { error }) => {
|
|
41
|
+
log.error({ event: 'app:render-failed', error });
|
|
42
|
+
});
|
|
43
|
+
tramvaiHooks['react:error'].tap('application-health', (_, { event, error, errorInfo, otherErrors }) => {
|
|
44
|
+
log.error({ event: 'react:error', error, errorInfo, otherErrors });
|
|
45
|
+
switch (event) {
|
|
46
|
+
case 'ssr:on-shell-error': {
|
|
47
|
+
tramvaiHooks['app:render-failed'].call({ error });
|
|
48
|
+
break;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
},
|
|
54
|
+
deps: {
|
|
55
|
+
logger: moduleCommon.LOGGER_TOKEN,
|
|
56
|
+
tramvaiHooks: core.TRAMVAI_HOOKS_TOKEN,
|
|
57
|
+
},
|
|
58
|
+
}),
|
|
19
59
|
core.provide({
|
|
20
60
|
provide: tokensRender.RENDER_SLOTS,
|
|
21
61
|
multi: true,
|
|
@@ -40,6 +80,20 @@ const ApplicationMonitoringModule = core.declareModule({
|
|
|
40
80
|
},
|
|
41
81
|
},
|
|
42
82
|
}),
|
|
83
|
+
core.provide({
|
|
84
|
+
provide: tokens.INLINE_REPORTER_PARAMETERS_TOKEN,
|
|
85
|
+
useFactory: ({ appInfo, envManager }) => {
|
|
86
|
+
return {
|
|
87
|
+
appName: appInfo.appName,
|
|
88
|
+
appRelease: envManager.get('APP_RELEASE'),
|
|
89
|
+
appVersion: envManager.get('APP_VERSION'),
|
|
90
|
+
};
|
|
91
|
+
},
|
|
92
|
+
deps: {
|
|
93
|
+
envManager: moduleCommon.ENV_MANAGER_TOKEN,
|
|
94
|
+
appInfo: core.APP_INFO_TOKEN,
|
|
95
|
+
},
|
|
96
|
+
}),
|
|
43
97
|
core.provide({
|
|
44
98
|
provide: tokensRender.RENDER_SLOTS,
|
|
45
99
|
multi: true,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tramvai/module-application-monitoring",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.30.0",
|
|
4
4
|
"description": "Модуль сбора и отправки событий мониторинга состояния приложения",
|
|
5
5
|
"browser": "lib/browser.js",
|
|
6
6
|
"main": "lib/server.js",
|
|
@@ -23,13 +23,13 @@
|
|
|
23
23
|
"registry": "https://registry.npmjs.org/"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@tramvai/module-common": "7.
|
|
27
|
-
"@tramvai/tokens-render": "7.
|
|
26
|
+
"@tramvai/module-common": "7.30.0",
|
|
27
|
+
"@tramvai/tokens-render": "7.30.0"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
30
30
|
"@tinkoff/dippy": "^1.0.0",
|
|
31
|
-
"@tramvai/core": "7.
|
|
32
|
-
"@tramvai/react": "7.
|
|
31
|
+
"@tramvai/core": "7.30.0",
|
|
32
|
+
"@tramvai/react": "7.30.0",
|
|
33
33
|
"tslib": "^2.4.0"
|
|
34
34
|
}
|
|
35
35
|
}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { LOGGER_TOKEN, ENV_MANAGER_TOKEN } from '@tramvai/module-common';
|
|
2
|
-
import { provide, commandLineListTokens, TRAMVAI_HOOKS_TOKEN, APP_INFO_TOKEN } from '@tramvai/core';
|
|
3
|
-
import { INLINE_REPORTER_PARAMETERS_TOKEN } from './tokens.browser.js';
|
|
4
|
-
import { LOGGER_NAME } from './constants.browser.js';
|
|
5
|
-
|
|
6
|
-
const sharedProviders = [
|
|
7
|
-
provide({
|
|
8
|
-
provide: commandLineListTokens.init,
|
|
9
|
-
useFactory: ({ logger, tramvaiHooks }) => {
|
|
10
|
-
const log = logger({
|
|
11
|
-
name: LOGGER_NAME,
|
|
12
|
-
});
|
|
13
|
-
return function applicationHealthSubscribe() {
|
|
14
|
-
let applicationRenderFinished = false;
|
|
15
|
-
tramvaiHooks['app:initialized'].tap('application-health', () => {
|
|
16
|
-
log.info({ event: 'app:initialized' });
|
|
17
|
-
});
|
|
18
|
-
tramvaiHooks['app:initialize-failed'].tap('application-health', () => {
|
|
19
|
-
log.info({ event: 'app:initialized-failed' });
|
|
20
|
-
});
|
|
21
|
-
tramvaiHooks['app:rendered'].tap('application-health', () => {
|
|
22
|
-
log.info({ event: 'app:rendered' });
|
|
23
|
-
});
|
|
24
|
-
tramvaiHooks['react:render'].tap('application-health', () => {
|
|
25
|
-
log.info({ event: 'react:render' });
|
|
26
|
-
if (!applicationRenderFinished) {
|
|
27
|
-
applicationRenderFinished = true;
|
|
28
|
-
tramvaiHooks['app:rendered'].call({});
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
tramvaiHooks['app:render-failed'].tap('application-health', (_, { error }) => {
|
|
32
|
-
log.error({ event: 'app:render-failed', error });
|
|
33
|
-
});
|
|
34
|
-
tramvaiHooks['react:error'].tap('application-health', (_, { event, error, errorInfo, otherErrors }) => {
|
|
35
|
-
log.error({ event: 'react:error', error, errorInfo, otherErrors });
|
|
36
|
-
switch (event) {
|
|
37
|
-
case 'page-error-boundary':
|
|
38
|
-
case 'hydrate:on-uncaught-error':
|
|
39
|
-
case 'hydrate:failed': {
|
|
40
|
-
if (!applicationRenderFinished) {
|
|
41
|
-
applicationRenderFinished = true;
|
|
42
|
-
tramvaiHooks['app:render-failed'].call({ error });
|
|
43
|
-
}
|
|
44
|
-
break;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
};
|
|
49
|
-
},
|
|
50
|
-
deps: {
|
|
51
|
-
logger: LOGGER_TOKEN,
|
|
52
|
-
tramvaiHooks: TRAMVAI_HOOKS_TOKEN,
|
|
53
|
-
},
|
|
54
|
-
}),
|
|
55
|
-
provide({
|
|
56
|
-
provide: INLINE_REPORTER_PARAMETERS_TOKEN,
|
|
57
|
-
useFactory: ({ appInfo, envManager }) => {
|
|
58
|
-
return {
|
|
59
|
-
appName: appInfo.appName,
|
|
60
|
-
appRelease: envManager.get('APP_RELEASE'),
|
|
61
|
-
appVersion: envManager.get('APP_VERSION'),
|
|
62
|
-
};
|
|
63
|
-
},
|
|
64
|
-
deps: {
|
|
65
|
-
envManager: ENV_MANAGER_TOKEN,
|
|
66
|
-
appInfo: APP_INFO_TOKEN,
|
|
67
|
-
},
|
|
68
|
-
}),
|
|
69
|
-
];
|
|
70
|
-
|
|
71
|
-
export { sharedProviders };
|
package/lib/sharedProviders.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
export declare const sharedProviders: (import("@tramvai/core").Provider<{
|
|
2
|
-
logger: import("@tramvai/module-common").Logger & ((configOrName: string | {
|
|
3
|
-
[key: string]: any;
|
|
4
|
-
name: string;
|
|
5
|
-
}) => import("@tramvai/module-common").Logger) & {
|
|
6
|
-
__type?: "base token" | undefined;
|
|
7
|
-
};
|
|
8
|
-
tramvaiHooks: import("@tramvai/core").TramvaiHooks & {
|
|
9
|
-
__type?: "base token" | undefined;
|
|
10
|
-
};
|
|
11
|
-
}, import("@tramvai/core").Command & {
|
|
12
|
-
__type?: "multi token" | undefined;
|
|
13
|
-
}> | import("@tramvai/core").Provider<{
|
|
14
|
-
envManager: import("@tramvai/module-common").EnvironmentManager & {
|
|
15
|
-
__type?: "base token" | undefined;
|
|
16
|
-
};
|
|
17
|
-
appInfo: {
|
|
18
|
-
[key: string]: string;
|
|
19
|
-
appName: string;
|
|
20
|
-
} & {
|
|
21
|
-
__type?: "base token" | undefined;
|
|
22
|
-
};
|
|
23
|
-
}, import("./types").InlineReporterParameters & {
|
|
24
|
-
__type?: "base token" | undefined;
|
|
25
|
-
}>)[];
|
|
26
|
-
//# sourceMappingURL=sharedProviders.d.ts.map
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { LOGGER_TOKEN, ENV_MANAGER_TOKEN } from '@tramvai/module-common';
|
|
2
|
-
import { provide, commandLineListTokens, TRAMVAI_HOOKS_TOKEN, APP_INFO_TOKEN } from '@tramvai/core';
|
|
3
|
-
import { INLINE_REPORTER_PARAMETERS_TOKEN } from './tokens.es.js';
|
|
4
|
-
import { LOGGER_NAME } from './constants.es.js';
|
|
5
|
-
|
|
6
|
-
const sharedProviders = [
|
|
7
|
-
provide({
|
|
8
|
-
provide: commandLineListTokens.init,
|
|
9
|
-
useFactory: ({ logger, tramvaiHooks }) => {
|
|
10
|
-
const log = logger({
|
|
11
|
-
name: LOGGER_NAME,
|
|
12
|
-
});
|
|
13
|
-
return function applicationHealthSubscribe() {
|
|
14
|
-
let applicationRenderFinished = false;
|
|
15
|
-
tramvaiHooks['app:initialized'].tap('application-health', () => {
|
|
16
|
-
log.info({ event: 'app:initialized' });
|
|
17
|
-
});
|
|
18
|
-
tramvaiHooks['app:initialize-failed'].tap('application-health', () => {
|
|
19
|
-
log.info({ event: 'app:initialized-failed' });
|
|
20
|
-
});
|
|
21
|
-
tramvaiHooks['app:rendered'].tap('application-health', () => {
|
|
22
|
-
log.info({ event: 'app:rendered' });
|
|
23
|
-
});
|
|
24
|
-
tramvaiHooks['react:render'].tap('application-health', () => {
|
|
25
|
-
log.info({ event: 'react:render' });
|
|
26
|
-
if (!applicationRenderFinished) {
|
|
27
|
-
applicationRenderFinished = true;
|
|
28
|
-
tramvaiHooks['app:rendered'].call({});
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
tramvaiHooks['app:render-failed'].tap('application-health', (_, { error }) => {
|
|
32
|
-
log.error({ event: 'app:render-failed', error });
|
|
33
|
-
});
|
|
34
|
-
tramvaiHooks['react:error'].tap('application-health', (_, { event, error, errorInfo, otherErrors }) => {
|
|
35
|
-
log.error({ event: 'react:error', error, errorInfo, otherErrors });
|
|
36
|
-
switch (event) {
|
|
37
|
-
case 'page-error-boundary':
|
|
38
|
-
case 'hydrate:on-uncaught-error':
|
|
39
|
-
case 'hydrate:failed': {
|
|
40
|
-
if (!applicationRenderFinished) {
|
|
41
|
-
applicationRenderFinished = true;
|
|
42
|
-
tramvaiHooks['app:render-failed'].call({ error });
|
|
43
|
-
}
|
|
44
|
-
break;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
};
|
|
49
|
-
},
|
|
50
|
-
deps: {
|
|
51
|
-
logger: LOGGER_TOKEN,
|
|
52
|
-
tramvaiHooks: TRAMVAI_HOOKS_TOKEN,
|
|
53
|
-
},
|
|
54
|
-
}),
|
|
55
|
-
provide({
|
|
56
|
-
provide: INLINE_REPORTER_PARAMETERS_TOKEN,
|
|
57
|
-
useFactory: ({ appInfo, envManager }) => {
|
|
58
|
-
return {
|
|
59
|
-
appName: appInfo.appName,
|
|
60
|
-
appRelease: envManager.get('APP_RELEASE'),
|
|
61
|
-
appVersion: envManager.get('APP_VERSION'),
|
|
62
|
-
};
|
|
63
|
-
},
|
|
64
|
-
deps: {
|
|
65
|
-
envManager: ENV_MANAGER_TOKEN,
|
|
66
|
-
appInfo: APP_INFO_TOKEN,
|
|
67
|
-
},
|
|
68
|
-
}),
|
|
69
|
-
];
|
|
70
|
-
|
|
71
|
-
export { sharedProviders };
|
package/lib/sharedProviders.js
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var moduleCommon = require('@tramvai/module-common');
|
|
6
|
-
var core = require('@tramvai/core');
|
|
7
|
-
var tokens = require('./tokens.js');
|
|
8
|
-
var constants = require('./constants.js');
|
|
9
|
-
|
|
10
|
-
const sharedProviders = [
|
|
11
|
-
core.provide({
|
|
12
|
-
provide: core.commandLineListTokens.init,
|
|
13
|
-
useFactory: ({ logger, tramvaiHooks }) => {
|
|
14
|
-
const log = logger({
|
|
15
|
-
name: constants.LOGGER_NAME,
|
|
16
|
-
});
|
|
17
|
-
return function applicationHealthSubscribe() {
|
|
18
|
-
let applicationRenderFinished = false;
|
|
19
|
-
tramvaiHooks['app:initialized'].tap('application-health', () => {
|
|
20
|
-
log.info({ event: 'app:initialized' });
|
|
21
|
-
});
|
|
22
|
-
tramvaiHooks['app:initialize-failed'].tap('application-health', () => {
|
|
23
|
-
log.info({ event: 'app:initialized-failed' });
|
|
24
|
-
});
|
|
25
|
-
tramvaiHooks['app:rendered'].tap('application-health', () => {
|
|
26
|
-
log.info({ event: 'app:rendered' });
|
|
27
|
-
});
|
|
28
|
-
tramvaiHooks['react:render'].tap('application-health', () => {
|
|
29
|
-
log.info({ event: 'react:render' });
|
|
30
|
-
if (!applicationRenderFinished) {
|
|
31
|
-
applicationRenderFinished = true;
|
|
32
|
-
tramvaiHooks['app:rendered'].call({});
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
tramvaiHooks['app:render-failed'].tap('application-health', (_, { error }) => {
|
|
36
|
-
log.error({ event: 'app:render-failed', error });
|
|
37
|
-
});
|
|
38
|
-
tramvaiHooks['react:error'].tap('application-health', (_, { event, error, errorInfo, otherErrors }) => {
|
|
39
|
-
log.error({ event: 'react:error', error, errorInfo, otherErrors });
|
|
40
|
-
switch (event) {
|
|
41
|
-
case 'page-error-boundary':
|
|
42
|
-
case 'hydrate:on-uncaught-error':
|
|
43
|
-
case 'hydrate:failed': {
|
|
44
|
-
if (!applicationRenderFinished) {
|
|
45
|
-
applicationRenderFinished = true;
|
|
46
|
-
tramvaiHooks['app:render-failed'].call({ error });
|
|
47
|
-
}
|
|
48
|
-
break;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
};
|
|
53
|
-
},
|
|
54
|
-
deps: {
|
|
55
|
-
logger: moduleCommon.LOGGER_TOKEN,
|
|
56
|
-
tramvaiHooks: core.TRAMVAI_HOOKS_TOKEN,
|
|
57
|
-
},
|
|
58
|
-
}),
|
|
59
|
-
core.provide({
|
|
60
|
-
provide: tokens.INLINE_REPORTER_PARAMETERS_TOKEN,
|
|
61
|
-
useFactory: ({ appInfo, envManager }) => {
|
|
62
|
-
return {
|
|
63
|
-
appName: appInfo.appName,
|
|
64
|
-
appRelease: envManager.get('APP_RELEASE'),
|
|
65
|
-
appVersion: envManager.get('APP_VERSION'),
|
|
66
|
-
};
|
|
67
|
-
},
|
|
68
|
-
deps: {
|
|
69
|
-
envManager: moduleCommon.ENV_MANAGER_TOKEN,
|
|
70
|
-
appInfo: core.APP_INFO_TOKEN,
|
|
71
|
-
},
|
|
72
|
-
}),
|
|
73
|
-
];
|
|
74
|
-
|
|
75
|
-
exports.sharedProviders = sharedProviders;
|