open-index/open-npm huggingface dataset:
npm package: @shencom/oss-browser
Description: oss browser management
Author: 许帅领
Latest version: 1.0.0

# @shencom/oss-browser

> 使用说明

## 介绍

`oss-browser` 通用 OSS sts 授权方式，限时在浏览器直接操作 oss;

此工具继承 `@shencom/oss-core` 包

基于 `rollup/typescript` 构建，`ESModule`;

## 安装

```sh
yarn add -D @shencom/oss-browser
# or
yarn add -D git+https://gitlab.shencom.cn/web/tools/oss-browser.git#master
```

## 初始化

- 类型

```ts
interface Options {
  timeout?: number;
  bucket?: string;
  region?: string;
  accessKeySecret: string;
  accessKeyId: string;
  stsToken: string,
}
new OSS(ops: Options): OSS
```

- 示例

```ts
import { OSS } from '@shencom/oss-browser';

const CLIENT = new OSS({
  timeout: 1000,
  bucket: 'string',
  region: 'string',
  accessKeySecret: 'string',
  accessKeyId: 'string',
  stsToken: 'string',
});
```

## 方法

**list**

- 说明: 获取 oss 文件列表
- 类型: `OSSCore.list(ossPaths: string[] | string, returnType?: 'all', options?: AliOSS.ListV2ObjectsQuery): Promise<Pick<AliOSS.ListObjectResult, 'objects' | 'prefixes'>[]>`
- 参数:
  - `ossPaths`: oss 路径
  - `returnType?`: 返回类型，默认: `all`
  - `options?`: oss 配置，当 `returnType=all` 时生效
- 示例:
  ```ts
  const list = await CLIENT.list(ossPaths, returnType, options);
  ```

**delete**

```ts
interface DeleteOption {
  ossPaths: Arrayable<string>;
  beforeEach?: (paths: Arrayable<string>) => void | boolean | Promise<boolean | void>;
}
```

- 说明: 删除 oss 文件
- 类型: `OSSCore.delete(options: DeleteOption): Promise<void>`
- 参数:
  - `options.ossPaths`: oss 文件路径
  - `options.beforeEach`: 删除前
- 示例:
  ```ts
  await CLIENT.delete(options);
  ```

**put**

```ts
interface PutOptions<O> {
  /** 对象名称存储在OSS上 */
  ossPath: string;
  /** String|Buffer|ReadStream|File(仅支持浏览器)|Blob(仅支持浏览器) 对象本地路径、内容缓冲区或 ReadStream 内容实例在 Node、Blob 和 html5 File 中使用 */
  file: any;
  options?: O;
  uploadOptions?: ((file: any, defaultOptions: Partial<O>) => Partial<O>) | Partial<O>;
}

type Upload = PutOptions<PutObjectOptions>;
```

- 说明: 上传文件
- 类型: `OSSCore.put(config: Upload): Promise<AliOSS.PutObjectResult>`
- 参数: 参考上面类型
- 示例:
  ```ts
  await CLIENT.put(config);
  ```

**multipartUpload**

```ts
interface PutOptions<O> {
  /** 对象名称存储在OSS上 */
  ossPath: string;
  /** String|Buffer|ReadStream|File(仅支持浏览器)|Blob(仅支持浏览器) 对象本地路径、内容缓冲区或 ReadStream 内容实例在 Node、Blob 和 html5 File 中使用 */
  file: any;
  options?: O;
  uploadOptions?: ((file: any, defaultOptions: Partial<O>) => Partial<O>) | Partial<O>;
}

type MultipartUpload = PutOptions<MultipartUploadOptions>;
```

- 说明: 上传文件
- 类型: `OSSCore.multipartUpload(config: MultipartUpload): Promise<AliOSS.MultipartUploadResult>`
- 参数: 参考上面类型
- 示例:
  ```ts
  await CLIENT.multipartUpload(config);
  ```
npm package: @shene/create-pages-json
Description: Dynamic generation of uniapp pages.json
Author: shen
Latest version: 1.0.0

## @shene/create-pages-json

根据路由配置生成 uni-app 的 pages.json 文件，开发时支持实时监听路由文件变化，重新生成 pages.json 文件。

# 痛点

通常的，当我们开发 uni-app 时，`pages.json`文件都是一个不可磨灭的痛，添加页面时必须先在`pages.json`中添加配置，而且不可动态更改，无法个性化配置。

---

# 特性

1、用法简单，配置便捷
2、开发时支持实时监听

# Step 1

安装工具

```sh
# Yarn
yarn add @shene/create-pages-json --dev

# Npm
npm install @shene/create-pages-json --save-dev
```

# Step 2

生成配置文件

```sh
npx pages-config-json-init
```

此时项目根目录会生成一个 pages.config.json 的文件，内容如下：

```json
{
  "rootPath": "./",
  "modulePath": "./",
  "defaultConfigFile": "",
  "routeFileName": ""
}
```

可以手动自行创建

## 配置参数说明

### rootPath

生成的 pages.json 存放的位置，对于 uni-app 项目，如果是用`cli`创建的，`rootPath`的值应为`"./src"`， 如果是用工具创建的，`rootPath`的值应为`"./"`，如果不配置，默认值为`"./"`。

### modulePath

模块目录路径，有些项目是拆成子模块开发的，命令会在该路径下递归查找
`"routeFileName"`配置的文件名称，如果不配置，默认值为`"./"`，从根目录往下查找。

### defaultConfigFile

由于`pages.json`文件的配置中，不光有页面路由配置，还有很多其他的全局配置，所以其他配置需要有一个文件来承载，此参数为必填参数，必须是相对路径+文件名称，例如：`"./src/global.js"`,

```js
module.exports = {
  pages: [],
  globalStyle: {
    navigationBarTextStyle: 'black',
    navigationBarTitleText: 'uni-app',
    navigationBarBackgroundColor: '#F8F8F8',
    backgroundColor: '#F8F8F8',
  },
}
```

必须使用 commonjs 导出。

### routeFileName

路由配置文件名称，此参数为必填参数，例如：`"index.route.js"`,

```js
module.exports = [
  {
    path: '/pages/ep-app-login/views/login/index',
    name: 'login',
    isRoot: true, // 此属性会让改路由生成在pages.json的首位。
    style: {
      navigationBarTitleText: '绑定',
    },
  },
  {
    path: '/pages/ep-app-login/views/home/index',
    name: 'home',
    aliasPath: '/',
    style: {
      navigationBarTitleText: '首页',
    },
  },
]
```

必须使用 commonjs 导出。

# Step 3

开始生成 pages.json 文件

1. 单独使用

```sh
npx create-uniapp-pages-json
```

2. 配置 package.json 中

```json
{
  ...
  "scripts": {
    "create": "create-uniapp-pages-json",
    ...
  },
  ...
}

```

3. 配置 package.json 中和开发命令并行使用

```json
{
  ...
  "scripts": {
    "serve": "create-uniapp-pages-json && npm run dev:h5",
    "build": "create-uniapp-pages-json && npm run build:h5",
    ...
  },
  ...
}
```

# Step 4

可选，如果需要在开发中实时监听`routeFileName | defaultConfigFile`配置文件的变化，还需要在`vue.config.js`文件中使用`webpack`插件

```js
const { WatchUniAppRoutesPlugin } = require('@shene/create-pages-json');

module.exports = {
  configureWebpack: {
    plugins: [
      new WatchUniAppRoutesPlugin()
    ]
  },
  ...
}
```

---

欢迎使用，并给我一些反馈和建议，让这个插件做的更好，新功能准备中
npm package: @shene/micro-cli
Description: shene micro cli
Author: shen
Latest version: 1.0.1

<!--
 * @Author: shen
 * @Date: 2022-05-18 22:02:25
 * @LastEditors: shen
 * @LastEditTime: 2022-05-18 22:06:29
 * @Description:
-->

# @shene/micro-cli

微前端脚手架工具
npm package: @shene/wx-router
Description: <!--  * @Author: shen  * @Date: 2021-07-04 22:01:11  * @LastEditors: shen  * @LastEditTime: 2021-07-30 10:33:23  * @Description: -->
Author: shen
Latest version: 0.1.5

<!--
 * @Author: shen
 * @Date: 2021-07-04 22:01:11
 * @LastEditors: shen
 * @LastEditTime: 2021-07-30 10:33:23
 * @Description:
-->

# @shene/wx-router

## 安装

使用 npm:

```bash
$ npm install @shene/wx-router
```

使用 yarn:

```bash
$ yarn add @shene/wx-router
```

## 须知

1. 需要开启 使用`npm`模块
2. 需要开启 增强编译
3. 安装后 需要构建 npm

## 开始使用

1. 使用 createRouter 创建 router 对象

```js
// /router/index.js
import createRouter from '@shene/wx-router';
const whites = ['/pages/home/index'];

const router = createRouter({
  whites,
});

router.beforeEach((to, next) => {
  console.log(to, next);
  next('/pages/login/index');
});

router.beforeLoad((currentPath, next) => {
  if (whites.includes(currentPath)) {
    return true;
  }
  next('/pages/login/index');
  return false;
});

export default router;
```

3. 在页面中使用 router

```js
// /pages/home/index.js
import { withRouter } from '@shene/wx-router';
import router from '../router/index';

Page(
  withRouter(router, {
    auth: false, //配置auth=false的话不在走beforeLoad拦截
    data: {
      name: '2222',
    },
    onReady: function () {},
    onShow: function () {},
    onHide: function () {},
    onUnload: function () {},
    onPullDownRefresh: function () {},
    onReachBottom: function () {},
    onShareAppMessage: function () {},
  })
);
```

## License

[MIT](LICENSE)
npm package: @shene/wx-store
Description: <!--  * @Author: shen  * @Date: 2021-07-04 22:01:11  * @LastEditors: shen  * @LastEditTime: 2021-07-25 20:20:05  * @Description: -->
Author: shen
Latest version: 0.2.5

<!--
 * @Author: shen
 * @Date: 2021-07-04 22:01:11
 * @LastEditors: shen
 * @LastEditTime: 2021-07-25 20:20:05
 * @Description:
-->

# @shene/wx-store

## 安装

使用 npm:

```bash
$ npm install @shene/wx-store
```

使用 yarn:

```bash
$ yarn add @shene/wx-store
```

## 须知

1. 需要开启 使用`npm`模块
2. 需要开启 增强编译
3. 安装后 需要构建 npm
4. 此包是为了在像 vue 中使用 vuex 库一样的方式在小程序中存储全局状态，此包只有 vuex 部分功能

## 开始使用

1. 使用 createStore 创建 store 对象

```js
// /store/index.js
import createStore from '@shene/wx-store';

const store = createStore({
  state: {
    count: 0,
  },
  // 不需要页面配置，会自动配置到通过connect封装的page中
  globalState: {
    themeStyles: '',
  },
  mutations: {
    setCount(setState, count) {
      setState({
        count,
      });
    },
  },
  actions: {
    setCount({ commit, state }, count) {
      setTimeout(() => {
        commit('setCount', count);
      }, 3000);
    },
  },
});

export default store;
```

2. 在 app 中挂载 store 对象

```js
// /app.js
import store from './store/index';

App({
  store,
  onLaunch() {},
  globalData: {},
});
```

3. 在页面中使用 store

```js
// /pages/home/index.js
import { connect } from '@shene/wx-store';

// mapState有两种定义方式，mapState是你希望store中那些state注入到页面data中

// 1. 对象：此方式可以自定义key值
const mapState = {
  countData: 'count',
};

// 2. 数组：此方式data中的key值和state中保持一致，请勿在data定义同名key
const mapState = ['count'];

// 使用connect工厂函数动态注入state->data，并且页面的this上会增加this.$app 和 this.$store

Page(
  connect(mapState)({
    data: {
      name: '2222',
    },
    onLoad: function (options) {
      this.$store.commit('setCount', 2);
      this.$store.dispatch('setCount', 3);
    },
    // 同mapState相同功能，mapState存在则states失效
    states: ['count'],
    onReady: function () {},
    onShow: function () {},
    onHide: function () {},
    onUnload: function () {},
    onPullDownRefresh: function () {},
    onReachBottom: function () {},
    onShareAppMessage: function () {},
  })
);
```

## License

[MIT](LICENSE)
npm package: @shenff/aber-shop-ui
Description: aber shop managerment
Author: aber
Latest version: 3.8.4

## 开发

```bash

# 安装依赖
npm install

# 建议不要直接使用 cnpm 安装依赖，会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
npm install --registry=https://registry.npmmirror.com

# 启动服务
npm run dev
```

浏览器访问 http://localhost:80

## 发布

```bash
# 构建测试环境
npm run build:stage

# 构建生产环境
npm run build:prod



docker build -f ./deployment/Dockerfile  -t aber-merchant-ui --platform linux/amd64 .

docker tag aber-merchant-ui registry.cn-shenzhen.aliyuncs.com/dafen/aber-merchant-ui:0.0.1
```
npm package: @sheng/date-week-range
Description: This is a week range selector.
Author: sheng
Latest version: 0.0.4

## date-week-range（周范围选择器）

> v1 版本基于 element-ui 2.x 开发，可依赖 element-ui 2.x 使用；也可独立使用，但要引入相应的样式

> v2 版本基于 element-plus 开发。可依赖 element-plus 使用；也可独立使用，但要引入相应的样式。

[v2 版本传送门](https://github.com/xiaofan9/date-week-range/tree/v2)

### 示例

https://codepen.io/xiaofan9/pen/jOByExo

### 目的

  - 项目需求，需要用到周选择器这功能，但没找到相应的组件库，故自己基于 element-ui/element-plus 改造了个。


### 兼容

  - v1 版本，对应v1分支，仅支持vue2
  - v2 版本，对应v2分支，仅支持vue3

### 计划

  - ~~1.x 版本，支持 vue2（已完成）~~
  - ~~2.x 版本，将进行支持 vue3，计划通过 date-week-range@next 方式升级使用。~~
  - 等待vue3稳定，将会把主版本从 v1 切换至 v2 ，master 分支亦将会同步成 v2 分支。

### 注意

  - 不会自动注入css，需手动引入，以避免出现样式覆盖情况；如果全局引入了 element-ui 样式，则不需额外引入！
  
  - 本地开发模式，默认使用esm模块，如需转义成es5，请参考：
  
  ```javascript
    // 在 vue-cli 将指定的 node_modules 模块转义成es5：
    // vue.config.js
    module.exports = {
      // 省略代码
      transpileDependencies: ['date-week-range', 'element-ui']
    }
  ```

### 安装 && 引入

> * #### 安装

``` bash
npm install date-week-range --save
yarn add date-week-range --save
```
> * #### 注册

##### 全局注册

```javascript
import DateWeekRange from 'date-week-range'
import Vue from 'vue'

// 引入样式。如果全局引入了 element-ui 样式，则不需额外引入
// 全局引入 element-ui 样式
import 'element-ui/lib/theme-chalk/index.css'

// 或者额外引入
// import 'element-ui/lib/theme-chalk/icon.css'
// import 'element-ui/lib/theme-chalk/date-picker.css'

Vue.use(DateWeekRange)
```

##### 局部注册

```javascript
<template>
  <DateWeekRange v-model="test"></DateWeekRange>
</template>

<script>
import { DateWeekRange } from 'date-week-range'
// 注意要引入样式！引入方式参考上面

export default {
  data() {
    return {
      test: ''
    }
  },
  components: {
    DateWeekRange
  }
}
</script>
```

##### 浏览器使用

```html
<!-- 引入样式；如果全局引入了element-ui 样式，则不需额外引入 -->
<!-- 全局引入 element-ui 样式 -->
<link type="text/css" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
<!-- 或者额外引入 -->
<link type="text/css" href="https://unpkg.com/element-ui/lib/theme-chalk/icon.css">
<link type="text/css" href="https://unpkg.com/element-ui/lib/theme-chalk/date-picker.css">

<script src="https://unpkg.com/date-week-range"></script>
```

### 国际化

> 默认使用中文

全局注册时
```javascript
import Vue from 'vue'
import locale from 'element-ui/lib/locale/lang/en'
import DateWeekRange from 'date-week-range'

Vue.use(DateWeekRange, { locale })
```

局部注册时
```javascript
<script>
import { DateWeekRange, locale } from 'date-week-range'
import lang from 'element-ui/lib/locale/lang/en'

lang.use(lang)
/* 省略… */
</script>
```

### 文档

本插件是在 element-ui 框架中的 el-date-picker 组件基础上进行开发，其文档和 [el-date-picker组件](https://element.eleme.cn/#/zh-CN/component/date-picker) type="daterange" 一致。
npm package: @sheng/vnode-render
Description: 想在 Vue 的 template 里写 JSX 吗？
Author: Gao Sheng
Latest version: 0.0.3

# `@sheng/vnode-render`

想在 Vue 的 template 里写 JSX 吗？

```vue
<template>
    <s-vnode :content="jsx" />
</template>

<!-- 同时支持 Vue2 和 Vue3 -->
<script>
    import SVnode from '@sheng/vnode-render';
    
    export default {
        components: {
            SVnode
        },
        data() {
            return {
                jsx: <div>Hello World</div>
            }
        }
    }
</script>
```
npm package: @shengael/shengapi
Description: generate api template
Latest version: 2.0.4

# Shengapi [![npm version](https://badge.fury.io/js/%40shengael%2Fshengapi.svg)](https://badge.fury.io/js/%40shengael%2Fshengapi)

An API helper for node.js command Line Interface (CLI)

## Table of Contents
- [Installation](#installation)
- [Usage](#Usage)

## Installation

### Globally
Install CLI globally with

```bash
$ npm install -g @shengael/shengapi
```

Now you can run CLI using following command anywhere

```bash
$ shengapi
```

### Locally
Install CLI locally to your `node_modules` folder with

```bash
$ npm install --save @shengapi/shengael
```

You should be able to run CLI with

```bash
$ node_modules/.bin/sehngapi
```

## Usage
```
Shengapi

 Commands:
   shengapi init      create new project API
   shengapi generate  generate new element
 
 Options:
   --version   Show version number                                      [boolean]
   -h, --help  Show help                                                [boolean]
 
 Examples:
   shengapi init -n Shengapi -a mongoose     create basic project with basic
   -vv                                       installs
   shengapi generate -n User                 create model, route and controller
                                             for User


```

###shengapi init
```
Usage: shengapi init -n project Name [-i] [-d] [-a] [-v]

Options:
  --version         Show version number                                [boolean]
  -n, --name        Project name                             [string] [required]
  -i, --install     Packages to install                                  [array]
  -d, --devinstall  Dev Packages to install                              [array]
  -a, --auto        create basic structure for api (-a mongoose || -a sequelize)
                                                                        [string]
  -v, --verbose     verbose level                                        [count]
  -h, --help        Show help                                          [boolean]

```
- If you use --auto, --install and --devinstall are ignored
- -v show you WARN messages and -vv show you INFO messages

 ###shengapi generate

```
Usage: shengapi generate -n element Name [-a] [-v]

Options:
  --version         Show version number                                [boolean]
  -n, --name        Element name                             [string] [required]
  -a, --attributes  model attributes (name:string age:number ...)        [array]
  -v, --verbose     verbose level                                        [count]
  -h, --help        Show help                                          [boolean]

```