open-index/open-npm huggingface dataset:
npm package: @ma3-pro-plugins/ma3-ts-plugin-builder
Description: grandMA3 Typescript plugin build script
Author: Erez Makavy [@hepiyellow]
Latest version: 1.2.2

# grandMA3 TypeScript Plugin Build Script

This is a cli build script for building grandMA3 plugins that are written in TypeScript.

> See [ma3-ts-plugin-template](https://github.com/ma3-pro-plugins/ma3-ts-plugin-template) for an example of a plugin that uses this build script.
>
> The script uses:

-   Node.js 16+
-   TSTL [TypeScriptToLua](https://typescripttolua.github.io)

## Install

> `npm install -D @ma3-pro-plugins/ma3-ts-plugin-builder`

## Features

-   Prod & Dev builds
-   Generate plugin XML file
-   Supports multiple lua plugin components.
-   Supports mutltiple MA target versions (e.g. MA version 1.6 uses different plugin XML file tags than 1.8)
-   Dev build runs in watch mode (build the lua bundle everytime a typescript file changes)
-   Auto-Install: both Dev and Pro builds automatically install the plugin in your plugins library.
-   Built-In Images: If you wish to embed small images in the code itself, then it converts images to base 64.
-   Generate plugin README.pdf from a template
-   Creates an installation ZIP file, with the README and the MA USB folder structure.

## 💫 License

-   Code and Contributions have **MIT License**

###### Copyleft (c) 2022 [Erez Makavy] ([@hepiyellow] <[hepi@ma3-pro-plugins.com](mailto:hepi@ma3-pro-plugins.com)>
npm package: @ma4ete44/user-actions-tracker
Description: logging of a fingerprint and some extra options
Author: viktorminor44@gmail.com
Latest version: 1.0.6

# Logging user actions with fingerprint

## Installation

```bash
$ npm i @ma4ete44/user-actions-tracker
# or
$ yarn add @ma4ete44/user-actions-tracker
```

## Usage

First of all, you need to initialize this library.
Note!!! You should initialize it once and globally.

```js
import { init } from '@ma4ete44/user-actions-tracker';

init();
```

You can add extra options, i.e:

```js
import { init } from '@ma4ete44/user-actions-tracker';

init({}, {
  include: [
    'userAgent',
    'language',
    'timezone',
    'plugins',
    'timezoneOffset',
    'screenResolution',
    'platform',
  ],
  userActions: [
      'click',
      'transition',
    ],
  eventName: 'myEvent',
  url: `http://some-url.com`,
});
```
The first options' object is a default options of fingerprintjs2 library. See the
[documentation](https://github.com/Valve/fingerprintjs2).

The second options' object is a custom object where you can set some options such as:

1. include is array of options what you want to include to final object (see above example).
2. userActions is an array of events which you want to log.
3. eventName is a custom event name ('identification_fingerprint' is default name).
4. url - is an address to log your fingerprint object. (logs to the console by default).
 

Also, to catch user click you need to add attribute 'data-fingerprint' to your element,
or add 'data-fingerprint-*' mask to add extra data
#### Example
```html
<button data-fingerprint>My button</button>

or

<button data-fingerprint-my-custom-field="some value">My button</button>
```

and a total object of fingerprint will be:
```bash

{
  ... //some fields
  my-custom-field: 'some value',
  event: 'identification_fingerprint',
  fingerprint_hash: '14776fb615bfcb9c26a121d27895542e',
  ...
}

```

 
## Adding your events
You can import 'log' functions and add your event to log them.
```js
import { addEvent } from '@ma4ete44/user-actions-tracker';

someFunction(){
  
  addEvent({eventName: 'my value'})

}
```

## List of default options
```bash
'userAgent'
'webdriver'
'language'
'colorDepth'
'deviceMemory'
'hardwareConcurrency'
'screenResolution',
'availableScreenResolution',
'timezoneOffset'
'timezone'
'sessionStorage'
'localStorage'
'indexedDb'
'addBehavior'
'openDatabase'
'cpuClass'
'platform',
'plugins'
'canvas'
'webgl'
'webglVendorAndRenderer'
'adBlock'
'hasLiedLanguages'
'hasLiedResolution'
'hasLiedOs'
'hasLiedBrowser'
'touchSupport'
'fonts'
'audio'
```