open-index/open-npm huggingface dataset:
npm package: @mjefi/moments
Description: Rename Photos.app exported folders
Author: Marcin
Latest version: 0.0.11

# @mjefi/moments

> Rename Photos.app exported folders

CLI app to help convert exported folders from e.g.:

```
.
├── Amsterdam Airport Schiphol - Schiphol, North Holland, 10 June 2019
├── Griffintown - Montréal, QC, 11 June 2019
└── Oban - Scotland, 10 June 2019
```

to:

```
.
├── 2019-06-10 - Amsterdam Airport Schiphol - Schiphol, North Holland
├── 2019-06-10 - Oban - Scotland
└── 2019-06-11 - Griffintown - Montréal, QC
```

## Install

```
$ npm i -g @mjefi/moments
```

## Usage

```
$ moments
```

```
❯ moments --help

  Usage
    ❯ moments [path] [Default '.']

  Examples
    ❯ moments ./exported
    ✔ 2019-06-25
    ✔ 2019-06-26 - Riverside - Glasgow, Scotland
    ✔ 2019-06-27 - Ad Lib - Merchant City - Ingram Street
    ✔ 2019-06-28 - Walk In The Park
```

## License

MIT © [mjeightyfive](https://mje.fi)
npm package: @mjeightyfive/bcm
Description: BEM class names generator for CSS modules
Author: Marcin
Latest version: 1.0.5

# @mjeightyfive/bcm [![Build Status](https://travis-ci.org/mjeightyfive/bcm.svg?branch=master)](https://travis-ci.org/mjeightyfive/bcm)

## Install

```
$ npm i @mjeightyfive/bcm
```

## Usage

```jsx
import bcm from '@mjeightyfive/bcm';
import styles from './my.module.scss';

const bx = bcm(styles);

const App = () => (
    <div className={bx('app')}>
        <h1 className={bx('app__title', { teal: true })>App</h1>
    </div>
);
```

```scss
// my.module.scss:

.app {
    background-color: white;
}

.app__title {
    color: black;
}

.app__title--teal {
    color: teal;
}
```


## Examples

```js
bx('photo');
// => photo

bx('photo', 'nice');
// => nice photo

bx('photo__img', 'lazyload', { framed: true, 'featured': true });
// => lazyload photo__img photo__img--featured photo__img--framed

bx('photo__img', 'lazyload', { framed: true, 'photo__img--featured': true });
// => lazyload photo__img photo__img--featured photo__img--framed

bx('photo__img', ['featured', 'framed', 'black-and-white']);
// => photo__img photo__img--black-and-white photo__img--featured photo__img--framed

const classes = ['photo', 'very', 'nice'];
bx(...classes);
// => nice photo very
```

## API

### bcm(styles)

#### object

Type: `object`

```
// e.g. localIdentName: '[local]__[hash:base64:5]'

{
    photo: "photo__1D89u"
    photo__caption: "photo__caption__1rDET"
    photo__img: "photo__img__X_pPt"
    photo__img--featured: "photo__img--featured__30ZMP"
    photo__img--framed: "photo__img--framed__2Myh-"
    photo__img--black-and-white: "photo__img--black-and-white__10Og5"
    ...
}
```

## Credits

Based on [class-names](https://www.npmjs.com/package/@sindresorhus/class-names) and [bem-names](https://www.npmjs.com/package/bem-names)


## License

MIT © [mjeightyfive](https://mje.fi)
npm package: @mjeightyfive/chunkify-array
Description: Divide an array into equally sized chunks with the remainder in the last chunk
Author: mjeightyfive
Latest version: 1.0.1

# @mjeightyfive/chunkify-array [![Build Status](https://travis-ci.com/mjeightyfive/chunkify-array.svg?branch=master)](https://travis-ci.com/mjeightyfive/@mjeightyfive/chunkify-array)

## Install

```
$ npm i @mjeightyfive/chunkify-array
```


## Usage

```js
const chunkifyArray = require('@mjeightyfive/chunkify-array');

chunkifyArray([1, 2, 3, 4, 5], 3);
// => [ [ 1, 2 ], [ 3, 4 ], [ 5 ] ]
```


## API

### chunkifyArray(array, chunks)

#### array

Type: `array`

[1, 2, 3, 4, 5]

#### chunks

Type: `number`

3

## CLI

```
$ npm i -g @mjeightyfive/chunkify-array
```

```
❯ chunkify-array --help

  Usage
    ❯ chunkify-array <string> <number> [Default: '' 1]

  Options
    --int, -i  Accept integers from comma separated input [Default: false]

  Examples
    ❯ chunkify-array 1,2,3,4,5 3
    [ [ '1', '2' ], [ '3', '4' ], [ '5' ] ]

    ❯ chunkify-array --int 1,2,3,4,5 3
    [ [ 1, 2 ], [ 3, 4 ], [ 5 ] ]
```

## License

MIT © [mjeightyfive](https://mje.fi)
npm package: @mjeightyfive/eslint-config
Description: > Eslint Config
Latest version: 0.0.76

# @mjeightyfive/eslint-config

> Eslint Config

## Install

### JavaScript

```sh
❯ npm i -D @mjeightyfive/eslint-config
```

then in your `.eslintrc.json` add:

```json
"extends": ["@mjeightyfive/eslint-config"]
```

### React:

```json
"extends": ["@mjeightyfive/eslint-config", "@mjeightyfive/eslint-config/react"]
```

### JSON:

```json
"extends": ["@mjeightyfive/eslint-config", "@mjeightyfive/eslint-config/json"]
```

### TypeScript:

```json
"extends": ["@mjeightyfive/eslint-config", "@mjeightyfive/eslint-config/typescript"]
```

### React + TypeScript:

```json
"extends": ["@mjeightyfive/eslint-config", "@mjeightyfive/eslint-config/react", "@mjeightyfive/eslint-config/typescript"]
```

## License

MIT © [mjeightyfive](https://mje.fi)
npm package: @mjeightyfive/stylelint-config
Description: stylelint-config
Author: Marcin
Latest version: 0.0.24

# @mjeightyfive/stylelint-config

> Stylelint Config

## Usage

```sh
❯ npm i -D @mjeightyfive/stylelint-config
```

then in your `.stylelintrc` add:

```json
"extends": ["@mjeightyfive/stylelint-config"]

```

## License

MIT © [mjeightyfive](https://mje.fi)
npm package: @mjeightyfive/test-package
Description: Test package
Author: Marcin
Latest version: 1.1.4

# @mjeightyfive/test-package

> Test Package

[![CI](https://github.com/mjeightyfive/test-package/actions/workflows/test.yml/badge.svg)](https://github.com/mjeightyfive/test-package/actions/workflows/test.yml)

## Install

`npm i @mjeightyfive/test-package`

## Usage

```
import { add } from '@mjeightyfive/test-package';

add(2, 2); // => 4
```

## Example

## Structure

## API

## License

MIT © [mjeightyfive](https://mje.fi)
npm package: @mjekott/payment
Description: A React library for integrating payment processing into your applications.
Author: Flick
Latest version: 1.0.0

# @mjekott/payment

A React library for integrating payment processing into your applications.

## Installation

```bash
npm install @mjekott/payment
# or
yarn add @mjekott/payment
```

## Usage

First, wrap your application with the `PaymentProvider`:

```tsx
import { PaymentProvider } from "@mjekott/payment";

function App() {
  return (
    <PaymentProvider
      config={{
        apiKey: "your-api-key",
        environment: "sandbox", // or 'production'
      }}
    >
      <YourApp />
    </PaymentProvider>
  );
}
```

Then, use the `PaymentButton` component in your application:

```tsx
import { PaymentButton } from "@mjekott/payment";

function Checkout() {
  return (
    <PaymentButton
      config={{
        amount: "10000", // Amount in base unit (e.g., 10000 = $100.00)
        phoneNumber: "+2348081234567",
        currencyCollected: "USD",
        currencySettled: "USD",
        email: "customer@example.com",
        payerId: "customer_123",
        redirectUrl: "https://your-domain.com/payment/success",
        webhookUrl: "https://your-domain.com/api/webhook",
        transactionId: "txn_123456789",
      }}
      onError={(error) => {
        console.error("Payment error:", error);
      }}
    />
  );
}
```

## Types

### PaymentConfig

```typescript
interface PaymentConfig {
  amount: string;
  phoneNumber: string;
  currencyCollected: string;
  currencySettled: string;
  email: string;
  payerId: string;
  redirectUrl?: string;
  webhookUrl?: string;
  transactionId?: string;
}
```

## License

MIT
npm package: @mjf_27/diet-record
Description: OpenClaw skill for diet recording — log meals via text or food photo, auto-recognize food items and estimate nutrition/calories.
Latest version: 1.0.1

# diet-record

OpenClaw skill for diet recording — log meals via text description or food photo, auto-recognize food items and estimate nutrition/calories.

## Install

```bash
npx diet-record
```

This copies the skill files into your OpenClaw workspace (`~/.openclaw/workspace/skills/diet-record/`). Start a new session with `/new` to activate.

### Options

```bash
# Install to global skills (shared by all agents)
npx diet-record install --global

# Install to a custom directory
npx diet-record install --dir /path/to/skills

# Uninstall
npx diet-record uninstall
```

## Features

- Log meals via text description or food photo upload
- Auto-recognize food items and estimate calories/nutrition
- Track user dietary preferences, allergies, and goals
- Daily/weekly nutrition summary
- Supports Chinese and Western cuisines

## Manual Install

If you prefer not to use npx, copy the `SKILL.md` file directly:

```bash
cp SKILL.md ~/.openclaw/workspace/skills/diet-record/SKILL.md
```

## License

MIT
npm package: @mjfwebb/require-options-object
Description: An eslint/teslint plugin that enforces using an options object for functions with more than three parameters.
Latest version: 1.6.0

# @mjfwebb/require-options-object

An eslint/teslint plugin that enforces using an options object for functions with more than three parameters.

## Installation

```bash
npm install --save-dev @mjfwebb/require-options-object
```

## Usage

Import and register the plugin in your teslint configuration:

```js
import requireOptionsObject from "@mjfwebb/require-options-object";

export default {
  plugins: {
    "require-options-object": requireOptionsObject,
  },
  rules: {
    // Require options object for functions with more than three parameters
    "require-options-object/require-options-object": "error",
  },
};
```

## Rule: require-options-object/require-options-object

**Enforces using an options object when a function has more than three parameters.**

### Examples

#### ❌ Incorrect

```js
function test(a, b, c, d) {
  return a + b + c + d;
}

const fn = (x, y = 2, z, w = "w") => x * y * z * parseInt(w);

const obj = {
  method(a, b, c, d) {
    return;
  },
};

class C {
  constructor(a, b, c, d) {}
}

class C2 {
  constructor(a: string, b: number, c: boolean, d: unknown) {}
}
```

#### ✅ Correct

```js
function test({ a, b, c, d }) {
  return a + b + c + d;
}

const fn = ({ x, y = 2, z, w = "w" }) => x * y * z * parseInt(w);

const obj = {
  method({ a, b, c, d }) {
    return;
  },
};

class C {
  constructor({ a, b, c, d }) {}
}

class C2 {
  constructor({
    a,
    b,
    c,
    d,
  }: {
    a: string,
    b: number,
    c: boolean,
    d: unknown,
  }) {}
}

// Property callbacks are also allowed (signatures may be controlled by external APIs)
const config = {
  listener: async (locationName, itemName, quantity, quality) => {
    console.log(locationName, itemName, quantity, quality);
  },
};

obj.callback = (x, y, z, w, v) => x + y + z + w + v;

// Callbacks passed as function arguments are also allowed
eventEmitter.on("data", async (id, payload, timestamp, metadata) => {
  await processData({ id, payload, timestamp, metadata });
});
```

### Notes

- Functions with three or fewer parameters are not affected.
- Standard callbacks (e.g., `replaceAll(x => x.toUpperCase())`) are ignored.
- Property callbacks are ignored (e.g., `{ listener: (a, b, c, d) => {} }` or `obj.callback = (a, b, c, d) => {}`), as these function signatures may be controlled by external APIs.
- Callbacks passed as function arguments are ignored (e.g., `eventEmitter.on('event', (a, b, c, d) => {})`), as these function signatures are typically controlled by external APIs.
- The rule auto-fixes by converting parameters to a destructured options object.
- If none of the original parameters had a type annotation, the generated destructured parameter will not have a type annotation either.
- Functions with rest parameters (e.g., `...rest`) are not affected.
- Functions with destructured parameters as the first parameter are not auto-fixed.

## License

MIT
npm package: @mjhls/mjh-framework
Description: Foundation Framework
Author: mjh-framework
Latest version: 1.0.1099

# mjh-framework v. 1.0.1098

[![NPM](https://img.shields.io/npm/v/mjh-framework.svg)](https://www.npmjs.com/package/mjh-framework) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install --save @mjhls/mjh-framework
```

## Usage

```jsx
import React, { Component } from 'react'

import { NavMagazine, DeckQueue } from 'mjh-framework'

export default class App extends Component {
  render() {
    return (
      <div>
        <NavMagazine />
        <DeckQueue />
      </div>
    )
  }
}
```

## Publish new updates to the npm registry

```bash
npm publish
```

## For getting updates in the template without publishing each time a change is made in the framework

Link react and react-dom of the template repo, so that it can be used by the framework.
This is to avoid the error arising due to multiple instances of React.

```bash
cd ../mjh-template/node_modules/react

yarn link

cd ../react-dom

yarn link

cd ../../../mjh-framework

yarn link react && yarn link react-dom
```

Link the framework repo so that it can be used in the template

```bash
npm link

cd ../mjh-template

npm link @mjhls/mjh-framework
```

## Components and "props"

### Deck Components

- #### DeckContent

  ##### Props

  - mapping
  - dataRecord
  - query
  - params
  - pointer
  - pointerArray
  - defaultImage

- #### DeckQueue
  ##### Props
  - page
  - dataRecord
  - query
  - params
  - pointer
  - pointerArray

### Layout Components

- #### Column1
- #### Column2
  ##### Props
  - rightItems
- #### Column3
  ##### Props
  - leftItems
  - rightItems
  ##### Common Props (Column1, Column2, Column3)
  - title
  - children
- #### Header
  ##### Props
  - title
  - keyword
  - description
- #### LeftNav
  ##### Props
  - leftItems
- #### AccordionPanel
  ##### Props
  - accordionClassName
  - data

### Navigation Components

- #### NavMagazine
  ##### Props
  - logo
  - dataObject
- #### NavNative
  ##### Props
  - logo
  - dataObject
- #### NavNormal
  ##### Props
  - logo
  - dataObject
  - variant
- #### NavDvm
  ##### Props
  - logo
  - dataObject
  - subNavHeads

### Template Components

- #### TemplateNormal
  ##### Props
  - config
  - title
  - keywords
  - description
  - website

### Ad Components

- #### AD300x250
- #### AD300x250x600
- #### AD728x90
  ##### Common Props
  - networkID
  - adUnit

### Serializers

- #### getSerializers (function)
  ##### arguments
  - client
  ##### types
  - youtube
  - figure
  - slideshow

## License

MIT © [mjh-framework](https://github.com/mjh-framework)
npm package: @mjinkens1/react-native-launch-screen
Description: TODO
Author: Your Name
Latest version: 1.0.0

# react-native-launch-screen

## Getting started

`$ npm install react-native-launch-screen --save`

### Mostly automatic installation

`$ react-native link react-native-launch-screen`

## Usage
```javascript
import LaunchScreen from 'react-native-launch-screen';

// TODO: What to do with the module?
LaunchScreen;
```
npm package: @mjk/webpack-dotenv-extended-plugin
Description: Use dotenv-extended with webpack.
Author: Alex Krautmann
Latest version: 0.0.2

# Webpack dotenv-extended plugin

Use dotenv-extended with webpack.

## Motivation

[`dotenv`](https://github.com/bkeepers/dotenv) is a fantastic and useful way to
manage environment variables. I wanted to keep the good times going when
working with webpack for frontend projects.

## Install

```
npm i --save-dev webpack-dotenv-extended-plugin
```

## Usage

`webpack-dotenv-extended-plugin` uses [`dotenv-extended`](https://github.com/keithmorris/node-dotenv-extended)
under the hood to read and check environment variables. The same options that
can be passed to `dotenv-extended` can be passed to this plugin.

It then reads, parses and exports the listed env vars from `.env` into
stringified `process.env` so it can be bundled for use with webpack.

Externally set environment variables will override vars set in `.env`.

```js
// webpack.config.js
const DotenvPlugin = require('webpack-dotenv-extended-plugin');

module.exports = {
  ...
  plugins: [
    new DotenvPlugin({
      schema: './.env.schema',
      defaults: './.env.defaults',
      path: './.env'
    })
  ]
  ...
};
```