open-index/open-npm huggingface dataset:
npm package: @nexcella/logger
Description: Logger for TS/JS application
Author: Andrey Shabanov
Latest version: 1.0.0

# Logger

![](https://img.shields.io/npm/types/typescript.svg)

Simple and minimalistic library for logging. 

## Installation

### npm
```
npm i @nexcella/logger
```

### yarn
```
yarn add @nexcella/logger
```


## Usage

```js
// Create logger instance
const logger = new Logger(config: LoggerConfig)

// Logging messages with different types
logger.debug('Simple debug');
logger.info('Simple info');
logger.warn('Simple warn');
logger.error('Error with context', error);

// Get list of stored logs
logger.getLogs();
/*  ->> output - array of log strings
[
    "[1583397656725] DEBUG: Simple debug",
    "[2146437.1550000506] INFO: Simple info",
    "[2146437.159999972] WARN: Simple warn",
    "[2146437.159999972] ERROR: Error with context, {message: "Error message"}",
]*/
```
## Methods:
### This library supports the following logging methods:
- debug
- info
- warn
- error

All this methods have the following signature
```js
logger.debug(message: string, ...context: any);
```
An unlimited number of contexts can be passed to a method.
```js
logger.debug('message', {text: 'context1'}, {text: 'context2'}, {text: 'context3'});
```
**IMPORTANT** 

All contexts serialized by `JSON.stringify`.

### Getting stored logs
```js
logger.getLogs();
```

Return a list of stored logs in the format:

`[time] LOG_LEVEL message [context]`

[time] calculating by next rules:
 - first message stored current timestamp
 - all next messages stored result of `performance.now()`


## Config:

```typescript
enum LOG_LEVEL {
  DEBUG = 'DEBUG',
  INFO = 'INFO',
  WARN = 'WARN',
  ERROR = 'ERROR',
  NONE = 'NONE'
}
```

| Key | Type | Required | Description |
|--|--|--|--|
| logLevel | LOG_LEVEL | yes | Minimal log level for showing in console. All logs are stored in the storage regardless of this setting |

## Licence

License is MIT
npm package: @nexckycort/cra-template
Description: This is the template that i usually use when i work with React.
Author: Nestor Cortina
Latest version: 1.0.2

# @nexckycort/cra-template

This is the template that i usually use when i work with React.

Install

```sh
npx create-react-app my-app --template @nexckycort/cra-template

# or

yarn create react-app my-app --template @nexckycort/cra-template
```

## Available Scripts

In the project directory, you can run:

### `npm start`

Runs the app in the development mode.\
Open [http://localhost:3000](http://localhost:3000) to view it in the browser.

The page will reload if you make edits.\
You will also see any lint errors in the console.

### `npm run lint`

This script will validate the static code.

### `npm run lintstyle`

This script will validate the css and scss code.

### `npm run format`

This script will format the code to keep it consistent.

### `npm test`

Launches the test runner in the interactive watch mode.\
See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.

### `npm run build`

Builds the app for production to the `build` folder.\
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.\
Your app is ready to be deployed!

See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.

### `npm run eject`

**Note: this is a one-way operation. Once you `eject`, you can’t go back!**

If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.

Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.

You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.

## Contributing

If someone wants to add or improve something, I invite you to collaborate directly in this repository: [@nexckycort/cra-template](https://github.com/nexckycort/cra-template)

## License

@nexckycort/cra-template is released under the [MIT License](https://opensource.org/licenses/MIT).
npm package: @nexckycort/eslint-config
Description: ## Install
Author: Nestor Cortina
Latest version: 1.0.1

# eslint-config

## Install

```bash
npm install -D @nexckycort/eslint-config
```

## Usage

Use `extends` in your ESLint config

```json
{
  "extends": "@nexckycort/eslint-config"
}
```

## Included plugins

- [`eslint-plugin-prettier`](https://www.npmjs.com/package/eslint-plugin-prettier)
- [`eslint-plugin-import`](https://www.npmjs.com/package/eslint-plugin-import)
npm package: @nexckycort/eslint-config-react
Description: ## Install
Author: Nestor Cortina
Latest version: 1.0.0

# eslint-config

## Install

```bash
npm install -D @nexckycort/eslint-config @nexckycort/eslint-config-react
```

## Usage

Use `extends` in your ESLint config

```json
{
  "extends": ["@nexckycort/eslint-config", "@nexckycort/eslint-config-react"]
}
```

## Included plugins

- [`eslint-plugin-react`](https://www.npmjs.com/package/eslint-plugin-react)
- [`eslint-plugin-react-hooks`](https://www.npmjs.com/package/eslint-plugin-react-hooks)
npm package: @nexcraft/forge-angular
Description: Angular integration for Nexcraft Forge web components
Author: Nexcraft
Latest version: 1.0.2

# @nexcraft/forge-angular

Angular integration for Nexcraft Forge web components.

## Installation

```bash
npm install @nexcraft/forge @nexcraft/forge-angular
```

## Usage

### 1. Import the Module

```typescript
import { NgModule } from '@angular/core';
import { ForgeAngularModule } from '@nexcraft/forge-angular';

@NgModule({
  imports: [
    ForgeAngularModule.forRoot()
  ],
  schemas: ForgeAngularModule.getSchemas()
})
export class AppModule { }
```

### 2. Use Forge Components

```html
<!-- Basic component usage -->
<forge-button>Click me</forge-button>

<!-- With Angular directive -->
<forge-input 
  forgeComponent
  [(ngModel)]="inputValue"
  placeholder="Enter text">
</forge-input>

<!-- Modal with directive -->
<forge-modal forgeModal #modal="forgeModal">
  <h2>Modal Title</h2>
  <p>Modal content</p>
  <button (click)="modal.hide()">Close</button>
</forge-modal>

<!-- Data table with binding -->
<forge-data-table 
  forgeDataTable
  [tableData]="users"
  (sort)="onSort($event)"
  (select)="onSelect($event)">
</forge-data-table>
```

### 3. Form Integration

```typescript
import { FormBuilder, FormGroup } from '@angular/forms';

export class MyComponent {
  form: FormGroup;

  constructor(private fb: FormBuilder) {
    this.form = this.fb.group({
      name: [''],
      email: [''],
      isActive: [false]
    });
  }
}
```

```html
<form [formGroup]="form">
  <forge-input 
    forgeComponent
    formControlName="name"
    placeholder="Name">
  </forge-input>

  <forge-input 
    forgeComponent
    formControlName="email"
    type="email"
    placeholder="Email">
  </forge-input>

  <forge-checkbox 
    forgeComponent
    formControlName="isActive">
    Active
  </forge-checkbox>
</form>
```

### 4. Theme Management

```typescript
import { ForgeThemeService } from '@nexcraft/forge-angular';

export class AppComponent {
  constructor(private themeService: ForgeThemeService) {}

  toggleTheme() {
    this.themeService.toggleTheme();
  }

  setDarkTheme() {
    this.themeService.setTheme('dark');
  }
}
```

### 5. Notifications

```typescript
import { ForgeComponentService } from '@nexcraft/forge-angular';

export class MyComponent {
  constructor(private forgeService: ForgeComponentService) {}

  showSuccess() {
    this.forgeService.showNotification('Success!', 'success');
  }

  showError() {
    this.forgeService.showNotification('Error occurred', 'error');
  }
}
```

## API Reference

### Services

- `ForgeThemeService` - Theme management
- `ForgeComponentService` - Component utilities and notifications

### Directives

- `forgeComponent` - Base directive for all components
- `forgeModal` - Modal management directive  
- `forgeDataTable` - Data table binding directive
- Form integration with `ControlValueAccessor`

### Types

All TypeScript types are exported for use in your Angular applications.

## Peer Dependencies

- `@nexcraft/forge >= 0.7.0`
- `@angular/core ^17.0.0 || ^18.0.0 || ^19.0.0`
- `@angular/forms ^17.0.0 || ^18.0.0 || ^19.0.0`