open-index/open-npm huggingface dataset:
npm package: @hssoft/vue-cli-plugin-electron-build-extend
Description: Vue CLI 插件，electron扩展打包
Author: hongshan
Latest version: 0.0.7

# @hssoft/vue-cli-plugin-electron-build-extend

#### 介绍
electron打包扩展插件，可分项目管理版本号、获取git commit提交内容整理到release note输出、打包完后自动上传到FTP服务器。


#### 安装

```bash
npm install @hssoft/vue-cli-plugin-electron-build-extend -D
```

#### 使用说明

1. 在项目跟目录的`packagedConfig`(如果没有先创建)文件夹下创建`项目名.jsonc`文件，(项目名要与执行命令的环境变量BUILD_PROJECT的值相同)，内容示例如下：
```json
{ // 版本
  "version": "1.0.0",
  // 测试版打包次数，每次打包完成后会在此基础上加1，正式版打包后置为1
  "times": 1,
  // 属性名 特定标识的属性
  "property": "Setup",
  // 生产环境下安装包的名称格式
  // name: 项目名称，来源于vue.config.js中的pluginOptions.electronBuilder.builderOptions.productName
  // property: 属性名
  // version: 版本
  "name-format-prod": "{name} {property} {version}",
  // 开发环境下安装包的名称格式
  // name: 项目名称，来源于vue.config.js中的pluginOptions.electronBuilder.builderOptions.productName
  // property: 属性名
  // version: 版本
  // creator: 创建者，来源于接受用户输入的creator
  // times: 打包次数
  "name-format-dev": "{name} {property} {version}-debug-{creator}-{times}",
  // 最新一次正式包的构建日期
  "last-build-date-prod": "2025-03-09 23:00:48",
  // 最新一次测试包的构建日期
  // 正式包构建后，此日期会被更新为正式包的构建日期
  "last-build-date-dev": "2025-03-01 08:00:00",
  // 发布到FTP文件夹名称
  "publish-folder": "xxx医院",
  // 生产环境打包日志模板
  "release-note-template-prod": "# xxx医院{artifactName}\r\n - 【===正式版，请验证后给医护人员使用===】\r\n - 发布日期：{releaseDate}\r\n\r\n## 修改如下：\r\n{releaseNote}",
  // 开发环境打包日志模板
  "release-note-template-dev": "# xxx医院{artifactName}\r\n - 【===测试版，请不要给医护人员使用===】\r\n - 发布日期：{releaseDate}\r\n\r\n## 修改如下：\r\n{releaseNote}"
}
```
2. 在`package.json`的`scripts`里添加如下命令：
```json
"electron:build:extend": "cross-env BUILD_PROJECT=xxx vue-cli-service electron:build:extend --mode production",
"electron:build:extend:dev": "cross-env BUILD_PROJECT=xxx vue-cli-service electron:build:extend --mode debugger",
"electron:build:extend:no-publish": "cross-env BUILD_PROJECT=xxx vue-cli-service electron:build:extend --mode production no-publish",
"electron:build:extend:dev:no-publish": "cross-env BUILD_PROJECT=xxx vue-cli-service electron:build:extend --mode debugger no-publish"
```
3. 设置`git`的`user`
> 非必须，调试包使用，默认打包人的名字，如果不设置手动输入也可以
```bash
git config --global user.name "你的用户名"
```

4. 设置FTP
> 非必须，如果不通过FTP上传可以不设置，FTP上传成功后会删除本地压缩包
```bash
git config --local ftp.host "127.0.0.1"
git config --local ftp.port 21
git config --local ftp.user "zhangsan"
git config --local ftp.password "123456"
```

#### git commit 提交注意
> \<type>(\<scope>): \<subject>
* **type(必须)**: 用于说明git commit的类别，只允许使用下面的标识：
feat | fix | docs | style | refactor | test | perf | chore | revert | merge | ci 。
* **scope(必须)**: 用于说明 commit 影响的项目，如果是所有项目受影响可使用`*`。
> 生成的release note会根据scope筛选，默认只筛选本项目和*的提交

* **subject(必须)**: commit目的的简短描述，不超过50个字符。

示例如下：
```text
feat(*): 抢救工作站列表查询增加专科、去向查询
fix(cs531): 修复评分联动分诊信息显示错误
```
npm package: @hstd/wc
Description: Hstd to WebComponents Adapter
Author: ihasq
Latest version: 0.1.0

# @hstd/wc
Hstd to WebComponents Adapter.

## Usage
```javascript
import { h as html } from "hstd";
import { define } from "@hstd/wc";

function MyComponent({ name, fruit }) {
	return html`
		<h1>My name is ${name} and ${fruit} is my trend!</h1>
	`;
}

define({ "my-component": MyComponent });
```

```html
<my-component name="Josh" fruit="orange">
	<!-- #shadow-root -->
	<h1>My name is Josh and orange is my trend!</h1>
</my-component>
```
If you change attributes manually, then the value changes automatically(attributes are transferred as a pointer!).

## Install
```bash
npm i @hstd/wc
```
npm package: @hstech/lint
Description: [![npm version](https://badge.fury.io/js/angular2-expandable-list.svg)](https://badge.fury.io/js/angular2-expandable-list) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier
Author: mouadh.hsoumi
Latest version: 1.0.8

[![npm version](https://badge.fury.io/js/angular2-expandable-list.svg)](https://badge.fury.io/js/angular2-expandable-list)
[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)

# Eslint + Prettier shareable config

> A shareable eslint + prettier config

## Prerequisites

This project requires NodeJS (version 16 or later) and Yarn.
[Node](http://nodejs.org/) and [Yarn](https://classic.yarnpkg.com/en/) are really easy to install.
To make sure you have them available on your machine,
try running the following command.

```sh
$ yarn -v && node -v
1.22.5
v16.4.2
```

## Table of contents

- [Eslint + Prettier shareable config](#eslint--prettier-shareable-config)
  - [Prerequisites](#prerequisites)
  - [Table of contents](#table-of-contents)
  - [Installation](#installation)
  - [Usage](#usage)
    - [Eslint](#eslint)
    - [Prettier](#prettier)
  - [Contributing](#contributing)
  - [Versioning](#versioning)
  - [Authors](#authors)
  - [License](#license)

## Installation

To install and set up the library, run:

```sh
$ npm install --save-dev @hstech/lint
```

Or if you prefer using Yarn:

```sh
$ yarn add --dev @hstech/lint
```

## Usage

### Eslint

Reference it in your package.json:

```json
{
  "eslintConfig": {
    "extends": "./node_modules/@hstech/lint/.eslintrc"
  }
}
```

### Prettier

Sharing a Prettier configuration is simple: just publish a module that exports a configuration object, say @hstech/lint, and reference it in your package.json:

```json
{
  "prettier": "@hstech/lint"
}
```

## Contributing

Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us.

1.  Fork it!
2.  Create your feature branch: `git checkout -b my-new-feature`
3.  Add your changes: `git add .`
4.  Commit your changes: `git commit -am 'Add some feature'`
5.  Push to the branch: `git push origin my-new-feature`
6.  Submit a pull request :sunglasses:

## Versioning

We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/your/project/tags).

## Authors

- **Mouadh HSOUMI** - _Initial work_ - [roonie007](https://github.com/roonie007)

## License

[MIT License](https://andreasonny.mit-license.org/2021) © Andrea SonnY
npm package: @hstech/memviz
Description: Tool for the visualization of the Node.js memory usage in runtime.
Author: Mouadh HSOUMI
Latest version: 1.7.0

# @hstech/memviz

Tool for the visualization of the Node.js memory usage in an application.

[![NPM Version][npm-image]][npm-url]

![memviz demo](https://i.ibb.co/frGVPjD/Capturer.jpg "memviz demo")

## Install

```bash
npm i -S @hstech/memviz
```

## Usage

Just add this code to your index.js

```javascript
const memViz = require("@hstech/memviz");

memViz({ port: 10101 });
```

## Options

All options are optional

> **PS: for S3 snapshot upload please provide these environment variables**
>
> ```
> AWS_CREDENTIALS_ACCESSKEY_ID // AWS access key associated with an IAM user or role
> AWS_CREDENTIALS_SECRET_ACCESS_KEY // The secret key associated with the access key
> ```

```javascript
{
  port: 10100,  // Port (default)
  interval: 300, // Refresh interval of data in milliseconds (default)
  duration: 120000, // Duration of the chart in milliseconds, how much time of data it will show. (default)
  application: 'Application' // Application name (default)

  s3: { // If s3.bucket is null, the heapsnapshot will be written to disc
    bucket: 'YOUR_BUCKET_NAME', // default is null
    folder: '/sub-folder' // default is '/'
  }
}

```

## Interaction

You can zoom in/out the chart using the mouse wheel or via a pinch gesture, you can also move the chart left or right.

## MultiView

Visit any of your Visualizer host with the path `/memviz/multiview` example `http://localhost:10100/memviz/multiview`.

Let's say you want to display 3 charts on the same view, for these hosts

- `http://localhost:10100/memviz/`
- `http://localhost:10101/memviz/`
- `http://localhost:10102/memviz/`

and you want to display 2 in each row, then your url should look like this:

**`http://localhost:10100/memviz/multiview?perRow=2&hosts=http://localhost:10100/,http://localhost:10101/,http://localhost:10102/`**

## Integration

### Koa

To integrate memviz into Koa, all you have to do is to pass the Instance and the port to memviz

```javascript
// Koa instance is in app variable

memViz({
  koa: app, // Koa instance
  port: 3000, // Koa instance port
  interval: 300,
  duration: 120000,
  application: "Application 1",
});
```

Then visit this path `/memviz/` you should see the memory graph

## License

[MIT](http://vjpr.mit-license.org)

[npm-image]: https://img.shields.io/npm/v/@hstech/memviz.svg
[npm-url]: https://npmjs.org/package/@hstech/memviz
npm package: @hstech/node-ts-dev
Description: Holds all needed development dependencies files and packages for a Typescript/NodeJS based project.
Author: Mouadh HSOUMI
Latest version: 1.0.8

# @hstech/node-ts-dev

**FORKED FROM `https://github.com/jsynowiec/node-typescript-boilerplate`**

This packages aims to hold all needed **development dependencies** files and packages for a Typescript/NodeJS based project

## Usage

### Install

**YARN**

```bash
yarn add --dev @hstech/node-ts-dev
```

**PNPM**

```bash
pnpm install -D @hstech/node-ts-dev
```

**NPM**

```bash
npm install -D @hstech/node-ts-dev
```

### Package.json

You package.json should look like this

```jsonc
{
  // Load eslint config
  "eslintConfig": {
    "extends": "./node_modules/@hstech/node-ts-dev/.eslintrc"
  },

  // load prettier config
  "prettier": "./node_modules/@hstech/node-ts-dev/.prettierrc.json",

  // Use nodemon
  "scripts": {
    "serve": "nodemon --config ./node_modules/@hstech/node-ts-dev/nodemon.json"
  },

  // @hstech/node-ts-dev MUST BE installed as a dev dependency
  "devDependencies": {
    "@hstech/node-ts-dev": "^1.0.0"
  }
}
```

### tsconfig.json

Create a `tsconfig.json` file in your project root and it should have at least this configuration

```jsonc
{
  "extends": "@hstech/node-ts-dev",
  "include": ["src/**/*", "__tests__/**/*"],
  "exclude": ["node_modules"]
}
```

## FAQ

### PNPM

If you are using **pnpm** don't forget to create a `.npmrc` file with the following configuration

```
public-hoist-pattern[]=eslint
public-hoist-pattern[]=eslint-plugin*
public-hoist-pattern[]=@typescript-eslint*
public-hoist-pattern[]=jest
public-hoist-pattern[]=ts-node
public-hoist-pattern[]=nodemon
public-hoist-pattern[]=@types/*
public-hoist-pattern[]=tslib
```

Otherwise your runtime won't see the needed executables to work properly [See More](https://pnpm.io/npmrc#public-hoist-pattern)

## License

MIT
npm package: @hstech/ts-lint
Description: > A shareable tslint + prettier config
Author: mouadh.hsoumi
Latest version: 1.2.0

# Tslint + Prettier shareable config

> A shareable tslint + prettier config

## Prerequisites

This project requires NodeJS (version 16 or later) and Yarn and Typescript (version 4.3.5).
[Node](http://nodejs.org/) and [Yarn](https://classic.yarnpkg.com/en/) are really easy to install.
To make sure you have them available on your machine,
try running the following command.

```bash
$ yarn -v && node -v
1.22.5
v16.4.2
```

## Table of contents

- [Tslint + Prettier shareable config](#tslint--prettier-shareable-config)
  - [Prerequisites](#prerequisites)
  - [Table of contents](#table-of-contents)
  - [Installation](#installation)
  - [Usage](#usage)
    - [Ts-lint](#ts-lint)
    - [Prettier](#prettier)
  - [Contributing](#contributing)
  - [Versioning](#versioning)
  - [Authors](#authors)
  - [License](#license)

## Installation

To install and set up the library, run:

```sh
$ npm install --save-dev @hstech/ts-lint
```

Or if you prefer using Yarn:

```sh
$ yarn add --dev @hstech/ts-lint
```

## Usage

### Ts-lint

Reference it in your package.json:

```json
{
  "eslintConfig": {
    "extends": "./node_modules/@hstech/ts-lint/.eslintrc"
  }
}
```

### Prettier

Reference it in your package.json:

```json
{
  "prettier": "@hstech/ts-lint" // <-----
}
```

## Contributing

Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us.

1.  Fork it!
2.  Create your feature branch: `git checkout -b my-new-feature`
3.  Add your changes: `git add .`
4.  Commit your changes: `git commit -am 'Add some feature'`
5.  Push to the branch: `git push origin my-new-feature`
6.  Submit a pull request :sunglasses:

## Versioning

We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/your/project/tags).

## Authors

- **Mouadh HSOUMI** - _Initial work_ - [roonie007](https://github.com/roonie007)

## License

[MIT License](https://andreasonny.mit-license.org/2021) © Andrea SonnY
npm package: @hstech/utils
Description: > This package provides some usefull variables and functions that are always used and reused in any API
Author: Mouadh HSOUMI
Latest version: 1.2.1

# @hstech/utils

> This package provides some usefull variables and functions that are always used and reused in any API

[![NPM Version][npm-image]][npm-url]

## Install

```bash
yarn add @hstech/utils
```

```bash
npm i -S @hstech/utils
```

## Usage

### Logger

```javascript
import { logger } from '@hstech/utils';

logger.info('Foo');
// [2020-05-06 05:20:51.685 +0000] INFO : Foo

logger.info('Foo');
// [2020-05-06 05:20:51.685 +0000] DEBUG : Foo
```

### predefined variables

```javascript
import { isProduction, currentProtocol, apiPort } from '@hstech/utils';

// Check if the variable NODE_ENV equals to production or prod
console.log(isProduction); // Boolean => true/false

// if isProduction is true, it return https otherwise http
console.log(currentProtocol); // String => 'http'/'https'

// Check those env variables API_LISTEN_PORT || VUE_APP_API_PORT || API_PORT otherwise it return 8080
console.log(apiPort); // Number => 8080
```

### buildUrl

You need to provide at least the hostname. The protocol use the variable **currentProtocol**

```javascript
import { buildUrl, apiPort } from '@hstech/utils';

// Create the apiUrl
const apiUrl = buildUrl({
  hostname: process.env.API_HOST, // localhost
  extraArgs: {
    port: apiPort.toString()
  }
});
console.log(apiUrl); // String => http://localhost:8080

// More complicated example
const dbUrl = buildUrl({
  protocol: process.env.DB_PROTOCOL || 'mongodb',
  hostname: process.env.DB_HOST, // localhost
  extraArgs: {
    pathname: process.env.DB_NAME, // db-name
    port: process.env.DB_PORT, // 27017
    username: process.env.DB_USER, // user
    password: process.env.DB_PASSWORD, // password
    query: JSON.parse(process.env.DB_QUERY || '{}') // {hello: 'world}
  }
});
console.log(dbUrl); // String => http://user:password@localhost:27017/db-name?hello=world
```

### Predefined url variables

```javascript
import { apiUrl, webappUrl, dbUrl, s3Url } from '@hstech/utils';

// Use this env variables API_HOST, and the apiPort predefined variable
console.log(apiUrl);

// Use those env variables WEBAPP_HOST, WEBAPP_PORT
console.log(webappUrl);

// Check the second example in buildUrl
console.log(dbUrl);

// Use those env variables S3_HOST, S3_PORT
console.log(s3Url);
```

### DB connect

```javascript
import { db } from '@hstech/utils';

// it uses the predefined url dbUrl
db()
  .then(() => {
    console.log('You are now connected to the DB');
  })
  .catch((err) => {
    throw err;
  });
```

## License

[MIT](http://vjpr.mit-license.org)

[npm-image]: https://img.shields.io/npm/v/@hstech/utils.svg
[npm-url]: https://npmjs.org/package/@hstech/utils
npm package: @hstech/vetur-lint
Description: [![npm version](https://badge.fury.io/js/angular2-expandable-list.svg)](https://badge.fury.io/js/angular2-expandable-list) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier
Author: mouadh.hsoumi
Latest version: 1.4.4

[![npm version](https://badge.fury.io/js/angular2-expandable-list.svg)](https://badge.fury.io/js/angular2-expandable-list)
[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)

# Eslint + Prettier + Vetur shareable config

> A shareable eslint + prettier config

## Prerequisites

This project requires NodeJS (version 16 or later) and Yarn.
[Node](http://nodejs.org/) and [Yarn](https://classic.yarnpkg.com/en/) are really easy to install.
To make sure you have them available on your machine,
try running the following command.

```sh
$ yarn -v && node -v
1.22.5
v16.4.2
```

## Table of contents

- [Eslint + Prettier + Vetur shareable config](#eslint--prettier--vetur-shareable-config)
  - [Prerequisites](#prerequisites)
  - [Table of contents](#table-of-contents)
  - [Installation](#installation)
  - [Usage](#usage)
    - [Eslint](#eslint)
    - [Prettier](#prettier)
  - [Contributing](#contributing)
  - [Versioning](#versioning)
  - [Authors](#authors)
  - [License](#license)

## Installation

To install and set up the library, run:

```sh
$ npm install --save-dev @hstech/vetur-lint
```

Or if you prefer using Yarn:

```sh
$ yarn add --dev @hstech/vetur-lint
```

## Usage

### Eslint

Reference it in your package.json:

```json
{
  "eslintConfig": {
    "extends": "./node_modules/@hstech/vetur-lint/.eslintrc"
  }
}
```

### Prettier

Sharing a Prettier configuration is simple: just publish a module that exports a configuration object, say @hstech/vetur-lint, and reference it in your package.json:

```json
{
  "prettier": "@hstech/vetur-lint"
}
```

## Contributing

Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us.

1.  Fork it!
2.  Create your feature branch: `git checkout -b my-new-feature`
3.  Add your changes: `git add .`
4.  Commit your changes: `git commit -am 'Add some feature'`
5.  Push to the branch: `git push origin my-new-feature`
6.  Submit a pull request :sunglasses:

## Versioning

We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/your/project/tags).

## Authors

- **Mouadh HSOUMI** - _Initial work_ - [roonie007](https://github.com/roonie007)

## License

[MIT License](https://andreasonny.mit-license.org/2021) © Andrea SonnY