open-index/open-npm huggingface dataset:
npm package: @m2epro/auth-module
Description: This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 1.6.5.
Latest version: 0.0.5

# FileStructureNew

This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 1.6.5.

## Development server

Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.

## Code scaffolding

Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.

## Build

Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `-prod` flag for a production build.

## Running unit tests

Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Running end-to-end tests

Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/).

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
npm package: @m2epro/core
Description: This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 1.6.5.
Latest version: 0.0.41

# FileStructureNew

This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 1.6.5.

## Development server

Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.

## Code scaffolding

Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.

## Build

Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `-prod` flag for a production build.

## Running unit tests

Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Running end-to-end tests

Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/).

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
npm package: @m2epro/products-widget-ui
Description: This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 1.6.5.
Latest version: 0.0.4

# FileStructureNew

This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 1.6.5.

## Development server

Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.

## Code scaffolding

Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.

## Build

Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `-prod` flag for a production build.

## Running unit tests

Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Running end-to-end tests

Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/).

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
npm package: @m2epro/user-widget-ui
Description: This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 1.6.5.
Latest version: 0.0.5

# FileStructureNew

This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 1.6.5.

## Development server

Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.

## Code scaffolding

Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.

## Build

Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `-prod` flag for a production build.

## Running unit tests

Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Running end-to-end tests

Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/).

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
npm package: @m2inf/window-messenger
Description: A type-safe window.postMessage communication library
Author: amao
Latest version: 1.0.7


# @m2inf/window-messenger

> 基于 `window.postMessage` 的类型安全、事件驱动的通信库，用于 iframe 和窗口之间的通信。

灵感来源于 Node.js 的 `EventEmitter`，并且提供了完整的 TypeScript 类型支持与事件映射类型。

## ✨ 特性

- 🔒 类型安全的事件通信，支持泛型
- 🪟 基于 `window.postMessage` 实现
- 🧩 支持 iframe 或同源跨窗口通信
- 🛠 轻量级，无依赖

## 📦 安装

```bash
npm install @m2inf/window-messenger
```

或者

```bash
yarn add @m2inf/window-messenger
```

## 🔧 使用

### 定义共享事件映射

```ts
interface MyEvents {
  ready: { time: number };
  ping: string;
  pong: string;
}
```

### 父页面

```ts
import { WindowMessenger } from '@m2inf/window-messenger';

const messenger = new WindowMessenger<MyEvents>(iframeRef.value!.contentWindow!);

messenger.on('pong', (msg) => {
  console.log('👶 子页面返回：', msg);
});

messenger.on('ready', ({ time }) => {
  console.log('🚀 子页面已就绪', time);
  messenger.emit('ping', 'Who are you?');
});
```

### 子页面

```ts
import { WindowMessenger } from '@m2inf/window-messenger';

const messenger = new WindowMessenger<MyEvents>(window.parent);

messenger.on('ping', (msg) => {
  console.log('💬 来自父页面：', msg);
  messenger.emit('pong', "I'm 揽佬, 来财 来");
});

messenger.emit('ready', { time: Date.now() });
```

## 🧩 API

### `new WindowMessenger<T extends EventMap>(targetWindow: Window, targetOrigin = '*')`

创建一个新的 Messenger 实例。

- `T`：事件映射的类型。
- `targetWindow`：通信的目标 window。
- `targetOrigin`：目标窗口的源，默认为 `'*'`。

### `on<K extends keyof T>(event: K, callback: (payload: T[K]) => void): () => void`

监听事件。

### `emit<K extends keyof T>(event: K, payload: T[K]): void`

发送事件。

### `off<K extends keyof T>(event: K, callback: (payload: T[K]) => void): void`

移除事件监听。

## 🔒 安全说明

此库默认将消息发送到 `targetOrigin = '*'`。在生产环境中，建议明确指定目标窗口的 origin 以增强安全性，避免中间人攻击。

---

## 🪪 许可证

[MIT](./LICENSE)

```
npm package: @m2s-dev/helloworld
Description: A blank schematics
Latest version: 1.0.1

# Getting Started With Schematics

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

## Install

To test locally, install `@angular-devkit/schematics-cli` globally 

```bash
npm i -g @angular-devkit/schematics-cli
```

```bash
npm install
```

## Development

### Build
```bash
npm run build
```

### Testing schemmatic
```bash
schematics .:helloworld --name=Martin --debug=false --force
```
`--force` override/delete exists file

### Testing

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!