@mhubcloud/tms_core 1.7.5 → 2.0.0-beta.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.
Files changed (42) hide show
  1. package/.eslintignore +3 -0
  2. package/.eslintrc.cjs +87 -0
  3. package/.prettierignore +3 -0
  4. package/.prettierrc +10 -0
  5. package/.vscode/extensions.json +12 -0
  6. package/.vscode/settings.json +52 -0
  7. package/index.js +3 -1
  8. package/{lib → js/lib}/defaultPublisher.js +26 -24
  9. package/js/lib/utils.js +349 -0
  10. package/js/publishers/AffiliatePort.js +78 -0
  11. package/{publishers → js/publishers}/CJ.js +7 -5
  12. package/{publishers → js/publishers}/Facebook.js +6 -4
  13. package/{publishers → js/publishers}/GoogleAnalytics4.js +8 -6
  14. package/js/publishers/HttpPublisher.js +64 -0
  15. package/{publishers → js/publishers}/Piano.js +6 -4
  16. package/{publishers → js/publishers}/UniversalAnalytics.js +7 -5
  17. package/package.json +46 -29
  18. package/releasePlan.md +3 -0
  19. package/src/defaultPublisher.ts +132 -0
  20. package/src/index.ts +25 -0
  21. package/src/publishers/affiliatePort.ts +69 -0
  22. package/src/publishers/cj.ts +67 -0
  23. package/src/publishers/facebook.ts +49 -0
  24. package/src/publishers/googleAnalytics4.ts +60 -0
  25. package/src/publishers/piano.ts +71 -0
  26. package/src/publishers/universalAnalytics.ts +63 -0
  27. package/src/types/EventHubMessage.ts +8 -0
  28. package/src/types/EventPublisher.ts +9 -0
  29. package/src/types/PlatformPublisher.ts +19 -0
  30. package/src/types/UtilTypes.ts +1 -0
  31. package/src/types/global.d.ts +3 -0
  32. package/src/utils/utils.ts +358 -0
  33. package/tests/AffiliatePort.js +138 -0
  34. package/tests/CJ.js +144 -119
  35. package/tests/Facebook.js +124 -103
  36. package/tests/GoogleAnalytics4.js +82 -74
  37. package/tests/Piano.js +112 -99
  38. package/tests/UniversalAnalytics.js +90 -77
  39. package/tests/testUtils.js +7 -0
  40. package/tsconfig.eslint.json +43 -0
  41. package/tsconfig.json +26 -0
  42. package/lib/utils.js +0 -307
@@ -1,91 +1,99 @@
1
- const publisher = require("../index.js").publisher.GoogleAnalytics4;
2
- const defaultPublisher = require("../index.js").DefaultPublisher;
3
- const utils = require("../index.js").utils;
1
+ const publisher = require('../dist/index.js').publisher.GoogleAnalytics4;
2
+ const defaultPublisher = require('../dist/index.js').DefaultPublisher;
3
+ const utils = require('../dist/index.js').utils;
4
4
  var assert = require('assert');
5
+ const testUtils = require('./testUtils');
5
6
 
6
7
  describe('test GoogleAnalytics4 publisher', function () {
7
- it('purchase', async function () {
8
- var eventHubMessages = [
9
- {
10
- "currencyCode": "CZK",
11
- "event": {
12
- "region": "MAIN",
13
- "id": "115169112-4870.1657003407533",
14
- "code": "pageview"
15
- },
16
- "session": {
17
- "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36",
18
- "ip": "89.177.126.237",
19
- "referrer": "https://crossmasters.com/"
20
- },
21
- "referrer": "https://crossmasters.com/",
22
- "permissions": [],
23
- "identity": {
24
- "piano": {
25
- "id": "1657003393413.319297501"
26
- }
27
- },
28
- "publisher": {
29
- "code": "mhubcloud.com",
30
- "tm": "GTM-N7K9L4X",
31
- "tmv": "494"
32
- },
33
- "$schema": "/mhub/purchase",
34
- "id": "20162351",
35
- "revenue": 440,
36
- "products": [
37
- {
38
- "id": "Car",
39
- "price": 440,
40
- "quantity": 1
41
- }
42
- ],
43
- "enqueuedAt": 1657003409370,
44
- "ads": []
45
- }
46
- ];
47
- await test(eventHubMessages);
48
- });
49
- })
8
+ it('purchase', async function () {
9
+ var eventHubMessages = [
10
+ {
11
+ currencyCode: 'CZK',
12
+ event: {
13
+ region: 'MAIN',
14
+ id: '115169112-4870.1657003407533',
15
+ code: 'pageview',
16
+ },
17
+ session: {
18
+ userAgent:
19
+ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36',
20
+ ip: '89.177.126.237',
21
+ referrer: 'https://crossmasters.com/',
22
+ },
23
+ referrer: 'https://crossmasters.com/',
24
+ permissions: [],
25
+ identity: {
26
+ piano: {
27
+ id: '1657003393413.319297501',
28
+ },
29
+ },
30
+ publisher: {
31
+ code: 'mhubcloud.com',
32
+ tm: 'GTM-N7K9L4X',
33
+ tmv: '494',
34
+ },
35
+ $schema: '/mhub/purchase',
36
+ id: '20162351',
37
+ revenue: 440,
38
+ products: [
39
+ {
40
+ id: 'Car',
41
+ price: 440,
42
+ quantity: 1,
43
+ },
44
+ ],
45
+ enqueuedAt: 1657003409370,
46
+ ads: [],
47
+ },
48
+ ];
49
+ await test(eventHubMessages);
50
+ });
51
+ });
50
52
 
51
53
  /**
52
54
  * Test function
53
55
  * @param [object] object obsahující nastavení testovací parametry
54
56
  */
55
57
  async function test(eventHubMessages) {
56
- await defaultPublisher(console, eventHubMessages, "GoogleAnalytics4", publisher, trigger);
58
+ await defaultPublisher(
59
+ testUtils.context,
60
+ eventHubMessages,
61
+ 'GoogleAnalytics4',
62
+ publisher,
63
+ trigger,
64
+ );
57
65
  }
58
66
 
59
67
  function trigger(data) {
60
- const publishers = [];
61
- const config = {trackingId: "G-xxxxxxxxxxx"};
68
+ const publishers = [];
69
+ const config = { trackingId: 'G-289495622' };
62
70
 
63
- if (data.event?.code === "pageview") {
64
- const publisher = GAPageviewPublisher;
65
- publisher.register(publishers, config);
66
- }
71
+ if (data.event?.code === 'pageview') {
72
+ const publisher = GAPageviewPublisher;
73
+ publisher.register(publishers, config);
74
+ }
67
75
 
68
- return publishers;
69
- };
76
+ return publishers;
77
+ }
70
78
 
71
79
  class GAPageviewPublisher extends utils.EventPublisherBase {
72
- /**
73
- * Maps `pageview` event data to GA payload
74
- */
75
- map(data) {
76
- return {
77
- //mandatory for all events
78
- cid: "456", //client id
79
- en: "eventMhubCloud",//event name
80
-
81
- //mandatory for pageview
82
- dl: "/", //URL
80
+ /**
81
+ * Maps `pageview` event data to GA payload
82
+ */
83
+ map(data) {
84
+ return {
85
+ // mandatory for all events
86
+ cid: '456', // client id
87
+ en: 'eventMhubCloud', // event name
88
+
89
+ // mandatory for pageview
90
+ dl: '/', // URL
83
91
 
84
- //optional
85
- //ul : "en-us",
86
- //sr: "1536x864", //screan resolution
87
- //dr: "ccc", //refferer
88
- //dt: "xx" //page title
89
- };
90
- }
91
- };
92
+ // optional
93
+ // ul : "en-us",
94
+ // sr: "1536x864", //screan resolution
95
+ // dr: "ccc", //refferer
96
+ // dt: "xx" //page title
97
+ };
98
+ }
99
+ }
package/tests/Piano.js CHANGED
@@ -1,114 +1,127 @@
1
- const publisher = require("../index.js").publisher.Piano;
2
- const defaultPublisher = require("../index.js").DefaultPublisher;
3
- const utils = require("../index.js").utils;
1
+ const publisher = require('../dist/index.js').publisher.Piano;
2
+ const defaultPublisher = require('../dist/index.js').DefaultPublisher;
3
+ const utils = require('../dist/index.js').utils;
4
4
  var assert = require('assert');
5
+ const testUtils = require('./testUtils');
5
6
 
6
7
  describe('test Piano publisher', function () {
7
- it('purchase', async function () {
8
- var eventHubMessages = [
9
- {
10
- "currencyCode": "CZK",
11
- "event": {
12
- "region": "MAIN",
13
- "id": "115169112-4870.1657003407533",
14
- "code": "purchase"
15
- },
16
- "session": {
17
- "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36",
18
- "ip": "89.177.126.237",
19
- "referrer": "https://crossmasters.com/"
20
- },
21
- "referrer": "https://crossmasters.com/",
22
- "permissions": [],
23
- "identity": {
24
- "piano": {
25
- "id": "1657003393413.319297501"
26
- }
27
- },
28
- "publisher": {
29
- "code": "mhubcloud.com",
30
- "tm": "GTM-N7K9L4X",
31
- "tmv": "494"
32
- },
33
- "$schema": "/mhub/purchase",
34
- "id": "20162351",
35
- "revenue": 440,
36
- "products": [
37
- {
38
- "id": "Car",
39
- "price": 440,
40
- "quantity": 1
41
- }
42
- ],
43
- "enqueuedAt": 1657003409370,
44
- "ads": []
45
- }
46
- ];
47
- await test(eventHubMessages);
48
- });
49
- })
8
+ it('purchase', async function () {
9
+ var eventHubMessages = [
10
+ {
11
+ currencyCode: 'CZK',
12
+ event: {
13
+ region: 'MAIN',
14
+ id: '115169112-4870.1657003407533',
15
+ code: 'purchase',
16
+ },
17
+ session: {
18
+ userAgent:
19
+ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36',
20
+ ip: '89.177.126.237',
21
+ referrer: 'https://crossmasters.com/',
22
+ },
23
+ referrer: 'https://crossmasters.com/',
24
+ permissions: [],
25
+ identity: {
26
+ piano: {
27
+ id: '1657003393413.319297501',
28
+ },
29
+ },
30
+ publisher: {
31
+ code: 'mhubcloud.com',
32
+ tm: 'GTM-N7K9L4X',
33
+ tmv: '494',
34
+ },
35
+ $schema: '/mhub/purchase',
36
+ id: '20162351',
37
+ revenue: 440,
38
+ products: [
39
+ {
40
+ id: 'Car',
41
+ price: 440,
42
+ quantity: 1,
43
+ },
44
+ ],
45
+ enqueuedAt: 1657003409370,
46
+ ads: [],
47
+ },
48
+ ];
49
+ await test(eventHubMessages);
50
+ });
51
+ });
50
52
 
51
53
  /**
52
54
  * Test function
53
55
  * @param [object] object obsahující nastavení testovací parametry
54
56
  */
55
57
  async function test(eventHubMessages) {
56
- try{
57
- await defaultPublisher(console, eventHubMessages, "Piano", publisher, trigger);
58
- }catch(err){
59
- assert.equal(err.toString(), "FetchError: request to https://xxxxx.xiti.com/?s=12345&idclient=1657003393413.319297501&ref=https://crossmasters.com/ failed, reason: getaddrinfo ENOTFOUND xxxxx.xiti.com");
60
- }
58
+ try {
59
+ await defaultPublisher(
60
+ testUtils.context,
61
+ eventHubMessages,
62
+ 'Piano',
63
+ publisher,
64
+ trigger,
65
+ );
66
+ } catch (err) {
67
+ assert.equal(
68
+ err.toString(),
69
+ 'FetchError: request to https://xxxxx.xiti.com/?s=12345&idclient=1657003393413.319297501&ref=https://crossmasters.com/ failed, reason: getaddrinfo ENOTFOUND xxxxx.xiti.com',
70
+ );
71
+ }
61
72
  }
62
73
 
63
74
  function trigger(data) {
64
- const publishers = [];
65
- const config = {
66
- collectionDomain: "xxxxx.xiti.com", //Secured collection domain
67
- siteId: "12345" //site-id
68
- }
69
-
70
- if (data.event.code === "purchase") {
71
- const publisher = PianoPurchasePublisher;
72
- publisher.register(publishers, config);
73
- }
74
- return publishers;
75
- };
75
+ const publishers = [];
76
+ const config = {
77
+ collectionDomain: 'xxxxx.xiti.com', // Secured collection domain
78
+ siteId: '12345', // site-id
79
+ };
80
+
81
+ if (data.event.code === 'purchase') {
82
+ const publisher = PianoPurchasePublisher;
83
+ publisher.register(publishers, config);
84
+ }
85
+ return publishers;
86
+ }
76
87
 
77
88
  class PianoPurchasePublisher extends utils.EventPublisherBase {
78
- /**
79
- * Converts input data to publishing payload data understood by the publisher
80
- * @param {Object} data `purchase` event data
81
- * @returns {Object} Data mapped from incomming Event Hub message to platform payload
82
- */
83
- map(data) {
84
- return {
85
- pianoData: { //This willbe sent to Piano as payload
86
- events: [
87
- {
88
- name: "purchase",
89
- data: {
90
- event_collection_platform: "api",
91
- event_collection_version: 2,
92
- event_time_ts: Math.floor(data.enqueuedAt / 1000), // convert to seconds
93
- event_id: data.id,
94
- event_source_url: data.location
95
- //https://developers.atinternet-solutions.com/piano-analytics-tagging-en/event-tagging-piano-analytics-en/events-pattern-en/#common-contextual-properties_9
96
- //Any properties can go here (name must be [a-z][a-z_0-9]+; prohibited names m_…, visit_…, events)
97
- //There are some specifically understood properties
98
- //Type of property if not obvious from JSON can be forcec by prefix: 's:' string, 'n:' integer, 'f:' float, 'd:' date, 'b:' boolean, 'a:s:' array of strings, 'a:n:' array of integers, 'a:f:' array of floats
99
- //or by suffix '_date', '_utc', '_ts' date in RFC 3339 format (YYYY-MM-DDTHH:mm:ssZ); '_timestamp' - timestamp in seconds
100
- }
101
- }
102
- ]
89
+ /**
90
+ * Converts input data to publishing payload data understood by the publisher
91
+ * @param {Object} data `purchase` event data
92
+ * @returns {Object} Data mapped from incomming Event Hub message to platform payload
93
+ */
94
+ map(data) {
95
+ return {
96
+ pianoData: {
97
+ // This willbe sent to Piano as payload
98
+ events: [
99
+ {
100
+ name: 'purchase',
101
+ data: {
102
+ event_collection_platform: 'api',
103
+ event_collection_version: 2,
104
+ event_time_ts: Math.floor(data.enqueuedAt / 1000), // convert to seconds
105
+ event_id: data.id,
106
+ event_source_url: data.location,
107
+ // https://developers.atinternet-solutions.com/piano-analytics-tagging-en/event-tagging-piano-analytics-en/events-pattern-en/#common-contextual-properties_9
108
+ // Any properties can go here (name must be [a-z][a-z_0-9]+; prohibited names m_…, visit_…, events)
109
+ // There are some specifically understood properties
110
+ // Type of property if not obvious from JSON can be forcec by prefix: 's:' string, 'n:' integer, 'f:' float, 'd:' date, 'b:' boolean, 'a:s:' array of strings, 'a:n:' array of integers, 'a:f:' array of floats
111
+ // or by suffix '_date', '_utc', '_ts' date in RFC 3339 format (YYYY-MM-DDTHH:mm:ssZ); '_timestamp' - timestamp in seconds
103
112
  },
104
- aux: { //Additional data understood by Piano publisher and passed specificaly (in headers and query string)
105
- visitorId: data.identity?.piano?.id, //Mandatory idclient=<visitor-id>
106
- ref: data.referrer, //Mandatory ref=<previous-url>
107
- //Optional:
108
- userAgent: data.session?.userAgent,
109
- referer: data.session?.referrer,
110
- forwardedFor: data.session?.ip,
111
- }
112
- };
113
- }
114
- };
113
+ },
114
+ ],
115
+ },
116
+ aux: {
117
+ // Additional data understood by Piano publisher and passed specificaly (in headers and query string)
118
+ visitorId: data.identity?.piano?.id, // Mandatory idclient=<visitor-id>
119
+ ref: data.referrer, // Mandatory ref=<previous-url>
120
+ // Optional:
121
+ userAgent: data.session?.userAgent,
122
+ referer: data.session?.referrer,
123
+ forwardedFor: data.session?.ip,
124
+ },
125
+ };
126
+ }
127
+ }
@@ -1,94 +1,107 @@
1
- const publisher = require("../index.js").publisher.UniversalAnalytics;
2
- const defaultPublisher = require("../index.js").DefaultPublisher;
3
- const utils = require("../index.js").utils;
1
+ const publisher = require('../dist/index.js').publisher.UniversalAnalytics;
2
+ const defaultPublisher = require('../dist/index.js').DefaultPublisher;
3
+ const utils = require('../dist/index.js').utils;
4
4
  var assert = require('assert');
5
+ const testUtils = require('./testUtils');
5
6
 
6
7
  describe('test UniversalAnalytics publisher', function () {
7
- it('pageview', async function () {
8
- var eventHubMessages = [
9
- {
10
- "currencyCode": "CZK",
11
- "event": {
12
- "region": "MAIN",
13
- "id": "115169112-4870.1657003407533",
14
- "code": "pageview"
15
- },
16
- "session": {
17
- "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36",
18
- "ip": "89.177.126.237",
19
- "referrer": "https://crossmasters.com/"
20
- },
21
- "referrer": "https://crossmasters.com/",
22
- "permissions": [],
23
- "identity": {
24
- "piano": {
25
- "id": "1657003393413.319297501"
26
- }
27
- },
28
- "publisher": {
29
- "code": "mhubcloud.com",
30
- "tm": "GTM-N7K9L4X",
31
- "tmv": "494"
32
- },
33
- "$schema": "/mhub/pageview",
34
- "enqueuedAt": 1657003409370,
35
- "ads": []
36
- }
37
- ];
38
- await test(eventHubMessages);
39
- });
40
- })
8
+ it('pageview', async function () {
9
+ var eventHubMessages = [
10
+ {
11
+ currencyCode: 'CZK',
12
+ event: {
13
+ region: 'MAIN',
14
+ id: '115169112-4870.1657003407533',
15
+ code: 'pageview',
16
+ },
17
+ session: {
18
+ userAgent:
19
+ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36',
20
+ ip: '89.177.126.237',
21
+ referrer: 'https://crossmasters.com/',
22
+ },
23
+ referrer: 'https://crossmasters.com/',
24
+ permissions: [],
25
+ identity: {
26
+ piano: {
27
+ id: '1657003393413.319297501',
28
+ },
29
+ },
30
+ publisher: {
31
+ code: 'mhubcloud.com',
32
+ tm: 'GTM-N7K9L4X',
33
+ tmv: '494',
34
+ },
35
+ $schema: '/mhub/pageview',
36
+ enqueuedAt: 1657003409370,
37
+ ads: [],
38
+ },
39
+ ];
40
+ await test(eventHubMessages);
41
+ });
42
+ });
41
43
 
42
44
  /**
43
45
  * Test function
44
46
  * @param [object] object obsahující nastavení testovací parametry
45
47
  */
46
48
  async function test(eventHubMessages) {
47
- await defaultPublisher(console, eventHubMessages, "UniversalAnalytics", publisher, trigger);
49
+ await defaultPublisher(
50
+ testUtils.context,
51
+ eventHubMessages,
52
+ 'UniversalAnalytics',
53
+ publisher,
54
+ trigger,
55
+ );
48
56
  }
49
57
 
50
58
  function trigger(data) {
51
- const publishers = [];
52
- const config = {trackingId: "UA-xxxxxxx-yy"};
59
+ const publishers = [];
60
+ const config = { trackingId: 'UA-xxxxxxx-yy' };
53
61
 
54
- if (data.event?.code === "pageview") {
55
- const publisher = GAPageviewPublisher;
56
- publisher.register(publishers, config);
57
- }
62
+ if (data.event?.code === 'pageview') {
63
+ const publisher = GAPageviewPublisher;
64
+ publisher.register(publishers, config);
65
+ }
58
66
 
59
- return publishers;
60
- };
67
+ return publishers;
68
+ }
61
69
 
62
70
  class GAPageviewPublisher extends utils.EventPublisherBase {
63
- /**
64
- * Maps `pageview` event data to GA payload
65
- */
66
- map(data) {
67
- /** @type {AdCodeInfo} */
68
- let gclid = utils.extractAdCode(data, "googleads", "gclid");
69
- /** @type {AdCodeInfo} */
70
- let referrer = utils.extractAdCode(data, "referrerPlatform", "referrer");
71
- /** @type {Ad} */
72
- let utm = utils.extractAdCode(data, "googleAnalytics", "utm_source", (_, data) => data.adCodes ? data : null); //Only supports new format
71
+ /**
72
+ * Maps `pageview` event data to GA payload
73
+ */
74
+ map(data) {
75
+ /** @type {AdCodeInfo} */
76
+ let gclid = utils.extractAdCode(data, 'googleads', 'gclid');
77
+ /** @type {AdCodeInfo} */
78
+ let referrer = utils.extractAdCode(data, 'referrerPlatform', 'referrer');
79
+ /** @type {Ad} */
80
+ let utm = utils.extractAdCode(
81
+ data,
82
+ 'googleAnalytics',
83
+ 'utm_source',
84
+ (_, data) => (data.adCodes ? data : null),
85
+ ); // Only supports new format
86
+
87
+ // https://developers.google.com/analytics/devguides/collection/protocol/v1/devguide#event
88
+ // https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#dr
89
+ return {
90
+ // mandatory for all events
91
+ t: 'pageview',
92
+ cid: '456', // TODO
73
93
 
74
- //https://developers.google.com/analytics/devguides/collection/protocol/v1/devguide#event
75
- //https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#dr
76
- return {
77
- //mandatory for all events
78
- t : "pageview",
79
- cid: "456", //TODO
80
-
81
- //mandatory for pageview
82
- dp: "/",
83
-
84
- //Traffic Sources - optional
85
- //TODO not tested
86
- cn: utm?.adCodes?.utm_campaign,
87
- cs: utm?.adCodes?.utm_source,
88
- cm: utm?.adCodes?.utm_medium,
89
- cc: utm?.adCodes?.utm_content,
90
- gclid: gclid?.code,
91
- dr: referrer?.code
92
- };
93
- }
94
- };
94
+ // mandatory for pageview
95
+ dp: '/',
96
+
97
+ // Traffic Sources - optional
98
+ // TODO not tested
99
+ cn: utm?.adCodes?.utm_campaign,
100
+ cs: utm?.adCodes?.utm_source,
101
+ cm: utm?.adCodes?.utm_medium,
102
+ cc: utm?.adCodes?.utm_content,
103
+ gclid: gclid?.code,
104
+ dr: referrer?.code,
105
+ };
106
+ }
107
+ }
@@ -0,0 +1,7 @@
1
+ const context = {}
2
+ context.log = function log(str) { console.log(str) }
3
+ context.log.warn = function warn(str) {console.warn(str) }
4
+
5
+ module.exports = {
6
+ context: context
7
+ }
@@ -0,0 +1,43 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/tsconfig",
3
+ "display": "Default",
4
+ "extends": "@tsconfig/recommended/tsconfig.json",
5
+ "compilerOptions": {
6
+ "allowJs": true,
7
+ "allowSyntheticDefaultImports": true,
8
+ "checkJs": false,
9
+ "composite": false,
10
+ "declaration": true,
11
+ "declarationDir": "./types",
12
+ "declarationMap": true,
13
+ "inlineSources": false,
14
+ "isolatedModules": true,
15
+ "moduleResolution": "node",
16
+ "noEmit": true,
17
+ "noFallthroughCasesInSwitch": true,
18
+ "noImplicitOverride": true,
19
+ "noImplicitReturns": true,
20
+ "noUncheckedIndexedAccess": true,
21
+ "noUnusedLocals": true,
22
+ "noUnusedParameters": true,
23
+ "preserveWatchOutput": true,
24
+ "removeComments": true,
25
+ "resolveJsonModule": true,
26
+ "sourceMap": true,
27
+ "strictNullChecks": true,
28
+ "useDefineForClassFields": true,
29
+ "useUnknownInCatchVariables": true,
30
+ "strict": true,
31
+ "outDir": "dist"
32
+ },
33
+ "include": [
34
+ ".eslintrc.cjs",
35
+ "**/*"
36
+ // "build_scripts/post-build.mjs"
37
+ ],
38
+ "exclude": [
39
+ "node_modules",
40
+ "build",
41
+ "dist"
42
+ ]
43
+ }