@restorecommerce/kafka-client 0.4.2 → 1.0.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/CHANGELOG.md CHANGED
@@ -3,6 +3,44 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [1.0.0](https://github.com/restorecommerce/kafka-client/compare/@restorecommerce/kafka-client@0.4.4...@restorecommerce/kafka-client@1.0.0) (2022-08-25)
7
+
8
+
9
+ ### Features
10
+
11
+ * move to fully typed grpc client and server ([ec9be2d](https://github.com/restorecommerce/kafka-client/commit/ec9be2daff0823e9ba440a2845b7b1a7f2d74b50))
12
+ * move to fully typed grpc client and server ([aeee2f2](https://github.com/restorecommerce/kafka-client/commit/aeee2f2b7ca470223d7bc42fd7cafd4bb8387796))
13
+
14
+
15
+ ### Reverts
16
+
17
+ * Revert "BREAKING CHANGE: move to fully typed grpc client and server" ([2d584a7](https://github.com/restorecommerce/kafka-client/commit/2d584a709632ae608f595a2c836deabd34f671d9))
18
+
19
+
20
+ ### BREAKING CHANGES
21
+
22
+ * move to fully typed grpc client and server
23
+
24
+
25
+
26
+
27
+
28
+ ## [0.4.4](https://github.com/restorecommerce/kafka-client/compare/@restorecommerce/kafka-client@0.4.3...@restorecommerce/kafka-client@0.4.4) (2022-08-10)
29
+
30
+ **Note:** Version bump only for package @restorecommerce/kafka-client
31
+
32
+
33
+
34
+
35
+
36
+ ## [0.4.3](https://github.com/restorecommerce/kafka-client/compare/@restorecommerce/kafka-client@0.4.2...@restorecommerce/kafka-client@0.4.3) (2022-07-07)
37
+
38
+ **Note:** Version bump only for package @restorecommerce/kafka-client
39
+
40
+
41
+
42
+
43
+
6
44
  ## [0.4.2](https://github.com/restorecommerce/kafka-client/compare/@restorecommerce/kafka-client@0.4.1...@restorecommerce/kafka-client@0.4.2) (2022-06-28)
7
45
 
8
46
 
@@ -115,3 +115,4 @@ class Events {
115
115
  }
116
116
  }
117
117
  exports.Events = Events;
118
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  /// <reference types="node" />
2
2
  import { EventEmitter } from 'events';
3
- import * as protobuf from 'protobufjs';
4
3
  import * as async from 'async';
5
4
  import { Logger } from 'winston';
6
5
  import { Admin, Consumer, Kafka as KafkaJS, KafkaConfig, KafkaMessage, Producer } from 'kafkajs';
@@ -189,11 +188,8 @@ export declare class Kafka {
189
188
  /**
190
189
  * Encode the given message object using protobuf.js.
191
190
  *
192
- * @param {string} eventName
193
191
  * @param {Object} msg
194
- * @param {string} protoFilePath
195
192
  * @param {string} messageObject
196
- * @param {string} protoRoot
197
193
  * @return {Object} buffer
198
194
  */
199
195
  private static encodeObject;
@@ -203,7 +199,7 @@ export declare class Kafka {
203
199
  * @param eventName
204
200
  * @param msg
205
201
  */
206
- decodeObject(config: any, eventName: string, msg: any): protobuf.Message<Object>;
202
+ decodeObject(config: any, eventName: string, msg: any): any;
207
203
  /**
208
204
  * Send a message event to a Kafka topic.
209
205
  * A protobuf message is an instance of the google's protobuf generated class
@@ -24,9 +24,9 @@ exports.Name = exports.Kafka = exports.Topic = void 0;
24
24
  const retry = require("retry");
25
25
  const _ = require("lodash");
26
26
  const events_1 = require("events");
27
- const protobuf = require("protobufjs");
28
27
  const async = require("async");
29
28
  const kafkajs_1 = require("kafkajs");
29
+ const protos_1 = require("../../../protos");
30
30
  const makeProtoResolver = (protoFilePath, protoRoot) => {
31
31
  return (origin, target) => {
32
32
  // ignore the same file
@@ -427,8 +427,7 @@ class Topic {
427
427
  let decodedMsg = this.provider.decodeObject(this.config, eventName, message);
428
428
  if (decodedMsg) {
429
429
  decodedMsg = _.pick(decodedMsg, _.keys(decodedMsg)); // hack around messy protobuf.js object
430
- this.provider.logger.info(`kafka received event with
431
- topic ${context.topic} and event name ${eventName}`);
430
+ this.provider.logger.info(`kafka received event with topic ${context.topic} and event name ${eventName}`);
432
431
  this.emitter.emit(eventName, decodedMsg, context, this.config, eventName);
433
432
  }
434
433
  }
@@ -567,20 +566,12 @@ class Kafka {
567
566
  /**
568
567
  * Encode the given message object using protobuf.js.
569
568
  *
570
- * @param {string} eventName
571
569
  * @param {Object} msg
572
- * @param {string} protoFilePath
573
570
  * @param {string} messageObject
574
- * @param {string} protoRoot
575
571
  * @return {Object} buffer
576
572
  */
577
- static encodeObject(eventName, msg, protoFilePath, messageObject, protoRoot) {
578
- let root = new protobuf.Root();
579
- root.resolvePath = makeProtoResolver(protoFilePath, protoRoot);
580
- root = root.loadSync(protoFilePath, { keepCase: true });
581
- const MessageClass = root.lookupType(messageObject);
582
- const convertedMessage = MessageClass.create(msg);
583
- return MessageClass.encode(convertedMessage).finish();
573
+ static encodeObject(msg, messageObject) {
574
+ return (0, protos_1.encodeMessage)(msg, messageObject);
584
575
  }
585
576
  /**
586
577
  * Decode the given message using protobuf.js.
@@ -589,21 +580,12 @@ class Kafka {
589
580
  * @param msg
590
581
  */
591
582
  decodeObject(config, eventName, msg) {
592
- const protoFilePath = config[eventName].protoRoot + config[eventName].protos;
593
- const protoRoot = config[eventName].protoRoot;
594
- const messageObject = config[eventName].messageObject;
595
- let root = new protobuf.Root();
596
- root.resolvePath = makeProtoResolver(protoFilePath, protoRoot);
597
- root = root.loadSync(protoFilePath, { keepCase: true });
598
- const MessageClass = root.lookupType(messageObject);
599
- let decodedMsg;
600
583
  try {
601
- decodedMsg = MessageClass.decode(msg);
584
+ return (0, protos_1.decodeMessage)(msg, config[eventName].messageObject);
602
585
  }
603
586
  catch (err) {
604
587
  this.logger.error(`error on decoding message with event ${eventName}`, { message: msg, errorCode: err.code, errorMessage: err.message, errorStack: err.stack });
605
588
  }
606
- return decodedMsg;
607
589
  }
608
590
  /**
609
591
  * Send a message event to a Kafka topic.
@@ -616,7 +598,6 @@ class Kafka {
616
598
  $send(topicName, eventName, message) {
617
599
  return __awaiter(this, void 0, void 0, function* () {
618
600
  let messages = message;
619
- const protoFilePath = this.config[eventName].protoRoot + this.config[eventName].protos;
620
601
  const messageObject = this.config[eventName].messageObject;
621
602
  if (!_.isArray(message)) {
622
603
  messages = [message];
@@ -627,7 +608,7 @@ class Kafka {
627
608
  // get the binary representation of the message using serializeBinary()
628
609
  // and build a Buffer from it.
629
610
  const msg = messages[i];
630
- const bufferObj = Kafka.encodeObject(eventName, msg, protoFilePath, messageObject, this.config[eventName].protoRoot);
611
+ const bufferObj = Kafka.encodeObject(msg, messageObject);
631
612
  values.push({
632
613
  key: eventName,
633
614
  value: Buffer.from(bufferObj),
@@ -753,3 +734,4 @@ exports.Kafka = Kafka;
753
734
  * Name of the event provider.
754
735
  */
755
736
  exports.Name = 'kafka';
737
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/events/provider/kafka/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import * as protobuf from 'protobufjs';
2
1
  import { Logger } from 'winston';
3
2
  /**
4
3
  * Topic handles listening and sending events to a specific topic.
@@ -23,20 +22,11 @@ export declare class Topic {
23
22
  /**
24
23
  * Encode the given message object using protobufjs (pbjs).
25
24
  *
26
- * @param {string} eventName
27
25
  * @param {Object} msg
28
- * @param {string} protoFilePath
29
26
  * @param {string} messageObject
30
27
  * @return {Object} buffer
31
28
  */
32
- encodeObject(eventName: string, msg: Object, protoFilePath: string, messageObject: string, protoRoot: string): Promise<any>;
33
- /**
34
- * Resolve the protobuf root object using the proto file path.
35
- * @param root
36
- * @param protoFilePath
37
- * @return protobuf.Root object
38
- */
39
- resolveRoot(root: protobuf.Root, protoFilePath: string): Promise<protobuf.Root>;
29
+ encodeObject(msg: Object, messageObject: string): Promise<any>;
40
30
  /**
41
31
  * Send message to listeners listening to eventName events.
42
32
  *
@@ -11,7 +11,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.Name = exports.Local = exports.Topic = void 0;
13
13
  const _ = require("lodash");
14
- const protobuf = require("protobufjs");
15
14
  /**
16
15
  * Topic handles listening and sending events to a specific topic.
17
16
  */
@@ -46,52 +45,16 @@ class Topic {
46
45
  /**
47
46
  * Encode the given message object using protobufjs (pbjs).
48
47
  *
49
- * @param {string} eventName
50
48
  * @param {Object} msg
51
- * @param {string} protoFilePath
52
49
  * @param {string} messageObject
53
50
  * @return {Object} buffer
54
51
  */
55
- encodeObject(eventName, msg, protoFilePath, messageObject, protoRoot) {
52
+ encodeObject(msg, messageObject) {
56
53
  return __awaiter(this, void 0, void 0, function* () {
57
- let root = new protobuf.Root();
58
- root.resolvePath = (origin, target) => {
59
- // ignore the same file
60
- if (target == protoFilePath) {
61
- return protoFilePath;
62
- }
63
- // Resolved target path for the import files
64
- return protoRoot + target;
65
- };
66
- const logger = this.logger;
67
- root = yield this.resolveRoot(root, protoFilePath);
68
- const MessageClass = root.lookup(messageObject);
69
- const convertedMessage = MessageClass.create(msg);
70
- const buffer = MessageClass.encode(convertedMessage).finish();
71
54
  return msg;
72
55
  });
73
56
  }
74
57
  /**
75
- * Resolve the protobuf root object using the proto file path.
76
- * @param root
77
- * @param protoFilePath
78
- * @return protobuf.Root object
79
- */
80
- resolveRoot(root, protoFilePath) {
81
- return __awaiter(this, void 0, void 0, function* () {
82
- const that = this;
83
- return new Promise((resolve, reject) => {
84
- root.load(protoFilePath, { keepCase: true }, (err, root) => {
85
- if (err) {
86
- that.logger.error('Error loading protobuf definition', { message: err.message, stack: err.stack });
87
- reject(err);
88
- }
89
- resolve(root);
90
- });
91
- });
92
- });
93
- }
94
- /**
95
58
  * Send message to listeners listening to eventName events.
96
59
  *
97
60
  * @param {string} eventName Identification name of the event.
@@ -115,7 +78,6 @@ class Topic {
115
78
  e.message = _.concat(e.message, message);
116
79
  const listeners = e.listeners;
117
80
  const logger = this.logger;
118
- const protoFilePath = this.config[eventName].protoRoot + this.config[eventName].protos;
119
81
  const messageObject = this.config[eventName].messageObject;
120
82
  for (let i = 0; i < listeners.length; i += 1) {
121
83
  const listener = listeners[i];
@@ -126,7 +88,7 @@ class Topic {
126
88
  logger,
127
89
  };
128
90
  const msg = messages[j];
129
- bufferObj = yield this.encodeObject(eventName, msg, protoFilePath, messageObject, this.config[eventName].protoRoot);
91
+ bufferObj = yield this.encodeObject(msg, messageObject);
130
92
  yield listener(bufferObj, context, this.config, eventName);
131
93
  }
132
94
  }
@@ -235,3 +197,4 @@ exports.Local = Local;
235
197
  * Name of the event provider.
236
198
  */
237
199
  exports.Name = 'local';
200
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/events/provider/local/index.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -2,3 +2,4 @@ import { Events } from './events';
2
2
  export { Events };
3
3
  export * from './events/provider/kafka';
4
4
  export { Topic as localTopic, Local as local } from './events/provider/local';
5
+ export { registerProtoMeta, encodeMessage, decodeMessage } from './protos';
package/lib/index.js CHANGED
@@ -14,10 +14,15 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.local = exports.localTopic = exports.Events = void 0;
17
+ exports.decodeMessage = exports.encodeMessage = exports.registerProtoMeta = exports.local = exports.localTopic = exports.Events = void 0;
18
18
  const events_1 = require("./events");
19
19
  Object.defineProperty(exports, "Events", { enumerable: true, get: function () { return events_1.Events; } });
20
20
  __exportStar(require("./events/provider/kafka"), exports);
21
21
  var local_1 = require("./events/provider/local");
22
22
  Object.defineProperty(exports, "localTopic", { enumerable: true, get: function () { return local_1.Topic; } });
23
23
  Object.defineProperty(exports, "local", { enumerable: true, get: function () { return local_1.Local; } });
24
+ var protos_1 = require("./protos");
25
+ Object.defineProperty(exports, "registerProtoMeta", { enumerable: true, get: function () { return protos_1.registerProtoMeta; } });
26
+ Object.defineProperty(exports, "encodeMessage", { enumerable: true, get: function () { return protos_1.encodeMessage; } });
27
+ Object.defineProperty(exports, "decodeMessage", { enumerable: true, get: function () { return protos_1.decodeMessage; } });
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qCAAkC;AACzB,uFADA,eAAM,OACA;AACf,0DAAwC;AACxC,iDAA8E;AAArE,mGAAA,KAAK,OAAc;AAAE,8FAAA,KAAK,OAAS;AAC5C,mCAA2E;AAAlE,2GAAA,iBAAiB,OAAA;AAAE,uGAAA,aAAa,OAAA;AAAE,uGAAA,aAAa,OAAA"}
@@ -0,0 +1,19 @@
1
+ import { Writer, Reader } from 'protobufjs';
2
+ declare type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
3
+ export declare type DeepPartial<T> = T extends Builtin ? T : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
4
+ [K in keyof T]?: DeepPartial<T[K]>;
5
+ } : Partial<T>;
6
+ declare type MessageType<T = any> = {
7
+ encode(message: T, writer?: Writer): Writer;
8
+ decode(input: Reader | Uint8Array, length?: number): T;
9
+ fromPartial(input: DeepPartial<T>): T;
10
+ };
11
+ export interface ProtoMetadata {
12
+ references: {
13
+ [key: string]: MessageType;
14
+ };
15
+ }
16
+ export declare const registerProtoMeta: (...protoMeta: ProtoMetadata[]) => void;
17
+ export declare const encodeMessage: <T = any>(message: T, messageObject: string) => Uint8Array;
18
+ export declare const decodeMessage: <T = any>(message: Reader | Uint8Array, messageObject: string) => T;
19
+ export {};
package/lib/protos.js ADDED
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.decodeMessage = exports.encodeMessage = exports.registerProtoMeta = void 0;
4
+ const objectRegistry = new Map();
5
+ const registerProtoMeta = (...protoMeta) => {
6
+ protoMeta.forEach(proto => {
7
+ Object.entries(proto.references).forEach(([reference, message]) => {
8
+ objectRegistry.set(reference, message);
9
+ });
10
+ });
11
+ };
12
+ exports.registerProtoMeta = registerProtoMeta;
13
+ const getMessage = (messageObject) => {
14
+ if (!messageObject.startsWith('.')) {
15
+ messageObject = '.' + messageObject;
16
+ }
17
+ if (!objectRegistry.has(messageObject)) {
18
+ throw new Error('Proto registry does not contain message definition for: ' + messageObject);
19
+ }
20
+ return objectRegistry.get(messageObject);
21
+ };
22
+ const encodeMessage = (message, messageObject) => {
23
+ return getMessage(messageObject).encode(getMessage(messageObject).fromPartial(message)).finish();
24
+ };
25
+ exports.encodeMessage = encodeMessage;
26
+ const decodeMessage = (message, messageObject) => {
27
+ return getMessage(messageObject).decode(message);
28
+ };
29
+ exports.decodeMessage = decodeMessage;
30
+ //# sourceMappingURL=protos.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protos.js","sourceRoot":"","sources":["../src/protos.ts"],"names":[],"mappings":";;;AAiCA,MAAM,cAAc,GAAG,IAAI,GAAG,EAAuB,CAAC;AAE/C,MAAM,iBAAiB,GAAG,CAAC,GAAG,SAA0B,EAAE,EAAE;IACjE,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACxB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE;YAChE,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AANW,QAAA,iBAAiB,qBAM5B;AAEF,MAAM,UAAU,GAAG,CAAC,aAAqB,EAAe,EAAE;IACxD,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QAClC,aAAa,GAAG,GAAG,GAAG,aAAa,CAAC;KACrC;IAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;QACtC,MAAM,IAAI,KAAK,CAAC,0DAA0D,GAAG,aAAa,CAAC,CAAC;KAC7F;IAED,OAAO,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC3C,CAAC,CAAC;AAEK,MAAM,aAAa,GAAG,CAAU,OAAU,EAAE,aAAqB,EAAc,EAAE;IACtF,OAAO,UAAU,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;AACnG,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB;AAEK,MAAM,aAAa,GAAG,CAAU,OAA4B,EAAE,aAAqB,EAAK,EAAE;IAC/F,OAAO,UAAU,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACnD,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@restorecommerce/kafka-client",
3
- "version": "0.4.2",
3
+ "version": "1.0.0",
4
4
  "description": "Opinionated Kafka Client for Microservices",
5
5
  "main": "./lib/index.js",
6
6
  "author": "n-fuse GmbH",
@@ -17,36 +17,37 @@
17
17
  ],
18
18
  "typings": "lib/index.d.ts",
19
19
  "dependencies": {
20
- "@restorecommerce/logger": "^0.13.0",
21
- "async": "^3.2.0",
22
- "cls-rtracer": "^2.5.1",
20
+ "@restorecommerce/logger": "^1.0.0",
21
+ "@restorecommerce/rc-grpc-clients": "^1.0.0",
22
+ "async": "^3.2.4",
23
+ "cls-rtracer": "^2.6.2",
23
24
  "events": "^3.3.0",
24
- "kafkajs": "^2.0.0",
25
+ "kafkajs": "^2.1.0",
25
26
  "lodash": "^4.17.21",
26
- "protobufjs": "^6.11.2",
27
+ "protobufjs": "^6.11.3",
27
28
  "retry": "^0.13.1",
28
- "winston": "^3.7.2"
29
+ "winston": "^3.8.1"
29
30
  },
30
31
  "devDependencies": {
31
- "@types/async": "^3.2.13",
32
+ "@types/async": "^3.2.15",
32
33
  "@types/long": "^4.0.2",
33
34
  "@types/mocha": "^9.1.1",
34
- "@types/node": "^17.0.33",
35
- "@typescript-eslint/eslint-plugin": "^5.23.0",
36
- "@typescript-eslint/eslint-plugin-tslint": "^5.23.0",
37
- "@typescript-eslint/parser": "^5.23.0",
35
+ "@types/node": "^18.0.3",
36
+ "@typescript-eslint/eslint-plugin": "^5.30.5",
37
+ "@typescript-eslint/eslint-plugin-tslint": "^5.30.5",
38
+ "@typescript-eslint/parser": "^5.30.5",
38
39
  "coveralls": "^3.1.1",
39
40
  "cross-env": "^7.0.3",
40
- "eslint": "^8.15.0",
41
+ "eslint": "^8.19.0",
41
42
  "eslint-plugin-prefer-arrow-functions": "^3.1.4",
42
43
  "mocha": "^10.0.0",
43
44
  "npm-run-all": "^4.1.5",
44
45
  "nyc": "^15.1.0",
45
46
  "rimraf": "^3.0.0",
46
47
  "should": "^13.2.3",
47
- "ts-node": "^10.7.0",
48
+ "ts-node": "^10.8.2",
48
49
  "tslint": "^6.1.3",
49
- "typescript": "^4.6.4"
50
+ "typescript": "^4.7.4"
50
51
  },
51
52
  "scripts": {
52
53
  "pretest": "npm run build && node setupTopics.js com.example.test",
@@ -71,5 +72,5 @@
71
72
  }
72
73
  }
73
74
  },
74
- "gitHead": "1c3b8f508f59a4023fed33791e3d918374e12eaa"
75
+ "gitHead": "2b25803ec9494c298f4f008a55485bc201c83bb8"
75
76
  }
package/tsconfig.json CHANGED
@@ -10,7 +10,8 @@
10
10
  "typeRoots": [
11
11
  "node_modules/@types"
12
12
  ],
13
- "skipLibCheck": true
13
+ "skipLibCheck": true,
14
+ "sourceMap": true
14
15
  },
15
16
  "include": [
16
17
  "./src/**/*.ts"