6 Commits

Author SHA1 Message Date
ffc0fb388c 1.0.4 2017-04-17 17:20:59 +02:00
883b0a4c28 now sending app name 2017-04-17 17:20:56 +02:00
80f9201ff0 1.0.3 2017-02-25 01:34:26 +01:00
9e3e4014b7 update README 2017-02-25 01:32:49 +01:00
d92df5884f 1.0.2 2017-02-25 00:36:16 +01:00
0958c8cd8b updated README 2017-02-25 00:36:12 +01:00
9 changed files with 35 additions and 9 deletions

View File

@ -21,6 +21,24 @@ Google Analytics everywhere
## Usage ## Usage
Use TypeScript for best in class instellisense. Use TypeScript for best in class instellisense.
### Why does this package exist?
Tracking users in webapps is common. We use Google Analytics to gain insight in who is using what
and where to spend resources for best efficiency.
Doing the same stuff in apps can be a bit of a hassle.
Unnecessary dependencies used by many existing analytics tools make the whole app slow
just to gain a little usage info.
Say hello to smartanalytics.
It features a very slim dependency tree using the native node request module to send posts to Google Analytics.
### How do I use this package?
```javascript
import {AnalyticsAccount} from 'smartanalytics'
let myAnalyticsAccount = new AnalyticsAccount('My App Name', 'UA-XXXXXX-Y')
myAnalyticsAccount.sendEvent('npmtool', 'install', 'somelabel')
```
For further information read the linked docs at the top of this README. For further information read the linked docs at the top of this README.
> MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh) > MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh)

3
dist/index.js vendored
View File

@ -1,4 +1,5 @@
"use strict"; "use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var smartanalytics_classes_analyticsaccount_1 = require("./smartanalytics.classes.analyticsaccount"); var smartanalytics_classes_analyticsaccount_1 = require("./smartanalytics.classes.analyticsaccount");
exports.AnalyticsAccount = smartanalytics_classes_analyticsaccount_1.AnalyticsAccount; exports.AnalyticsAccount = smartanalytics_classes_analyticsaccount_1.AnalyticsAccount;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEscUdBQTRFO0FBQW5FLHFFQUFBLGdCQUFnQixDQUFBIn0= //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFHQUE0RTtBQUFuRSxxRUFBQSxnQkFBZ0IsQ0FBQSJ9

View File

@ -1,4 +1,5 @@
"use strict"; "use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const send = require("./smartanalytics.send"); const send = require("./smartanalytics.send");
class AnalyticsAccount { class AnalyticsAccount {
constructor(appNameArg, trackingIdArg) { constructor(appNameArg, trackingIdArg) {
@ -10,4 +11,4 @@ class AnalyticsAccount {
} }
} }
exports.AnalyticsAccount = AnalyticsAccount; exports.AnalyticsAccount = AnalyticsAccount;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRhbmFseXRpY3MuY2xhc3Nlcy5hbmFseXRpY3NhY2NvdW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRhbmFseXRpY3MuY2xhc3Nlcy5hbmFseXRpY3NhY2NvdW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSw4Q0FBNkM7QUFFN0M7SUFHRSxZQUFZLFVBQWtCLEVBQUUsYUFBcUI7UUFDbkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUE7UUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQUE7SUFDakMsQ0FBQztJQUVELFNBQVMsQ0FBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsYUFBcUI7UUFDaEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLGFBQWEsQ0FBQyxDQUFBO0lBQzVGLENBQUM7Q0FDRjtBQVhELDRDQVdDIn0= //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRhbmFseXRpY3MuY2xhc3Nlcy5hbmFseXRpY3NhY2NvdW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRhbmFseXRpY3MuY2xhc3Nlcy5hbmFseXRpY3NhY2NvdW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsOENBQTZDO0FBRTdDO0lBR0UsWUFBWSxVQUFrQixFQUFFLGFBQXFCO1FBQ25ELElBQUksQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFBO1FBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFBO0lBQ2pDLENBQUM7SUFFRCxTQUFTLENBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLGFBQXFCO1FBQ2hFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxhQUFhLENBQUMsQ0FBQTtJQUM1RixDQUFDO0NBQ0Y7QUFYRCw0Q0FXQyJ9

View File

@ -1,7 +1,8 @@
"use strict"; "use strict";
Object.defineProperty(exports, "__esModule", { value: true });
require("typings-global"); require("typings-global");
const smartrequest = require("smartrequest"); const smartrequest = require("smartrequest");
exports.smartrequest = smartrequest; exports.smartrequest = smartrequest;
const smartq = require("smartq"); const smartq = require("smartq");
exports.smartq = smartq; exports.smartq = smartq;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRhbmFseXRpY3MucGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0YW5hbHl0aWNzLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDBCQUF1QjtBQUN2Qiw2Q0FBNEM7QUFJeEMsb0NBQVk7QUFIaEIsaUNBQWdDO0FBSTVCLHdCQUFNIn0= //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRhbmFseXRpY3MucGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0YW5hbHl0aWNzLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwQkFBdUI7QUFDdkIsNkNBQTRDO0FBSXhDLG9DQUFZO0FBSGhCLGlDQUFnQztBQUk1Qix3QkFBTSJ9

View File

@ -7,12 +7,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
step((generator = generator.apply(thisArg, _arguments || [])).next()); step((generator = generator.apply(thisArg, _arguments || [])).next());
}); });
}; };
Object.defineProperty(exports, "__esModule", { value: true });
const plugins = require("./smartanalytics.plugins"); const plugins = require("./smartanalytics.plugins");
exports.event = (trackingIdArg, appNameArg, eventCategoryArg, eventActionArg, eventLabelArg = 'null') => { exports.event = (trackingIdArg, appNameArg, eventCategoryArg, eventActionArg, eventLabelArg = 'null') => {
let payload = 'v=1' + let payload = 'v=1' +
`&tid=${trackingIdArg}` + `&tid=${trackingIdArg}` +
'&cid=555' + '&cid=555' +
'&aip=1' + '&aip=1' +
`&an=${appNameArg}` +
'&t=event' + '&t=event' +
`&ec=${eventCategoryArg}` + `&ec=${eventCategoryArg}` +
`&ea=${eventActionArg}` + `&ea=${eventActionArg}` +
@ -26,4 +28,4 @@ let send = (requestBodyArg) => __awaiter(this, void 0, void 0, function* () {
requestBody: requestBodyArg requestBody: requestBodyArg
}); });
}); });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRhbmFseXRpY3Muc2VuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0YW5hbHl0aWNzLnNlbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsb0RBQW1EO0FBRXhDLFFBQUEsS0FBSyxHQUFHLENBQUMsYUFBcUIsRUFBRSxVQUFrQixFQUFFLGdCQUF3QixFQUFFLGNBQWMsRUFBRSxnQkFBd0IsTUFBTTtJQUNuSSxJQUFJLE9BQU8sR0FBVyxLQUFLO1FBQ3ZCLFFBQVEsYUFBYSxFQUFFO1FBQ3ZCLFVBQVU7UUFDVixRQUFRO1FBQ1IsVUFBVTtRQUNWLE9BQU8sZ0JBQWdCLEVBQUU7UUFDekIsT0FBTyxjQUFjLEVBQUU7UUFDdkIsT0FBTyxhQUFhLEVBQUU7UUFDdEIsU0FBUztRQUNULE9BQU8sYUFBYSxFQUFFLENBQUE7SUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQ2pCLENBQUMsQ0FBQTtBQUdELElBQUksSUFBSSxHQUFHLENBQU8sY0FBc0I7SUFDcEMsTUFBTSxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQywwQ0FBMEMsRUFBRTtRQUN4RSxXQUFXLEVBQUUsY0FBYztLQUM5QixDQUFDLENBQUE7QUFDTixDQUFDLENBQUEsQ0FBQSJ9 //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRhbmFseXRpY3Muc2VuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0YW5hbHl0aWNzLnNlbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLG9EQUFtRDtBQUV4QyxRQUFBLEtBQUssR0FBRyxDQUFDLGFBQXFCLEVBQUUsVUFBa0IsRUFBRSxnQkFBd0IsRUFBRSxjQUFjLEVBQUUsZ0JBQXdCLE1BQU07SUFDckksSUFBSSxPQUFPLEdBQVcsS0FBSztRQUN6QixRQUFRLGFBQWEsRUFBRTtRQUN2QixVQUFVO1FBQ1YsUUFBUTtRQUNSLE9BQU8sVUFBVSxFQUFFO1FBQ25CLFVBQVU7UUFDVixPQUFPLGdCQUFnQixFQUFFO1FBQ3pCLE9BQU8sY0FBYyxFQUFFO1FBQ3ZCLE9BQU8sYUFBYSxFQUFFO1FBQ3RCLFNBQVM7UUFDVCxPQUFPLGFBQWEsRUFBRSxDQUFBO0lBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtBQUNmLENBQUMsQ0FBQTtBQUdELElBQUksSUFBSSxHQUFHLENBQU8sY0FBc0I7SUFDdEMsTUFBTSxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQywwQ0FBMEMsRUFBRTtRQUMxRSxXQUFXLEVBQUUsY0FBYztLQUM1QixDQUFDLENBQUE7QUFDSixDQUFDLENBQUEsQ0FBQSJ9

View File

@ -1,4 +1,7 @@
{ {
"npmts": {
"coverageTreshold": 40
},
"npmci": { "npmci": {
"globalNpmTools": [ "globalNpmTools": [
"npmts" "npmts"

View File

@ -1,6 +1,6 @@
{ {
"name": "smartanalytics", "name": "smartanalytics",
"version": "1.0.1", "version": "1.0.4",
"description": "Google Analytics everywhere", "description": "Google Analytics everywhere",
"main": "dist/index.js", "main": "dist/index.js",
"typings": "dist/index.d.ts", "typings": "dist/index.d.ts",

1
test/test.d.ts vendored
View File

@ -1 +0,0 @@
import 'typings-test';

View File

@ -5,10 +5,11 @@ export let event = (trackingIdArg: string, appNameArg: string, eventCategoryArg:
`&tid=${trackingIdArg}` + // the tracking ID `&tid=${trackingIdArg}` + // the tracking ID
'&cid=555' + '&cid=555' +
'&aip=1' + // anonymize the IP '&aip=1' + // anonymize the IP
`&an=${appNameArg}` + // appName
'&t=event' + '&t=event' +
`&ec=${eventCategoryArg}` + `&ec=${eventCategoryArg}` + // event category
`&ea=${eventActionArg}` + `&ea=${eventActionArg}` + // event action
`&el=${eventLabelArg}` + `&el=${eventLabelArg}` + // event label
'&ev=300' + '&ev=300' +
`&an=${eventLabelArg}` `&an=${eventLabelArg}`
send(payload) send(payload)