open-index/open-npm huggingface dataset:
npm package: @m1st1ck/expo-apple-pay
Description: Apple pay integration for Expo
Author: m1st1ck
Latest version: 0.1.1

# expo-apple-pay

## Installation

```
npx expo install @m1st1ck/expo-apple-pay
```

## Setting up Apple Pay
Before you can start accepting payments in your App, you'll need to setup Apple Pay.
1. Register as an Apple Developer
2. Obtain a merchant ID

Apple has a documentation on how to do this in their _[Configuring your Environment](https://developer.apple.com/library/content/ApplePay_Guide/Configuration.html)_ guide.


## Configuration in app.json / app.config.js
**app.json**
```json
{
  "plugins": [
    [
      "expo-apple-pay",
      {
        "merchantIdentifiers": "merchant.",
      }
    ]
  ]
}
```

or

**app.config.js**
```js
export default {
  ...
  plugins: [
    [
      "expo-apple-pay",
      {
        merchantIdentifiers: "merchant.",
      }
    ]
  ]
};
```

### Plugin Prop
You can pass props to the plugin config object to configure:

| Plugin Prop|||
|---------------------|----------|-----------------------------------------|
| `merchantIdentifiers` | **required** | The merchant identifiers you registered with Apple for use with Apple Pay.
||||

## Usage

```js
import ExpoApplePay, {
  MerchantCapability,
  PaymentNetwork,
  CompleteStatus,
} from "expo-apple-pay";
```


Show Apple pay dialog
```js
ExpoApplePay.show({
    merchantIdentifier: "merchant...",
    countryCode: "US",
    currencyCode: "USD",
    merchantCapabilities: [MerchantCapability["3DS"]],
    supportedNetworks: [PaymentNetwork.masterCard, PaymentNetwork.visa],
    paymentSummaryItems: [
        {
            label: "Ice",
            amount: 0.51,
        },
        {
            label: "Expo",
            amount: 0.51,
        },
    ],
})
.then((paymentData) => {
    // process paymentData on your server
    // then complete the payment process
    ExpoApplePay.complete(
        CompleteStatus.success
    );
    // or
    ExpoApplePay.complete(
        CompleteStatus.failure
    );
     
})
.catch((err) => {

});
```
You can dismiss the dialog
```js
ExpoApplePay.dismiss();
```

## TODO:
- requiredShippingContactFields 
- shippingType 
- shippingMethods
npm package: @m1stergo/storybook-autodocs
Description: Storybook autodocs is an utility that takes the typescript definitions of your Vue component and defines the argTypes for storybook automatically.
Author: Elias Torres
Latest version: 0.0.2

# storybook-autodocs
Storybook autodocs is an utility that takes the typescript definitions of your Vue component and defines the argTypes for storybook automatically.
npm package: @m1yang/pp-test
Description: Explore testing frameworks.
Author: m1yang
Latest version: 0.0.2

# Explore testing frameworks

测试框架功能丰富，尝试简易实现并拓展其可用范围。在业务上测试流程基本上是：组织用例、执行用例、验证结果、生成报告，但是在代码实现方面会考虑到并行功能，需要对每个测试文件执行以上流程，所以在此之前需要有额外的任务调度功能。

注意：nodejs 在创建子进程的时候，传输的数据需要满足 `结构化克隆算法`，简单来说就是只能传输`js plain object`。测试用例带有函数，传输代价大，所以测试文件的读取需要放在子进程中。

以命令行为入口来分析整个代码流程：
  1. 加载配置，根据配置来判断以何种方式执行测试，即实现config和runner
  2. 读取用例文件列表，判断需要执行哪些任务，并以此创建调度中心，即实现dispatcher
  3. 调度中心创建子进程分派任务，子进程执行测试用例，收集结果，并返回给调度中心，即实现worker
  4. 子进程会加载测试文件，测试文件中需要实现对应函数以组织测试用例，即实现testSuite
  5. 调度中心收集子进程返回的结果，并生成报告（考虑TAP），即实现reporter

## 并行如何实现：

文件本身是一组测试，内部再根据函数分组。
各组之间可以并行，组内串行。
先收集测试数据，再执行测试步骤。
同一标题下的用例为一组，加入用例时计算标题 hash 值，值相同则用例归为同一组
更精准的做法应该是BeforeAll、AfterAll 函数一致则为同一组，但是这样在程序上难做判定
钩子函数不一定会在用例之前就设置好，且同一个钩子可能出现在不同的用例组内。所以在组织钩子函数时还不知道其下会影响哪些测试用例。

```js
test.suite("测试用例1，并行", () => {
  console.log('开始执行测试步骤，串行');
  test("测试步骤1", () => {
    console.log("1");
  })
  test("测试步骤2", () => {
    console.log("2");
  })
  test("测试步骤3", () => {
    console.log("3");
  })
});

test.suite("测试用例2，并行", () => {
  console.log('开始执行测试步骤，串行');
  test("测试步骤1", () => {
    console.log("1");
  })

  test.suite("用例内分组，并行", () => {
    test("测试步骤1", () => {
      console.log("1");
    })
  });
});
```

## 重试如何实现：

重试考虑2种情况：
  1. 执行时立即重试失败的步骤
  2. 执行完再重试失败的用例

测试用例单独配置，嵌套情况由内向外覆盖配置。

retries vitest直接循环遍历重试的次数，根据测试结果判断是否继续重试，通过则break。

```js
console.log('有默认的根测试组所以可以顶格设置配置');
test.config({
  retry: number,
  timeout: number,
  threads: number,
})

test.suite("测试用例单独配置", () => {
  test.config({
    retry: number
  })
});
```

## 报告如何实现：

```tap
1..4  # 测试计划，表示预计要运行4个测试用例

ok 1 - Test addition function with positive numbers # 测试通过，编号1，描述“测试正数的加法功能”

not ok 2 - Test subtraction function with negative result # 测试失败，编号2，描述“测试产生负数的减法功能”
# 诊断信息，可以包含失败的具体原因，如实际输出与预期不符等
# Failed test 'Test subtraction function with negative result'
# at line XYZ in file 'test_math_functions.py'
# Got: -5
# Expected: 5

ok 3 - Test multiplication function with zero # 测试通过，编号3，描述“测试用0进行乘法运算的功能”

skip 4 - Test division function with zero as divisor # 测试跳过，编号4，描述“测试除数为0的除法功能”（因为这个测试会导致错误或异常）
# 跳过原因：Division by zero is not allowed

# 测试结果统计可以手动添加，或者由解析TAP输出的工具自动生成
# 以下是一个可能的测试结果统计示例（通常不由测试框架直接输出，而是由外部工具处理生成）
# Passed: 2
# Failed: 1
# Skipped: 1
# Total: 4
```

## 开发计划
API实现重点在于测试标题和测试步骤
测试标题用于分组，并行执行，嵌套分类，子类下带步骤则为一条用例，用例才有配置等信息
测试步骤，串行执行，不能嵌套，功能单一，只有标题及函数

fixture 太重了，不考虑实现

通过hooks和测试运行时的信息可以构建测试插件

配置reporter、多线程、插件等功能待实现
npm package: @m2-modules/dialog
Description: WebComponent `dialog` powered by M2 Framework
Author: Jay Lee
Latest version: 1.0.3

<h1>@m2-modules/dialog</h1>
<p>
  <a href="https://www.npmjs.com/package/@m2-modules/dialog" target="_blank">
    <img alt="Version" src="https://img.shields.io/npm/v/@m2-modules/table.svg">
  </a>
  <a href="#" target="_blank">
    <img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-yellow.svg" />
  </a>
</p>

> UI component for dialog

## Install

```sh
yarn install
```

## Build

```sh
yarn build
```

## Build for development

```sh
# Watching source changes to rebuild it
# You can `yarn link` to the place where you want to use it
yarn build:dev
```

## Author

👤 **Jay Lee <jaylee.possible@gmail.com>**

- Website: https://possible819.github.io
- Github: [@possible819](https://github.com/possible819)
npm package: @m2-modules/form
Description: WebComponent `form` powered by M2 Framework
Author: Jay Lee
Latest version: 1.0.3

<h1>@m2-modules/form</h1>
<p>
  <a href="https://www.npmjs.com/package/@m2-modules/form" target="_blank">
    <img alt="Version" src="https://img.shields.io/npm/v/@m2-modules/form.svg">
  </a>
  <a href="#" target="_blank">
    <img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-yellow.svg" />
  </a>
</p>

> UI component which is extends native form element

## Install

```sh
yarn install
```

## Build

```sh
yarn build
```

## Build for development

```sh
# Watching source chages to rebuild it
# You can `yarn link` to the place where you want to use it
yarn build:dev
```

## Author

👤 **Jay Lee <jaylee.possible@gmail.com>**

- Website: https://possible819.github.io/
- Github: [@possible819](https://github.com/possible819)
npm package: @m2-modules/menu-tree
Description: WebComponent `menu-tree` powered by M2 Framework
Author: Jay Lee
Latest version: 1.0.3

<h1>@m2-modules/menu-tree</h1>
<p>
  <img alt="Version" src="https://img.shields.io/badge/version-0.0.1-blue.svg?cacheSeconds=2592000" />
  <a href="#" target="_blank">
    <img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-yellow.svg" />
  </a>
</p>

> UI component to show menu as tree view

## Install

```sh
yarn install
```

## Install

```sh
yarn install
```

## Build

```sh
yarn build
```

## Build for development

```sh
# Watching source chages to rebuild it
# You can `yarn link` to the place where you want to use it
yarn build:dev
```

## Author

👤 **Jay Lee <jaylee.possible@gmail.com>**

- Website: https://possible819.github.io/
- Github: [@possible819](https://github.com/possible819)
npm package: @m2-modules/react-native-ios-feedback-generator
Description: React native feedback generator module for iOS
Author: Jay Lee
Latest version: 0.1.0

# @m2-modules/react-native-ios-feedback-generator

React native feedback generator module for iOS

## Installation

```sh
npm install @m2-modules/react-native-ios-feedback-generator
```

## Usage

```js
import {
  impactFeedback,
  ImpactFeedbackStyle,
} from '@m2-modules/react-native-ios-feedback-generator';

// ...

impactFeedback(ImpactFeedbackStyle.Heavy);
```

## Contributing

See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.

## License

MIT
npm package: @m2-modules/redux-manager
Description: WebComponent `redux-manager` powered by M2 Framework
Author: Jay Lee
Latest version: 1.0.3

<h1>@m2-modules/redux-manager</h1>
<p>
  <a href="https://www.npmjs.com/package/@m2-modules/redux-manager" target="_blank">
    <img alt="Version" src="https://img.shields.io/npm/v/@m2-modules/redux-manager.svg">
  </a>
  <a href="#" target="_blank">
    <img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-yellow.svg" />
  </a>
</p>

> Common module for sharing redux object all around of M2 Modules ecosystem

## Install

```sh
yarn install
```

## Build

```sh
yarn build
```

## Build for development

```sh
# Watching source chages to rebuild it
# You can `yarn link` to the place where you want to use it
yarn build:dev
```

## Author

👤 **Jay Lee <jaylee.possible@gmail.com>**

- Website: https://possible819.github.io
- Github: [@possible819](https://github.com/possible819)
npm package: @m2-modules/router
Description: WebComponent `router` powered by M2 Framework
Author: Jay Lee
Latest version: 1.0.3

<h1>@m2-modules/router</h1>
<p>
  <a href="https://www.npmjs.com/package/@m2-modules/router" target="_blank">
    <img alt="Version" src="https://img.shields.io/npm/v/@m2-modules/router.svg">
  </a>
  <a href="#" target="_blank">
    <img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-yellow.svg" />
  </a>
</p>

> UI component to provide basic client routing

## Install

```sh
yarn install
```

## Build

```sh
yarn build
```

## Build for development

```sh
# Watching source chages to rebuild it
# You can `yarn link` to the place where you want to use it
yarn build:dev
```

## Author

👤 **Jay Lee <jaylee.possible@gmail.com>**

- Website: https://possible819.github.io
- Github: [@possible819](https://github.com/possible819)
npm package: @m2-modules/table
Description: WebComponent `table` powered by M2 Framework
Author: Jay Lee
Latest version: 1.0.4

<h1>@m2-modules/table</h1>
<p>
  <a href="https://www.npmjs.com/package/@m2-modules/table" target="_blank">
    <img alt="Version" src="https://img.shields.io/npm/v/@m2-modules/table.svg">
  </a>
  <a href="#" target="_blank">
    <img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-yellow.svg" />
  </a>
</p>

> UI component to show list of items based on HTML table tag

## Install

```sh
yarn install
```

## Build

```sh
yarn build
```

## Build for development

```sh
# Watching source chages to rebuild it
# You can `yarn link` to the place where you want to use it
yarn build:dev
```

## Author

👤 **Jay Lee <jaylee.possible@gmail.com>**

- Website: https://possible819.github.io
- Github: [@possible819](https://github.com/possible819)
npm package: @m2-oss/web-configs
Description: common settings for eslint/prettier/tsc
Latest version: 0.1.0

# `@m2-oss/web-configs`

## Install

```sh
$ yarn add @m2-oss/web-configs prettier eslint typescript -D
```

## Usage

### `.prettierrc.js`

```js
module.exports = {
    ...require('@m2-oss/web-configs/prettier'),
};
```

### `.eslintrc.js`

```js
module.exports = {
    extends: require.resolve('@m2-oss/web-configs/eslint'),
    env: {
        node: true,
    },
};

```

### `tsconfig.json`

```json
{
    "extends": "@m2-oss/web-configs/tsconfig.json"
}
```

## License

MIT © [m2](https://m2.ru)
npm package: @m22/xstate-schematics
Description: XState machine schematics for Angular CLI 
Author: griga
Latest version: 0.0.9

\# Code generation for xstate

This repository is a basic Schematic implementation that serves as a starting point to create and publish Schematics to NPM.

### Testing

To test locally, install `@angular-devkit/schematics-cli` globally and use the `schematics` command line tool. That tool acts the same as the `generate` command of the Angular CLI, but also has a debug mode.

Check the documentation with
```bash
schematics --help
```

### Unit Testing

`npm run test` will run the unit tests, using Jasmine as a runner and test framework.

### Publishing

To publish, simply do:

```bash
npm run build
npm publish
```

That's it!
npm package: @m22spirit/xstate-schematics
Description: XState machine schematics for Angular CLI 
Author: griga
Latest version: 0.0.7

# Getting Started With Schematics

This repository is a basic Schematic implementation that serves as a starting point to create and publish Schematics to NPM.

### Testing

To test locally, install `@angular-devkit/schematics-cli` globally and use the `schematics` command line tool. That tool acts the same as the `generate` command of the Angular CLI, but also has a debug mode.

Check the documentation with
```bash
schematics --help
```

### Unit Testing

`npm run test` will run the unit tests, using Jasmine as a runner and test framework.

### Publishing

To publish, simply do:

```bash
npm run build
npm publish
```

That's it!
npm package: @m234/nerd-fonts
Description: Gets Nerd Fonts glyph icons via a CSS class name or a file path with an extension.
Author: Mopsgamer
Latest version: 0.5.1

# @m234/nerd-fonts

[![jsDocs.io](https://img.shields.io/badge/jsDocs.io-reference-blue.svg?style=flat)](https://www.jsdocs.io/package/@m234/nerd-fonts)
[![npm version](https://img.shields.io/npm/v/@m234/nerd-fonts.svg?style=flat)](https://www.npmjs.com/package/@m234/nerd-fonts)
[![npm downloads](https://img.shields.io/npm/dm/@m234/nerd-fonts.svg?style=flat)](https://www.npmjs.com/package/@m234/nerd-fonts)
[![github](https://img.shields.io/github/stars/Mopsgamer/nerd-fonts.svg?style=flat)](https://github.com/Mopsgamer/nerd-fonts)
[![github issues](https://img.shields.io/github/issues/Mopsgamer/nerd-fonts.svg?style=flat)](https://github.com/Mopsgamer/nerd-fonts/issues)

Gets Nerd Fonts glyph icons via a CSS class name or a file path with an extension.

## Features

- Nerd Fonts version: `3.4.0`.
- No dependencies.
- Built-in TypeScript declarations.
- Convert a Nerd Fonts CSS class to an icon: 10 764 icons.
- Convert a file path into a colored icon using the Seti preset or a custom callback.

## Install

```bash
npm i @m234/nerd-fonts
```

## Usage

Import:

```js
import * as nf from "@m234/nerd-fonts";
```

### Get by class name

Using `icons`:

```js
const icon = nf.icons['nf-md-weather_lightning']
console.log(`Weather: ${icon.value}`);
// >> Weather: 󰖓
```

Using `iconsMap`:

```js
const icon = nf.iconsMap.get('nf-md-weather_lightning')
console.log(`Weather: ${icon.value}`);
// >> Weather: 󰖓
```

### Get by file path

Using `fromPath` preset:

```js
const file = 'example/index.js';
const ficon = nf.fromPath(file, 'seti');
console.log(`Icon ${ficon.value} for ${file}`);
// >> Icon  for example/index.js
```

Using `fromPath` custom:

```js
const file = 'example/index.js';
const ficon = nf.fromPath(file, (base) => {
    if (base.endsWith('/'))
        return icons['nf-seti-folder']
    return nf.fromPath(base, 'seti')
});
console.log(`Icon ${ficon.value} for ${file}`);
// >> Icon  for example/index.js
```

Using [chalk](https://github.com/chalk/chalk):

```js
import chalk from "chalk";
const file = 'example/index.js';
const ficon = nf.fromPath(file, 'seti');
const colorize = chalk.hex(ficon.color)
console.log(`Icon ${colorize(ficon.value)} for ${file}`);
// >> Icon  for example/index.js
```

Using `%c`:

```js
const file = 'example/index.js';
const ficon = nf.fromPath(file, 'seti');
console.log(`Icon %c${ficon.value} for ${file}`, `color: ${ficon.color}`);
// >> Icon  for example/index.js
```

## See also

- https://jsr.io/@m234/path
npm package: @m27oflegend/appcleaner
Description: Simple macOS app uninstaller with deep cleaning and undo support
Latest version: 0.1.0

# appcleaner

A simple macOS app uninstaller that makes cleanup fast.

## Why this exists

Uninstalling apps from **macOS Settings -> General -> Storage -> Applications** can be a hassle.

This tool cuts that flow down to a few taps:

- scan installed apps
- pick what to remove
- discover related files
- uninstall with undo-friendly trash staging

## What it does

- Interactive CLI app selection
- Deep file discovery for app traces
- Safe staging to local trash before removal
- Undo/restore support from trash entries
- Trash listing and cleanup actions

## Requirements

- macOS
- [Bun](https://bun.sh/) for development
- Node.js (v18+) for npm users

## Install

### For developers (clone this repo)

```bash
bun install
```

### Global install (published package)

With npm:

```bash
npm install -g @m27oflegend/appcleaner
```

With bun:

```bash
bun add -g @m27oflegend/appcleaner
```

Then run:

```bash
appcleaner
```

(`clean` also works as an alias.)

## Local run (dev)

```bash
bun run dev
```

## Build

```bash
bun run build
```

## Tests

```bash
bun test
```

## Notes

- This project is designed for convenience and speed while keeping uninstall actions reviewable.
- System paths are guarded to avoid accidental removal of protected files.

## Publish (npm + bun)

This project publishes to the npm registry, which works for both npm and bun users.

```bash
# authenticate once
npm login
bunx npm whoami

# publish (runs test/build/pack checks via prepublishOnly)
npm run publish:npm
```

Or publish with bun:

```bash
bun run publish:bun
```