@etohq/analytics 1.5.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/LICENSE +21 -0
- package/README.md +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/loaders/providers.d.ts +6 -0
- package/dist/loaders/providers.d.ts.map +1 -0
- package/dist/loaders/providers.js +55 -0
- package/dist/loaders/providers.js.map +1 -0
- package/dist/services/analytics-service.d.ts +17 -0
- package/dist/services/analytics-service.d.ts.map +1 -0
- package/dist/services/analytics-service.js +34 -0
- package/dist/services/analytics-service.js.map +1 -0
- package/dist/services/provider-service.d.ts +16 -0
- package/dist/services/provider-service.d.ts.map +1 -0
- package/dist/services/provider-service.js +29 -0
- package/dist/services/provider-service.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types/index.d.ts +21 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/package.json +56 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2021 Etohq
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Analytics Module
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,gBAAgB,MAAM,8BAA8B,CAAA;;;;AAG3D,wBAGE"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const utils_1 = require("@etohq/framework/utils");
|
|
7
|
+
const analytics_service_1 = __importDefault(require("./services/analytics-service"));
|
|
8
|
+
const providers_1 = __importDefault(require("./loaders/providers"));
|
|
9
|
+
exports.default = (0, utils_1.Module)(utils_1.Modules.ANALYTICS, {
|
|
10
|
+
service: analytics_service_1.default,
|
|
11
|
+
loaders: [providers_1.default],
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,kDAAwD;AACxD,qFAA2D;AAC3D,oEAA+C;AAE/C,kBAAe,IAAA,cAAM,EAAC,eAAO,CAAC,SAAS,EAAE;IACvC,OAAO,EAAE,2BAAgB;IACzB,OAAO,EAAE,CAAC,mBAAa,CAAC;CACzB,CAAC,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { LoaderOptions, ModuleProvider, ModulesSdkTypes } from "@etohq/framework/types";
|
|
2
|
+
declare const _default: ({ container, options, }: LoaderOptions<(ModulesSdkTypes.ModuleServiceInitializeOptions | ModulesSdkTypes.ModuleServiceInitializeCustomDataLayerOptions) & {
|
|
3
|
+
providers: ModuleProvider[];
|
|
4
|
+
}>) => Promise<void>;
|
|
5
|
+
export default _default;
|
|
6
|
+
//# sourceMappingURL=providers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/loaders/providers.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,cAAc,EACd,eAAe,EAChB,MAAM,wBAAwB,CAAA;yBAyBT,yBAGnB,aAAa,CACd,CACI,eAAe,CAAC,8BAA8B,GAC9C,eAAe,CAAC,6CAA6C,CAChE,GAAG;IAAE,SAAS,EAAE,cAAc,EAAE,CAAA;CAAE,CACpC,KAAG,OAAO,CAAC,IAAI,CAAC;AARjB,wBAcC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
const modules_sdk_1 = require("@etohq/framework/modules-sdk");
|
|
37
|
+
const awilix_1 = require("awilix");
|
|
38
|
+
const provider_service_1 = __importStar(require("../services/provider-service"));
|
|
39
|
+
const registrationFn = async (klass, container, pluginOptions) => {
|
|
40
|
+
const key = provider_service_1.default.getRegistrationIdentifier(klass, pluginOptions.id);
|
|
41
|
+
container.register({
|
|
42
|
+
[provider_service_1.AnalyticsProviderRegistrationPrefix + key]: (0, awilix_1.asFunction)((cradle) => new klass(cradle, pluginOptions.options ?? {}), {
|
|
43
|
+
lifetime: klass.LIFE_TIME || awilix_1.Lifetime.SINGLETON,
|
|
44
|
+
}),
|
|
45
|
+
});
|
|
46
|
+
container.registerAdd(provider_service_1.AnalyticsProviderIdentifierRegistrationName, (0, awilix_1.asValue)(key));
|
|
47
|
+
};
|
|
48
|
+
exports.default = async ({ container, options, }) => {
|
|
49
|
+
await (0, modules_sdk_1.moduleProviderLoader)({
|
|
50
|
+
container,
|
|
51
|
+
providers: options?.providers || [],
|
|
52
|
+
registerServiceFn: registrationFn,
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=providers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/loaders/providers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8DAAmE;AAMnE,mCAAsD;AACtD,iFAGqC;AAErC,MAAM,cAAc,GAAG,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE;IAC/D,MAAM,GAAG,GAAG,0BAAe,CAAC,yBAAyB,CAAC,KAAK,EAAE,aAAa,CAAC,EAAE,CAAC,CAAA;IAE9E,SAAS,CAAC,QAAQ,CAAC;QACjB,CAAC,sDAAmC,GAAG,GAAG,CAAC,EAAE,IAAA,mBAAU,EACrD,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,OAAO,IAAI,EAAE,CAAC,EAC1D;YACE,QAAQ,EAAE,KAAK,CAAC,SAAS,IAAI,iBAAQ,CAAC,SAAS;SAChD,CACF;KACF,CAAC,CAAA;IAEF,SAAS,CAAC,WAAW,CACnB,8DAA2C,EAC3C,IAAA,gBAAO,EAAC,GAAG,CAAC,CACb,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,KAAK,EAAE,EACpB,SAAS,EACT,OAAO,GAMR,EAAiB,EAAE;IAClB,MAAM,IAAA,kCAAoB,EAAC;QACzB,SAAS;QACT,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,EAAE;QACnC,iBAAiB,EAAE,cAAc;KAClC,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { TrackAnalyticsEventDTO, IdentifyAnalyticsEventDTO } from "@etohq/framework/types";
|
|
2
|
+
import AnalyticsProviderService from "./provider-service";
|
|
3
|
+
type InjectedDependencies = {
|
|
4
|
+
analyticsProviderService: AnalyticsProviderService;
|
|
5
|
+
};
|
|
6
|
+
export default class AnalyticsService {
|
|
7
|
+
protected readonly analyticsProviderService_: AnalyticsProviderService;
|
|
8
|
+
constructor({ analyticsProviderService }: InjectedDependencies);
|
|
9
|
+
__hooks: {
|
|
10
|
+
onApplicationShutdown: () => Promise<void>;
|
|
11
|
+
};
|
|
12
|
+
getProvider(): AnalyticsProviderService;
|
|
13
|
+
track(data: TrackAnalyticsEventDTO): Promise<void>;
|
|
14
|
+
identify(data: IdentifyAnalyticsEventDTO): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=analytics-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics-service.d.ts","sourceRoot":"","sources":["../../src/services/analytics-service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EAC1B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,wBAAwB,MAAM,oBAAoB,CAAA;AAGzD,KAAK,oBAAoB,GAAG;IAC1B,wBAAwB,EAAE,wBAAwB,CAAA;CACnD,CAAA;AAED,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACnC,SAAS,CAAC,QAAQ,CAAC,yBAAyB,EAAE,wBAAwB,CAAA;gBAE1D,EAAE,wBAAwB,EAAE,EAAE,oBAAoB;IAI9D,OAAO;;MAIN;IAED,WAAW;IAIL,KAAK,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAWlD,QAAQ,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;CAY/D"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const utils_1 = require("@etohq/framework/utils");
|
|
4
|
+
class AnalyticsService {
|
|
5
|
+
constructor({ analyticsProviderService }) {
|
|
6
|
+
this.__hooks = {
|
|
7
|
+
onApplicationShutdown: async () => {
|
|
8
|
+
await this.analyticsProviderService_.shutdown();
|
|
9
|
+
},
|
|
10
|
+
};
|
|
11
|
+
this.analyticsProviderService_ = analyticsProviderService;
|
|
12
|
+
}
|
|
13
|
+
getProvider() {
|
|
14
|
+
return this.analyticsProviderService_;
|
|
15
|
+
}
|
|
16
|
+
async track(data) {
|
|
17
|
+
try {
|
|
18
|
+
await this.analyticsProviderService_.track(data);
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
throw new utils_1.EtoError(utils_1.EtoError.Types.UNEXPECTED_STATE, `Error tracking event for ${data.event}: ${error.message}`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
async identify(data) {
|
|
25
|
+
try {
|
|
26
|
+
await this.analyticsProviderService_.identify(data);
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
throw new utils_1.EtoError(utils_1.EtoError.Types.UNEXPECTED_STATE, `Error identifying event for ${"group" in data ? data.group.id : data.actor_id}: ${error.message}`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.default = AnalyticsService;
|
|
34
|
+
//# sourceMappingURL=analytics-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics-service.js","sourceRoot":"","sources":["../../src/services/analytics-service.ts"],"names":[],"mappings":";;AAKA,kDAAiD;AAMjD,MAAqB,gBAAgB;IAGnC,YAAY,EAAE,wBAAwB,EAAwB;QAI9D,YAAO,GAAG;YACR,qBAAqB,EAAE,KAAK,IAAI,EAAE;gBAChC,MAAM,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,CAAA;YACjD,CAAC;SACF,CAAA;QAPC,IAAI,CAAC,yBAAyB,GAAG,wBAAwB,CAAA;IAC3D,CAAC;IAQD,WAAW;QACT,OAAO,IAAI,CAAC,yBAAyB,CAAA;IACvC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAA4B;QACtC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAClD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,gBAAQ,CAChB,gBAAQ,CAAC,KAAK,CAAC,gBAAgB,EAC/B,4BAA4B,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,EAAE,CAC3D,CAAA;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAA+B;QAC5C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACrD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,gBAAQ,CAChB,gBAAQ,CAAC,KAAK,CAAC,gBAAgB,EAC/B,+BACE,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QACzC,KAAK,KAAK,CAAC,OAAO,EAAE,CACrB,CAAA;QACH,CAAC;IACH,CAAC;CACF;AAxCD,mCAwCC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Constructor, IAnalyticsProvider, ProviderIdentifyAnalyticsEventDTO, ProviderTrackAnalyticsEventDTO } from "@etohq/framework/types";
|
|
2
|
+
export declare const AnalyticsProviderIdentifierRegistrationName = "analytics_providers_identifier";
|
|
3
|
+
export declare const AnalyticsProviderRegistrationPrefix = "aly_";
|
|
4
|
+
type InjectedDependencies = {
|
|
5
|
+
[key: `${typeof AnalyticsProviderRegistrationPrefix}${string}`]: IAnalyticsProvider;
|
|
6
|
+
};
|
|
7
|
+
export default class AnalyticsProviderService {
|
|
8
|
+
protected readonly analyticsProvider_: IAnalyticsProvider;
|
|
9
|
+
constructor(container: InjectedDependencies);
|
|
10
|
+
static getRegistrationIdentifier(providerClass: Constructor<IAnalyticsProvider>, optionName?: string): string;
|
|
11
|
+
track(data: ProviderTrackAnalyticsEventDTO): Promise<void>;
|
|
12
|
+
identify(data: ProviderIdentifyAnalyticsEventDTO): Promise<void>;
|
|
13
|
+
shutdown(): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=provider-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-service.d.ts","sourceRoot":"","sources":["../../src/services/provider-service.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,iCAAiC,EACjC,8BAA8B,EAC/B,MAAM,wBAAwB,CAAA;AAE/B,eAAO,MAAM,2CAA2C,mCACtB,CAAA;AAElC,eAAO,MAAM,mCAAmC,SAAS,CAAA;AAEzD,KAAK,oBAAoB,GAAG;IAC1B,CACE,GAAG,EAAE,GAAG,OAAO,mCAAmC,GAAG,MAAM,EAAE,GAC5D,kBAAkB,CAAA;CACtB,CAAA;AAED,MAAM,CAAC,OAAO,OAAO,wBAAwB;IAC3C,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAA;gBAE7C,SAAS,EAAE,oBAAoB;IAe3C,MAAM,CAAC,yBAAyB,CAC9B,aAAa,EAAE,WAAW,CAAC,kBAAkB,CAAC,EAC9C,UAAU,CAAC,EAAE,MAAM;IAKf,KAAK,CAAC,IAAI,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1D,QAAQ,CAAC,IAAI,EAAE,iCAAiC,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhE,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGhC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AnalyticsProviderRegistrationPrefix = exports.AnalyticsProviderIdentifierRegistrationName = void 0;
|
|
4
|
+
const utils_1 = require("@etohq/framework/utils");
|
|
5
|
+
exports.AnalyticsProviderIdentifierRegistrationName = "analytics_providers_identifier";
|
|
6
|
+
exports.AnalyticsProviderRegistrationPrefix = "aly_";
|
|
7
|
+
class AnalyticsProviderService {
|
|
8
|
+
constructor(container) {
|
|
9
|
+
const analyticsProviderKeys = Object.keys(container).filter((k) => k.startsWith(exports.AnalyticsProviderRegistrationPrefix));
|
|
10
|
+
if (analyticsProviderKeys.length !== 1) {
|
|
11
|
+
throw new utils_1.EtoError(utils_1.EtoError.Types.INVALID_DATA, `Analytics module should be initialized with exactly one provider`);
|
|
12
|
+
}
|
|
13
|
+
this.analyticsProvider_ = container[analyticsProviderKeys[0]];
|
|
14
|
+
}
|
|
15
|
+
static getRegistrationIdentifier(providerClass, optionName) {
|
|
16
|
+
return `${providerClass.identifier}_${optionName}`;
|
|
17
|
+
}
|
|
18
|
+
async track(data) {
|
|
19
|
+
this.analyticsProvider_.track(data);
|
|
20
|
+
}
|
|
21
|
+
async identify(data) {
|
|
22
|
+
this.analyticsProvider_.identify(data);
|
|
23
|
+
}
|
|
24
|
+
async shutdown() {
|
|
25
|
+
await this.analyticsProvider_.shutdown?.();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.default = AnalyticsProviderService;
|
|
29
|
+
//# sourceMappingURL=provider-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-service.js","sourceRoot":"","sources":["../../src/services/provider-service.ts"],"names":[],"mappings":";;;AAAA,kDAAiD;AAQpC,QAAA,2CAA2C,GACtD,gCAAgC,CAAA;AAErB,QAAA,mCAAmC,GAAG,MAAM,CAAA;AAQzD,MAAqB,wBAAwB;IAG3C,YAAY,SAA+B;QACzC,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAChE,CAAC,CAAC,UAAU,CAAC,2CAAmC,CAAC,CAClD,CAAA;QAED,IAAI,qBAAqB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,gBAAQ,CAChB,gBAAQ,CAAC,KAAK,CAAC,YAAY,EAC3B,kEAAkE,CACnE,CAAA;QACH,CAAC;QAED,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/D,CAAC;IAED,MAAM,CAAC,yBAAyB,CAC9B,aAA8C,EAC9C,UAAmB;QAEnB,OAAO,GAAI,aAAqB,CAAC,UAAU,IAAI,UAAU,EAAE,CAAA;IAC7D,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAoC;QAC9C,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAuC;QACpD,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IACxC,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,EAAE,CAAA;IAC5C,CAAC;CACF;AApCD,2CAoCC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"root":["../src/index.ts","../src/loaders/providers.ts","../src/services/analytics-service.ts","../src/services/provider-service.ts","../src/types/index.ts"],"version":"5.8.3"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ModuleProviderExports, ModuleServiceInitializeOptions } from "@etohq/framework/types";
|
|
2
|
+
export type AnalyticsModuleOptions = Partial<ModuleServiceInitializeOptions> & {
|
|
3
|
+
/**
|
|
4
|
+
* Providers to be registered
|
|
5
|
+
*/
|
|
6
|
+
providers?: {
|
|
7
|
+
/**
|
|
8
|
+
* The module provider to be registered
|
|
9
|
+
*/
|
|
10
|
+
resolve: string | ModuleProviderExports;
|
|
11
|
+
/**
|
|
12
|
+
* The id of the provider
|
|
13
|
+
*/
|
|
14
|
+
id: string;
|
|
15
|
+
/**
|
|
16
|
+
* key value pair of the configuration to be passed to the provider constructor
|
|
17
|
+
*/
|
|
18
|
+
options?: Record<string, unknown>;
|
|
19
|
+
}[];
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,8BAA8B,EAC/B,MAAM,wBAAwB,CAAA;AAE/B,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAAC,8BAA8B,CAAC,GAAG;IAC7E;;OAEG;IACH,SAAS,CAAC,EAAE;QACV;;WAEG;QACH,OAAO,EAAE,MAAM,GAAG,qBAAqB,CAAA;QACvC;;WAEG;QACH,EAAE,EAAE,MAAM,CAAA;QACV;;WAEG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAClC,EAAE,CAAA;CACJ,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@etohq/analytics",
|
|
3
|
+
"version": "1.5.0",
|
|
4
|
+
"description": "Eto Analytics module",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"files": [
|
|
8
|
+
"dist",
|
|
9
|
+
"!dist/**/__tests__",
|
|
10
|
+
"!dist/**/__mocks__",
|
|
11
|
+
"!dist/**/__fixtures__"
|
|
12
|
+
],
|
|
13
|
+
"engines": {
|
|
14
|
+
"node": ">=20"
|
|
15
|
+
},
|
|
16
|
+
"repository": {
|
|
17
|
+
"type": "git",
|
|
18
|
+
"url": "https://github.com/etohq/eto",
|
|
19
|
+
"directory": "packages/core/modules/api-key"
|
|
20
|
+
},
|
|
21
|
+
"publishConfig": {
|
|
22
|
+
"access": "public"
|
|
23
|
+
},
|
|
24
|
+
"author": "Eto",
|
|
25
|
+
"license": "MIT",
|
|
26
|
+
"devDependencies": {
|
|
27
|
+
"@mikro-orm/cli": "6.4.3",
|
|
28
|
+
"@swc/core": "1.7.28",
|
|
29
|
+
"@swc/jest": "0.2.36",
|
|
30
|
+
"@types/jest": "29.5.14",
|
|
31
|
+
"jest": "29.7.0",
|
|
32
|
+
"rimraf": "5.0.2",
|
|
33
|
+
"tsc-alias": "1.8.6",
|
|
34
|
+
"typescript": "5.8.3",
|
|
35
|
+
"@etohq/test-utils": "1.5.0"
|
|
36
|
+
},
|
|
37
|
+
"dependencies": {
|
|
38
|
+
"@mikro-orm/core": "6.4.3",
|
|
39
|
+
"@mikro-orm/migrations": "6.4.3",
|
|
40
|
+
"@mikro-orm/postgresql": "6.4.3",
|
|
41
|
+
"awilix": "8.0.1",
|
|
42
|
+
"@etohq/framework": "1.5.0"
|
|
43
|
+
},
|
|
44
|
+
"scripts": {
|
|
45
|
+
"watch": "tsc --build --watch",
|
|
46
|
+
"watch:test": "tsc --build tsconfig.spec.json --watch",
|
|
47
|
+
"resolve:aliases": "tsc --showConfig -p tsconfig.json > tsconfig.resolved.json && tsc-alias -p tsconfig.resolved.json && rimraf tsconfig.resolved.json",
|
|
48
|
+
"build": "rimraf dist && tsc --build && npm run resolve:aliases",
|
|
49
|
+
"test": "jest --runInBand --bail --forceExit -- src/**/__tests__/**/*.ts",
|
|
50
|
+
"test:integration": "jest --forceExit -- integration-tests/**/__tests__/**/*.ts",
|
|
51
|
+
"migration:initial": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts eto-mikro-orm migration:create --initial",
|
|
52
|
+
"migration:create": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts eto-mikro-orm migration:create",
|
|
53
|
+
"migration:up": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts eto-mikro-orm migration:up",
|
|
54
|
+
"orm:cache:clear": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts eto-mikro-orm cache:clear"
|
|
55
|
+
}
|
|
56
|
+
}
|