open-index/open-npm huggingface dataset:
npm package: @musasutisna/nodco-api
Description: make easier configuration nodejs configuration intergration with axios
Author: Musa Sutisna
Latest version: 1.0.0

<h1 align="center">Nodejs Config API</h1>

Nodejs config api is package to make easier configuration nodejs configuration intergration with axios.

## Getting started

Lets install nodco-api with npm

```bash
npm install --save @musasutisna/nodco-api
```

## Libraries

- Axios, manage Axios configurations efficiently.

| Method | Type | Description |
|:--|:--|:--|
| apiGET | async | Sends a GET request. |
| apiPOST | async | Sends a POST request. |
| apiPUT | async | Sends a PUT request. |
| apiPATCH | async | Sends a PATCH request. |
| apiDELETE | async | Sends a DELETE request. |

```js
nodcoAPIConfig({
  {
    // configuration will be pass into axios instance
  }
  {
    // default configuration will be pass and combine into method requests
  }
})
```
npm package: @musasutisna/nodco-email
Description: make easier configuration nodejs configuration intergration with email
Author: Musa Sutisna
Latest version: 1.1.0

<h1 align="center">Nodejs Config Email</h1>

Nodejs config api is package to make easier configuration nodejs configuration intergration with email.

## Getting started

Lets install nodco-email with npm

```bash
npm install --save @musasutisna/nodco-email
```

## How to initialize

```js
const nodcoEmailConfig = require('@musasutisna/nodco-email');

nodcoEmailConfig(
  {
    host, // string, email host
    port, // number, email port
    secure, // boolean, email secure mode
    pool, // boolean, email pool mode
    tls, // mixed, allow to add tls mode
    username, // string, email user username
    password, // string, email user password
    options  // object, option will be pass and combine into every payload on send email
  }
)
```

| Method | Type | Description |
|:--|:--|:--|
| connect | async | Open connection to email. |
| close | async | Close all connection have been made. |
| send | async | Sending email |

<br/>

```js
connect(
  key, // string, the unique key in config we have on initialize
  cb // string, function callback will be call after connected successful
)

close(
  // no arguments
)

send(
  key, // string, the unique key in config we have on initialize
  payload // object, the content will be send
)
```
npm package: @musasutisna/nodco-logging
Description: make easier configuration nodejs configuration intergration with logging
Author: Musa Sutisna
Latest version: 1.0.0

<h1 align="center">Nodejs Config Logging</h1>

Nodejs config api is package to make easier configuration nodejs configuration intergration with logging.

## Getting started

Lets install nodco-logging with npm

```bash
npm install --save @musasutisna/nodco-api
```

## How to initialize

```js
nodcoLogginConfig(
  {
    // default config here
  }
)
```

| Method | Type | Description |
|:--|:--|:--|
| send | async | Manage logs and send into file. |

```js
send(
  logIds, // string, unique id log
  message // string, message will be write into log file
)
```
npm package: @musasutisna/nodco-moment
Description: make easier configuration nodejs configuration intergration with moment
Author: Musa Sutisna
Latest version: 1.1.0

<h1 align="center">Nodejs Config moment</h1>

Nodejs config api is package to make easier configuration nodejs configuration intergration with moment.

## Getting started

Lets install nodco-moment with npm

```bash
npm install --save @musasutisna/nodco-moment
```

## How to initialize

```js
const nodcoMomentConfig = require('@musasutisna/nodco-moment');

nodcoMomentConfig(
  {
    // default config here
  }
)
```

| Method | Type | Description |
|:--|:--|:--|
| config | object | Moment pre defined configuration items. |
| m | function | Moment instance. |
| setTimezone | function | Set default timezone. |
| utc | function | Identify datetime string in utc timezone then configurable timezone. |
| format | function | Formating datetime moment with config. |
| formatm | function | Formating datetime string with config. |
| formatutc | function | Formating datetime utc string with config. |

<br/>

```js
setTimezone(
  timezone // string, IANA Time Zone
)

utc(
  datetime, // string, datetime will be identify
  utcOffset // number, utcoffset config
)

format(
  datetime, // object, datetime in moment
  format, // string, config datetime format or moment datetime format
  localeId // string, localization id
)

formatm(
  datetime, // string, datetime will be identify
  format, // string, config datetime format or moment datetime format
  localeId // string, localization id
)

formatutc(
  datetime, // string, datetime utc will be identify
  format, // string, config datetime format or moment datetime format
  localeId // string, localization id
)
```
npm package: @musasutisna/nodco-sequelize
Description: make easier configuration nodejs configuration intergration with sequelize
Author: Musa Sutisna
Latest version: 1.1.0

<h1 align="center">Nodejs Config Sequelize</h1>

Nodejs config api is package to make easier configuration nodejs configuration intergration with sequelize.

## Getting started

Lets install nodco-sequelize with npm

```bash
npm install --save @musasutisna/nodco-sequelize
```

## How to initialize

```js
const nodcoSequelizeConfig = require('@musasutisna/nodco-sequelize');

nodcoSequelizeConfig(
  {
    host, // string, database host
    port, // number, database port
    database, // string, database name
    username, // string, database user username
    password, // string, database user password
    dialect, // string, database sequelize dialect
    dialectModule, // mixed, database dialect module
    dialectOptions // mixed, database dialect options
  }
)
```

| Method | Type | Description |
|:--|:--|:--|
| client | object | List of sequelize client have been connected. |
| connect | async | Open connection to sequelize. |
| close | async | Close all connection have been made. |

<br/>

```js
connect(
  key, // string, the unique key in config we have on initialize
  cb // function, function callback will be call after connected successful
)

close(
  // no arguments
)
```
npm package: @musasutisna/vue-auth
Description: make easier developed auth with vue
Author: Musa Sutisna
Latest version: 1.2.0

<h1 align="center">Vue Auth</h1>

VueAuth is based on **Vue 3** with composition style codes

## Getting started

Lets install vue-auth with npm

```bash
npm install --save pinia vue @musasutisna/vue-axios @musasutisna/vue-auth
```

## Configuration

```js
window.config.VUE_AUTH = {
  API_BASEURL: 'your api baseurl',
  API_LOGIN: '/login',
  API_RECOVERY: '/recovery',
  API_LOGOUT: '/u/logout',
  API_VERIFY: '/u/profile',
  AUTH_STORE: 'localStorage',
  AUTH_KEY: 'token',
  TOKEN: 'your auth token'
}
```

| Property | Type | Default | Description |
|:--|:--|:--|:--|
| API_BASEURL | String | /api/v1 | Baseurl of api auth. |
| API_LOGIN | String | /login | Endpoint of api auth login. |
| API_RECOVERY | String | /recovery | Endpoint of api auth recovery. |
| API_LOGOUT | String | /logout | Endpoint of api auth logout. |
| API_VERIFY | String | /u/profile | Endpoint of api auth verify. |
| AUTH_STORE | String | localStorage | Method to store token `localStorage` or `sessionStorage`. |
| AUTH_KEY | String | token | The unique key id of store. |
| TOKEN | String | null | Initial auth token. |

<br/>

## Locale

| Keys | Default |
|:--|:--|
| VUE_AUTH_LOGIN_PROCESS | loading message of login process. |
| VUE_AUTH_RECOVERY_PROCESS | loading message of recovery process. |
| VUE_AUTH_VERIFY_PROCESS | loading message of verify process. |
| VUE_AUTH_LOGOUT_PROCESS | loading message of logout process. |

<br/>

## Composables

### Axios

- useAxiosAuth, axios instance for auth api.

### Apis

- useApiAuth, axios configured of auth with configured baseUrl and header authorization with Bearer.

| Method | Type | Description |
|:--|:--|:--|
| endpoints | Object | list api endpoints. |
| toLogin | async | Send request login. | 
| toRecovery | async | Send request recovery. | 
| toVerify | async | Send request auth verify. |
| toLogout | async | Send request auth logout. |

<br/>

### Stores

- useAuthStore, manage result response of api request data.

| Property | Type | Description |
|:--|:--|:--|
| data | Object | Result data response from request login or verify on executed. |
| setData | function | set current result data response. |

<br/>

## Components

- VueAuth, verify user authorization on token is exists.

| Props | Type | Description |
|:--|:--|:--|
| class | String | Class value attributes will be bind into element. |

<br/>

| Emit | Type | Description |
|:--|:--|:--|
| verified | function | Executed when verified process is completed |

<br/>

- VueProtect, verify user authorization.

| Props | Type | Description |
|:--|:--|:--|
| class | String | Class value attributes will be bind into element. |

<br/>

| Emit | Type | Description |
|:--|:--|:--|
| verified | function | Executed when verified process is completed |
npm package: @musasutisna/vue-locale
Description: a lightweight and efficient Vue localization package that simplifies multilingual support
Author: Musa Sutisna
Latest version: 1.0.2

<h1 align="center">Vue Locale</h1>

A lightweight and efficient Vue localization package that simplifies multilingual support in Vue applications, built on top of [vue-i18n](https://vue-i18n.intlify.dev). It loads language sets from files and automatically sets the language based on the user's browser.

## Getting started

Lets install vue-locale with npm

```console
npm install --save vue-i18n @musasutisna/vue-locale
```

After the installation is complete, add the locale package and integrate it into your Vue app in `main.js`.

```js
import locale from '@musasutisna/vue-locale'
```

```js
app.use(locale({
  supported: ['en'],
  initial: 'en',
  scope: 'global'
}))
```

## Configuration

The locale can be configured using the options: `supported`, `initial`, and `scope` to interact with vue-i18n

* `supported`: A list of available languages for the application.
* `initial`: The default language used when the user's browser language is not in the supported list.
* `scope`: The vue-i18n mechanism for defining the localization scope, whether using mode options or the Composition API (reference: [vue-i18n locale](https://vue-i18n.intlify.dev/guide/essentials/scope)).

## Language sets

Language sets are located in the Vue public directory under the locales folder.

```sh
mkdir -p {YOUR_VUE_APP_PATH}/public/locales
```

Language files are formatted using IANA language codes and saved as JSON files.

```sh
touch {YOUR_VUE_APP_PATH}/public/locales/en.json
```

Vue I18n can use message format syntax to localize the messages to be displayed in the UI. Vue I18n messages are interpolations and messages with various feature syntax. For more details, refer to [Message Format Syntax](https://vue-i18n.intlify.dev/guide/essentials/syntax.html).

```json
{
  "message": {
    "the_world": "the world",
    "dio": "DIO:",
    "linked": "@:message.dio @:message.the_world !!!!"
  }
}
```

# How to use in your component

Before using localization, you need to load your language sets. The best practice is to load them inside onMounted using i18nSwitchLanguage

```js
import { onMounted, inject } from 'vue'

const switchLanguage = inject('i18nSwitchLanguage')

onMounted(async () => {
  await switchLanguage()
})
```

i18nSwitchLanguage is provided by vue-locale, allowing access via inject or through global properties using $i18nSwitchLanguage.

You can also handle the loading process manually if needed, as loading it instantly (as shown in the previous example) may cause warning messages to appear in the developer console.

In the template, we use the $t translation API injected with Vue I18n, to localize. This allows Vue I18n to change the locale without rewriting the template, also to be able to support the globally application.

```js
<template>
  <p>{{ $t('message.linked') }}</p>
</template>
```

The first argument is `message.linked` as the locale messages key as a parameter to `$t`.

As result the below:

```html
<p>DIO: the world !!!!</p>
```
npm package: @musasutisna/vue-moment
Description: make easier configuration vue intergration with moment.
Author: Musa Sutisna
Latest version: 1.0.0

<h1 align="center">Vue moment</h1>

Vue moment is package to make easier configuration vue intergration with moment.

## Getting started

Lets install vue-moment with npm

```bash
npm install --save moment moment-timezone @musasutisna/vue-moment
```

## How to initialize

```js
import moment from '@musasutisna/vue-moment'
```

| Method | Type | Description |
|:--|:--|:--|
| config | object | Moment pre defined configuration items. |
| m | function | Moment instance. |
| setTimezone | function | Set default timezone. |
| utc | function | Identify datetime string in utc timezone then configurable timezone. |
| format | function | Formating datetime moment with config. |
| formatm | function | Formating datetime string with config. |
| formatutc | function | Formating datetime utc string with config. |

<br/>

```js
setTimezone(
  timezone // string, IANA Time Zone
)

utc(
  datetime, // string, datetime will be identify
  utcOffset // number, utcoffset config
)

format(
  datetime, // object, datetime in moment
  format, // string, config datetime format or moment datetime format
  localeId // string, localization id
)

formatm(
  datetime, // string, datetime will be identify
  format, // string, config datetime format or moment datetime format
  localeId // string, localization id
)

formatutc(
  datetime, // string, datetime utc will be identify
  format, // string, config datetime format or moment datetime format
  localeId // string, localization id
)
```
npm package: @muscula.com/muscula-angular
Description: Muscula.com error logger for Angular applications
Author: Michal Zubkowicz
Latest version: 1.0.0

# @muscula.com/muscula-angular

Angular error logger for [Muscula.com](https://www.muscula.com). Thin wrapper around `@muscula.com/muscula-webapp-js-logger` that integrates with Angular's error handling.

Requires Angular 19+.

## Installation

```bash
npm install @muscula.com/muscula-angular
```

## Quick Start

Add `provideMuscula()` to your `app.config.ts`:

```typescript
import { ApplicationConfig } from '@angular/core';
import { provideMuscula } from '@muscula.com/muscula-angular';

export const appConfig: ApplicationConfig = {
  providers: [
    provideMuscula('YOUR-MUSCULA-LOG-ID'),
  ]
};
```

That's it. All unhandled errors are now reported to Muscula.

## What Gets Captured

| Error source | How |
|---|---|
| Component errors, lifecycle hooks, template expressions | Angular `ErrorHandler` |
| HTTP errors (4xx, 5xx) | Functional HTTP interceptor |
| Unhandled promise rejections | `APP_INITIALIZER` global listener |
| Errors in `setTimeout`, third-party scripts | `window.onerror` (via JS logger) |

## Configuration

```typescript
provideMuscula({
  logId: 'YOUR-MUSCULA-LOG-ID',
  harvesterUrl: 'https://custom-harvester.example.com',  // optional, custom endpoint
  skipHttpInterceptor: true,   // optional, if you handle HTTP errors yourself
  skipGlobalErrorListeners: true, // optional, if you set up global listeners elsewhere
})
```

## Manual Logging

Inject `MusculaService` to log manually:

```typescript
import { inject } from '@angular/core';
import { MusculaService } from '@muscula.com/muscula-angular';

@Component({ ... })
export class MyComponent {
  private muscula = inject(MusculaService);

  onSave() {
    try {
      // ...
    } catch (err) {
      this.muscula.error('Save failed', err, { userId: 123 });
    }
  }
}
```

Available methods: `fatal()`, `error()`, `warning()`, `info()`, `debug()`, `trace()`.

Each accepts a message string and optional `structuralData` object (arbitrary metadata sent alongside the error).

## How It Works

`provideMuscula()` registers three providers in Angular's DI:

1. **`ErrorHandler`** — replaces Angular's default error handler. Every unhandled exception from components, directives, pipes, and lifecycle hooks is forwarded to `MusculaLog.Error()`.

2. **HTTP Interceptor** (functional `HttpInterceptorFn`) — intercepts all `HttpClient` responses. On error, sends the HTTP status, message, and URL to Muscula, then re-throws so your app's error handling still works.

3. **Global error listener** (`APP_INITIALIZER`) — registers a browser `unhandledrejection` event listener to catch unhandled promise rejections. Synchronous errors from `setTimeout` and third-party scripts are caught by the underlying JS logger's `window.onerror` binding.

Under the hood, all three use `@muscula.com/muscula-webapp-js-logger` which sends errors to `https://harvester.muscula.com/js` via XHR with stack traces resolved by `stacktrace-js`.
npm package: @muscula.com/muscula-webapp-js-logger
Description: Muscula.com appender / logger for modern web applications
Author: Michal Zubkowicz
Latest version: 1.2.1

# muscula-webapp-js-logger

## Usage

#### Install npm package
```npm install --save @muscula.com/muscula-webapp-js-logger```

#### Initialize library at app startup:
 
```MusculaLog.Init(<LogId>)```

#### Use it:
```
try {
    throw new Error('Error');
} catch(exception) {
    MusculaLog.Error('Something wrong', exception, {userId: ''}})
}
``` 
    
You can pass your own parameters to info object (third parameter).