@app-connect/core 0.0.3 → 1.6.4

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/jest.config.js CHANGED
@@ -1,57 +1,57 @@
1
- const path = require('path');
2
-
3
- module.exports = {
4
- // Test environment
5
- testEnvironment: 'node',
6
-
7
- // Test file patterns
8
- testMatch: [
9
- '<rootDir>/test/**/*.test.js',
10
- '<rootDir>/**/*.test.js'
11
- ],
12
-
13
- // Setup files
14
- setupFilesAfterEnv: [
15
- '<rootDir>/test/setup.js'
16
- ],
17
-
18
- // Coverage configuration
19
- collectCoverage: true,
20
- coverageDirectory: '<rootDir>/coverage',
21
- coverageReporters: ['text', 'lcov', 'html'],
22
- coveragePathIgnorePatterns: [
23
- '/node_modules/',
24
- '/test/',
25
- '/coverage/',
26
- 'jest.config.js',
27
- 'setup.js'
28
- ],
29
-
30
- // Module resolution
31
- moduleDirectories: ['node_modules', '<rootDir>'],
32
- moduleNameMapper: {
33
- '^@app-connect/core/(.*)$': '<rootDir>/$1'
34
- },
35
-
36
- // Test timeout
37
- testTimeout: 30000,
38
-
39
- // Reporters
40
- reporters: ['default'],
41
-
42
- // Ignore patterns
43
- modulePathIgnorePatterns: [
44
- '<rootDir>/node_modules/',
45
- '<rootDir>/coverage/',
46
- '<rootDir>/test-results/'
47
- ],
48
-
49
- // Clear mocks between tests
50
- clearMocks: true,
51
-
52
- // Restore mocks between tests
53
- restoreMocks: true,
54
-
55
- // Verbose output
56
- verbose: true
1
+ const path = require('path');
2
+
3
+ module.exports = {
4
+ // Test environment
5
+ testEnvironment: 'node',
6
+
7
+ // Test file patterns
8
+ testMatch: [
9
+ '<rootDir>/test/**/*.test.js',
10
+ '<rootDir>/**/*.test.js'
11
+ ],
12
+
13
+ // Setup files
14
+ setupFilesAfterEnv: [
15
+ '<rootDir>/test/setup.js'
16
+ ],
17
+
18
+ // Coverage configuration
19
+ collectCoverage: true,
20
+ coverageDirectory: '<rootDir>/coverage',
21
+ coverageReporters: ['text', 'lcov', 'html'],
22
+ coveragePathIgnorePatterns: [
23
+ '/node_modules/',
24
+ '/test/',
25
+ '/coverage/',
26
+ 'jest.config.js',
27
+ 'setup.js'
28
+ ],
29
+
30
+ // Module resolution
31
+ moduleDirectories: ['node_modules', '<rootDir>'],
32
+ moduleNameMapper: {
33
+ '^@app-connect/core/(.*)$': '<rootDir>/$1'
34
+ },
35
+
36
+ // Test timeout
37
+ testTimeout: 30000,
38
+
39
+ // Reporters
40
+ reporters: ['default'],
41
+
42
+ // Ignore patterns
43
+ modulePathIgnorePatterns: [
44
+ '<rootDir>/node_modules/',
45
+ '<rootDir>/coverage/',
46
+ '<rootDir>/test-results/'
47
+ ],
48
+
49
+ // Clear mocks between tests
50
+ clearMocks: true,
51
+
52
+ // Restore mocks between tests
53
+ restoreMocks: true,
54
+
55
+ // Verbose output
56
+ verbose: true
57
57
  };
package/lib/analytics.js CHANGED
@@ -1,53 +1,53 @@
1
- const Mixpanel = require('mixpanel');
2
- const parser = require('ua-parser-js');
3
- let packageJson = null;
4
- try {
5
- packageJson = require('../package.json');
6
- }
7
- catch (e) {
8
- packageJson = require('../../package.json');
9
- }
10
- const appName = 'App Connect';
11
- const defaultEventAddedVia = 'server';
12
- const version = packageJson.version;
13
- let mixpanel = null;
14
-
15
- exports.init = function init() {
16
- if (!process.env.MIXPANEL_TOKEN) {
17
- return;
18
- }
19
- mixpanel = Mixpanel.init(process.env.MIXPANEL_TOKEN);
20
- }
21
-
22
- exports.track = function track({ eventName, interfaceName, adapterName, accountId, extensionId, success, requestDuration, userAgent, ip, author, eventAddedVia, extras = null }) {
23
- if (!mixpanel || !extensionId) {
24
- return;
25
- }
26
- const inUseEventAddedVia = eventAddedVia || defaultEventAddedVia;
27
- mixpanel.people.set_once(extensionId, {
28
- version,
29
- appName,
30
- crmPlatform: adapterName
31
- });
32
- const ua = parser(userAgent);
33
- mixpanel.track(eventName, {
34
- distinct_id: extensionId,
35
- interfaceName,
36
- adapterName,
37
- rcAccountId: accountId,
38
- extensionId,
39
- success,
40
- requestDuration,
41
- collectedFrom: 'server',
42
- version,
43
- appName,
44
- eventAddedVia: inUseEventAddedVia,
45
- $browser: ua.browser.name,
46
- $os: ua.os.name,
47
- $device: ua.device.type,
48
- ip,
49
- author,
50
- ...extras
51
- });
52
- console.log(`Event: ${eventName}`);
1
+ const Mixpanel = require('mixpanel');
2
+ const parser = require('ua-parser-js');
3
+ let packageJson = null;
4
+ try {
5
+ packageJson = require('../package.json');
6
+ }
7
+ catch (e) {
8
+ packageJson = require('../../package.json');
9
+ }
10
+ const appName = 'App Connect';
11
+ const defaultEventAddedVia = 'server';
12
+ const version = packageJson.version;
13
+ let mixpanel = null;
14
+
15
+ exports.init = function init() {
16
+ if (!process.env.MIXPANEL_TOKEN) {
17
+ return;
18
+ }
19
+ mixpanel = Mixpanel.init(process.env.MIXPANEL_TOKEN);
20
+ }
21
+
22
+ exports.track = function track({ eventName, interfaceName, adapterName, accountId, extensionId, success, requestDuration, userAgent, ip, author, eventAddedVia, extras = null }) {
23
+ if (!mixpanel || !extensionId) {
24
+ return;
25
+ }
26
+ const inUseEventAddedVia = eventAddedVia || defaultEventAddedVia;
27
+ mixpanel.people.set_once(extensionId, {
28
+ version,
29
+ appName,
30
+ crmPlatform: adapterName
31
+ });
32
+ const ua = parser(userAgent);
33
+ mixpanel.track(eventName, {
34
+ distinct_id: extensionId,
35
+ interfaceName,
36
+ adapterName,
37
+ rcAccountId: accountId,
38
+ extensionId,
39
+ success,
40
+ requestDuration,
41
+ collectedFrom: 'server',
42
+ version,
43
+ appName,
44
+ eventAddedVia: inUseEventAddedVia,
45
+ $browser: ua.browser.name,
46
+ $os: ua.os.name,
47
+ $device: ua.device.type,
48
+ ip,
49
+ author,
50
+ ...extras
51
+ });
52
+ console.log(`Event: ${eventName}`);
53
53
  }