open-index/open-npm huggingface dataset:
npm package: @frango9000/html-builder
Description: Build HTML elements using javascript
Author: Francisco Sanchez
Latest version: 0.0.4

JS to HTML string builder

Use Js to generate html strings

Install:

``npm i @frango9000/html-builder``


Usage: 

``import {a,p,br,customTag} from '@frango9000/html-builder'``

.

.

.

##  Simple tags:

``p("Paragraph")`` Outputs: ``<p>Paragraph</p>``

## With attributes: 

``a({href: "google.com", "Link")`` Outputs: ``<a href="google.com">Link</p>``

## Self closing tags:

``img({src: "localhost"}, "Text")`` Outputs: ``<img url="localhost" />``

## Custom Tags:

``customTag("pre", {zindex: "0"}, "Text")`` Outputs: ``<pre zindex="0">Text</pre>``


## Supported Tags

- style
- title
- a
- h1
- h2
- h3
- h4
- h5
- h6
- p
- b
- i
- q
- strong
- em
- pre
- code
- div
- span
- table
- thead
- tbody
- tfoot
- tr
- td
- th
- colgroup
- caption
- ul
- ol
- li
- dt
- dd
- details
- summary

### Self Closing Tags

- area
- base
- br
- col
- embed
- hr
- img
- input
- link
- meta
- param
- source
- track
- wbr
npm package: @frangoteam/fuxa-min
Description: Web-based Process Visualization (SCADA/HMI/Dashboard) software
Author: frangoteam
Latest version: 1.3.1

![fuxa logo](/client/src/favicon.ico) 
# FUXA
FUXA is a web-based Process Visualization (SCADA/HMI/Dashboard) software. With FUXA you can create modern process visualizations with individual designs for your machines and real-time data display.

![fuxa editor](/screenshot/fuxa-editor.png) 

![fuxa ani](/screenshot/fuxa-thinglinks.gif)

![fuxa action](/screenshot/feature-action-move.gif)

## Features
- Devices connectivity with Modbus RTU/TCP, Siemens S7 Protocol, OPC-UA, BACnet IP, MQTT, WebAPI, Ethernet/IP (Allen Bradley), ADSclient, Gpio (Raspberry), WebCam, MELSEC, ODBC, Redis
- SCADA/HMI Web-Editor - Engineering and Design completely web-based
- Cross-Platform Full-Stack - Backend with NodeJs and Frontend with Web technologies (HTML5, CSS, Javascript, Angular, SVG)

## Live Demo
Here is a [live demo](https://frangoteam.github.io) example of FUXA editor.

## Installing and Running
FUXA is developed with NodeJS (backend) and Angular (frontend).

**WARNING** You need to have installed [Node](https://nodejs.org/en/about/previous-releases) Version 14 || 16 || 18
If you don't intend communicate with Siemens PLCs via S7 (node-snap7 library) you can install from [NPM @frangoteam/fuxa-min](https://www.npmjs.com/package/@frangoteam/fuxa-min)

Install from [NPM](https://www.npmjs.com/package/@frangoteam/fuxa)
```
npm install -g --unsafe-perm @frangoteam/fuxa
fuxa
```

Open up a browser (better Chrome) and navigate to http://localhost:1881

## Usage
- Look the guide in [wiki](https://github.com/frangoteam/FUXA/wiki) pages
- Look video from [frangoteam](https://www.youtube.com/@umbertonocelli5301)
- Look video from [Fusion Automate - Urvish Nakum](https://youtube.com/playlist?list=PLxrSjjYyzaaK8uY3kVaFzfGnwhVXiCEAO&si=aU1OxgkUvLQ3bXHq)


## Let us know!
We’d be really happy if you send us your own shapes in order to collect a library to share it with others. Just send an email to 4frango@gmail.com and do let us know if you have any questions or suggestions regarding our work.

## <a href="https://discord.gg/WZhxz9uHh4" target="_blank" > <img src="https://skillicons.dev/icons?i=discord" alt=""></a>

## License
MIT.
npm package: @frani/cuit
Description: Utilities for Argentina CUIT
Author: frani
Latest version: 1.0.0

# CUIT Utilities

Argentina CUIT utilities based [on a wikipedia post](https://es.wikipedia.org/wiki/Clave_%C3%9Anica_de_Identificaci%C3%B3n_Tributaria)

This is a no-depenencies package

# Install

if you are using Yarn:

```sh
yarn add @frani/cuit
```

if you are using NPM:

```sh
npm i @frani/cuit
```

# Usage

how get a CUIT based on DNI:

```js
const cuit = require("@frani/cuit");

const cuitNumber = cuit.getCUITbyDNI("20300400");
console.log(cuitNumber); // 20203004002
```

## About Genders

be default it take it is from a Masculine gender person, you can modify that using:

```js
const cuit = require("@frani/cuit");

const cuitNumber = cuit.getCUITbyDNI("20300400", "F");
console.log(cuitNumber); // 27203004007
```

## This package also includes exceptions

if you read the wiki post, you there is some exception when generate some CUIT, here an example:

```js
const cuit = require("@frani/cuit");

const cuitNumber = cuit.getCUITbyDNI("20300404", "F");
console.log(cuitNumber); // 23203004044
```

instead of start with 27 (as normal for Femenine), it starts with 23

## Check CUIT validation

```js
const cuit = require("@frani/cuit");

const isValid = cuit.validateCuit("23203004044");
console.log(isValid); // true
```

## Format CUIT

```js
const cuit = require("@frani/cuit");

const formatted = cuit.format("23203004044");
console.log(formatted); // "23-20300404-4"

const formatted = cuit.format("23203004044", ".");
console.log(formatted); // "23.20300404.4"

const formatted = cuit.format("23-20300404-4", "");
console.log(formatted); // "23203004044"
```
npm package: @frani/easy-no-password
Description: Generates secure, timestamped tokens for passwordless authentication without a database backend.
Author: Frani
Latest version: 2.0.4

# Easy No Password

The increasing scrutiny over weak passwords has been leading more and more developers to opt for passwordless login flows and two-factor authentication.

Passwordless login and two-factor authentication usually involve emailing or texting a unique token to a user, and giving them a certain amount of time to enter that token into the login screen.

This library is unique because it uses cryptography techniques to generate timestamped tokens, eliminating the need for a database to store tokens. The tokens themselves contain all the information needed to check for their validity.

## Installation

    $ npm install  @frani/easy-no-password

## Quick Start

```javascript
const enp = require('@frani/easy-no-password')

// Creating a token
let userid = 'frani'
let secret = 'shh-this-is-our-secret'
let token = await enp.create(userid, secret) // '8ejx73k9z01'

// Validating a token
let token = '8ejx73k9z01'
let userid = 'frani'
let secret = 'shh-this-is-our-secret'
let validated = await enp.validate(token, userid, secret) // TRUE or FALSE
```

## More Details

The tokens are 64-bit values encoded into 10-11 ASCII characters. Tokens are generated with a millisecond timestamp resolution. This means that with the default window of 15 minutes, at any point in time, 9e5 tokens are valid out of a total space of 2^64 (0.000000000005%).

## Contributing

Contributions are welcome. Before submitting a pull request, please check for errors by running the tests and the JavaScript linter.

    $ cd /path/to/easy-no-password
    $ npm run test
    $ npm run lint

Please also run your changes with an newer version of Node.js; this library supports from to Node.js version 10.x
Github Actions will fail if you write code incompatible with Node.js version 10.x

## License

MIT

## Inspiration

[sffc's repository](https://github.com/sffc/easy-no-password)
npm package: @frani/totp
Description: Time based One Time Password generator code - this is a no-depenencies package
Author: frani
Latest version: 1.0.2

# Time based One Time Password

Simple TOTP, one function to call and generate OTP token.

This is a no-depenencies package

# Install

if you are using Yarn:

```sh
yarn add @frani/totp
```

if you are using NPM:

```sh
npm i @frani/totp
```

# Usage

to generate:

```js
const totp = require("@frani/totp");

const token = totp.generate({
  secret: "123", // optional - default is 'secret'
  timeStep: 30, // optional - default is 30 seconds
  digits: 6, // optional - default is 6
});
console.log(token); // 480143
```

in case you want to compare, simple regenerate and check with '===', example:

```js
const totp = require("@frani/totp");

const CODE = "123123";

const token = totp.generate({
  secret: "123", // optional - default is 'secret'
  timeStep: 30, // optional - default is 30 seconds
  digits: 6, // optional - default is 6
});
console.log(token); // 480143

if (CODE === token) return true; // is false
```
npm package: @franjid/easy-firebase-notifications
Description: Send notifications messages through Firebase
Author: Franjid
Latest version: 1.0.1

# What is this?

Just a basic "library" to send notifications messages through Firebase

## What do you need

First of all, you need to sign up on [Firebase Cloud Messaging](https://firebase.google.com/docs/cloud-messaging).

Then, set up a [project and service account](https://firebase.google.com/docs/admin/setup#set-up-project-and-service-account).

Save you `PROJECT_ID` key and your `service-account.json` file as you will need them later. 

## Example

I've included an [example on how to use the library](usageExample.js).

Remember to init the lib with your `PROJECT_ID` and the path to `service-account.json`.

Run:
```
node usageExample.js
```

And have fun sending your awesome notifications!
npm package: @franjorub/platzom
Description: Traductor de idiomaplatzom
Author: Francisco Rubial
Latest version: 0.1.0

# Platzom

Platzom es un idioma inventado para el [Curso de Fundamentos de JavaScript](https://platzi.com/js) de [Platzi](https://platzi.com), el mejor lugar de educación online

## Descripción del idioma

- Si la palabra termina con "ar", se le quitan esas dos letras
- Si la palabra inicia con Z, se le añade "pe" al final
- Si la palabra traducida tiene 10 o más letras, se debe partir en dos por la mitad y unir con un guión medio
- Por último, si la palabra original es un palíndromo, ninguna regla anterior cuenta y se devuelve la misma palabra pero intercalando letras mayúsculas y minúsculas

## Instalación

```
npm install platzom
```

## Uso

```
import platzom from 'platzom'

platzom("Programar") // Program
platzom("Zorro") // Zorrope
platzom("Zarpar") // Zarppe
platzom("abecedario") // abece-dario
platzom("sometemos") // SoMeTeMoS
```

## Créditos
- [Sacha Lifszyc](https://twitter.com/@slifszyc)

## Licencia

[MIT](https://opensource.org/licenses/MIT)