Research
Security News
Malicious npm Package Targets Solana Developers and Hijacks Funds
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
kutsatira-sdk
Advanced tools
Kutsatira SDK for Angular Applications.
Latest version available for each version of Angular
Angulartics2 | Angular |
---|---|
5.4.0 | 4.x |
6.3.1 | 5.x |
7.5.2 | 6.x - 7.x |
8.3.0 | 8.x |
9.1.0 | 9.x |
latest | 10.x |
npm install kutsatira-sdk --save
Angulartics2Module
to your root NgModule passing any options desiredimport { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { RouterModule, Routes } from '@angular/router';
import { Angulartics2Module } from 'kutsatira-sdk';
import { Angulartics2Kutsatira } from 'kutsatira-sdk/kutsatira';
const ROUTES: Routes = [
{ path: '', component: HomeComponent },
{ path: 'about', component: AboutComponent },
];
@NgModule({
imports: [
BrowserModule,
RouterModule.forRoot(ROUTES),
// added to imports
Angulartics2Module.forRoot(),
],
declarations: [AppComponent],
bootstrap: [AppComponent],
})
Note the different imports when Using Without A Router or Using With UI-Router.
startTracking()
to start the tracking of route changes.// component
import { Angulartics2Kutsatira } from 'kutsatira-sdk/kutsatira';
@Component({ ... })
export class AppComponent {
constructor(angulartics2Kutsatira: Angulartics2Kutsatira) {
angulartics2Kutsatira.startTracking();
}
}
To track events you can inject the directive angulartics2On
into any component and use the attributes angulartics2On
, angularticsAction
:
// component
import { Component } from '@angular/core';
@Component({
selector: 'song-download-box',
template: `
<div
angulartics2On="click"
angularticsAction="DownloadClick"
>
Click Me
</div>
`,
})
export class SongDownloadBox {}
import { NgModule } from '@angular/core';
import { Angulartics2Module } from 'kutsatira-sdk';
@NgModule({
imports: [
Angulartics2Module,
],
declarations: [
SongDownloadBox,
]
})
import { Angulartics2 } from 'angulartics2';
constructor(private angulartics2: Angulartics2) {
this.angulartics2.eventTrack.next({
action: 'myAction'
});
}
Pass string literals or regular expressions to exclude routes from automatic pageview tracking.
Angulartics2Module.forRoot({
pageTracking: {
excludedRoutes: [
/\/[0-9]{4}\/[0-9]{2}\/[a-zA-Z0-9|\-]*/,
'2017/03/article-title'
],
}
}),
/project/12981/feature
becomes /project/feature
Angulartics2Module.forRoot({
pageTracking: {
clearIds: true,
}
}),
By default, it removes IDs matching this pattern (ie. either all numeric or UUID) : ^\d+$|^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
.
You can set your own regexp if you need to :
/project/a01/feature
becomes /project/feature
Angulartics2Module.forRoot({
pageTracking: {
clearIds: true,
idsRegExp: new RegExp('^[a-z]\\d+$') /* Workaround: No NgModule metadata found for 'AppModule' */
}
}),
This can be combined with clearIds and idsRegExp
/project/12981/feature?param=12
becomes /project/12981/feature
Angulartics2Module.forRoot({
pageTracking: {
clearQueryParams: true,
}
}),
/callback#authcode=123&idToken=456
becomes /callback
Angulartics2Module.forRoot({
pageTracking: {
clearHash: true,
}
}),
Warning: this support is still experiemental
@angular/router
must still be installed! However, it will not be used.
import { Angulartics2RouterlessModule } from 'kutsatira-sdk/routerlessmodule';
@NgModule({
// ...
imports: [
BrowserModule,
Angulartics2RouterlessModule.forRoot(),
],
})
Warning: this support is still experiemental
@angular/router
must still be installed! However, it will not be used.
import { Angulartics2UirouterModule } from 'kutsatira-sdk/uiroutermodule';
@NgModule({
// ...
imports: [
BrowserModule,
Angulartics2UirouterModule.forRoot(),
],
})
Using SystemJS? If you aren't using defaultJSExtensions: true
you may need to use:
System.config({
packages: {
"/kutsatira-sdk": {"defaultExtension": "js"},
},
});
To track void events you can add void_
in front of the name of the action in the directive angularticsAction
:
// component
import { Component } from '@angular/core';
@Component({
selector: 'song-download-box',
template: `
<div
angulartics2On="click"
angularticsAction="void_DownloadClick"
>
Click Me
</div>
`,
})
export class SongDownloadBox {}
import { NgModule } from '@angular/core';
import { Angulartics2Module } from 'kutsatira-sdk';
@NgModule({
imports: [
Angulartics2Module,
],
declarations: [
SongDownloadBox,
]
})
To track events in step of configurator you can add angularticsAction
attribute in the code:
// component
import { Component } from '@angular/core';
@Component({
selector: 'song-download-box',
template: `
<div
angulartics2On="click"
angularticsAction="DownloadClick"
angularticsStep="step1"
>
Click Me
</div>
`,
})
export class SongDownloadBox {}
import { NgModule } from '@angular/core';
import { Angulartics2Module } from 'kutsatira-sdk';
@NgModule({
imports: [
Angulartics2Module,
],
declarations: [
SongDownloadBox,
]
})
FAQs
Vendor-agnostic web analytics for Angular2 applications
We found that kutsatira-sdk demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.