open-index/open-npm huggingface dataset:
npm package: @pixielabs/directus-extension-blurhash
Description: Requires Directus 10. May work on Directus 9 with some tweaking, YMMV.
Latest version: 1.0.0

Requires Directus 10. May work on Directus 9 with some tweaking, YMMV.

# Setup

1. `npm i @pixielabs/directus-extension-blurhash --save`. A post-install script
   will add a migration to your `extensions/migrations` folder.
2. Restart your Directus app if necessary.

# Development

```
$ npm i --ignore-scripts
$ npm run dev
```

In another terminal, go to your directus installation and:

1. Copy the migration from this folder
2. Use `wml` to auto-copy changes during dev (a symlink stops Node from 
   resolving our Sharp dependency).

   ```
   wml add path/to/@pixielabs/directus-extension-blurhash node_modules/@pixielabs/directus-extension-blurhash
   # Accept the defaults
   wml start
   ```

   If `wml start` does nothing, check [this issue for a fix](https://github.com/wix-incubator/wml/issues/48).

2. Start Directus (`npx directus start`)
npm package: @pixielity/advanced-logger
Description: A flexible and powerful logging library for JavaScript applications
Author: Your Name
Latest version: 0.1.1

# Advanced Logger

A flexible and powerful logging library for JavaScript applications.

## Features

- Multiple log levels (debug, info, warn, error)
- Multiple transports (console, memory, localStorage, IndexedDB, HTTP)
- Customizable formatters
- Context-aware logging
- TypeScript support
- Works in browser and Node.js environments

## Installation

```bash
npm install @pixielity/advanced-logger
# or
yarn add @pixielity/advanced-logger
```

## Basic Usage

```typescript
import { Logger, ConsoleTransport, textFormatter } from '@pixielity/advanced-logger';

// Create a simple logger
const logger = new Logger({
  prefix: 'MyApp',
  formatter: textFormatter,
  transports: [new ConsoleTransport()]
});

// Log messages
logger.info('Application started');
logger.warn('Something might be wrong', { details: 'Check this out' });
logger.error('An error occurred', { error: new Error('Something failed') });
```

## Using the LoggerManager

```typescript
import { loggerManager } from '@pixielity/advanced-logger';

// Create a console logger
const consoleLogger = loggerManager.createConsoleDriver({
  prefix: 'MyApp'
});

// Create a logger that stores logs in localStorage
const storageLogger = loggerManager.createLocalStorageDriver({
  prefix: 'MyApp',
  key: 'app_logs',
  maxLogs: 100
});

// Log with different loggers
consoleLogger.info('This goes to console');
storageLogger.info('This goes to localStorage');
```

## Advanced Usage

### Context-aware logging

```typescript
import { Logger, ConsoleTransport } from '@pixielity/advanced-logger';

const logger = new Logger({
  prefix: 'MyApp',
  transports: [new ConsoleTransport()]
});

// Create a logger with context
const userLogger = logger.withContext({
  userId: '123',
  sessionId: 'abc-xyz'
});

// All logs will include the context
userLogger.info('User action performed');
```

### Custom formatters

```typescript
import { LogFormatter, LogData, Logger, ConsoleTransport } from '@pixielity/advanced-logger';

// Create a custom formatter
class MyCustomFormatter implements LogFormatter {
  format(logData: LogData) {
    const { level, message, timestamp, prefix, metadata } = logData;
    return {
      message: `[${prefix}] ${level.toUpperCase()} at ${timestamp}: ${message}`,
      metadata
    };
  }
}

const logger = new Logger({
  prefix: 'MyApp',
  formatter: new MyCustomFormatter(),
  transports: [new ConsoleTransport()]
});
```