open-index/open-npm huggingface dataset:
npm package: @lark-org/tinypng
Description: Compress Images
Author: virgoone
Latest version: 0.1.1

# NPM 插件：图片压缩（浏览器端本地压缩）

## NPM 🔗

## 概述

这是一款图片压缩插件，不依赖网络、服务器，实现的是客户端压缩；

压缩率近似 TinyPng；

支持格式：png、jpg、gif

## 安装

```bash
yarn add @lark-org/tinypng
```

## 插件导出方法

```javascript
/**
 * @description: 图像压缩
 * @param {File} file 原始 File 文件对象
 * @param {Number} quality 压缩质量，10-90，建议 80
 * @return {Promise<File>} 压缩过的 File 文件对象
 */
imageTiny(file, quality = 80){...}
```

## 使用方法

```javascript
import imageTiny from '@lark-org/tinypng';

// compressedFile 就是压缩过的图片文件
const compressedFile = imageTiny(file, quality = 80)

```

## ❗️注意

**引入项目特殊配置：**

由于插件里使用了 `wasm` 文件，这个文件不会自动打包到你的项目里，所以要特殊处理一下，你项目的构建工具需要把这个 `wasm` 文件 copy 到你的项目的静态文件目录里。


- vite 或 rollup 可以使用 `rollup-plugin-copy` 这个插件进行静态文件拷贝；

- webpack 可以用 `copy-webpack-plugin` 这个插件进行静态文件拷贝；


这样你的项目打包之后，打包产物里就会有这个 wasm 文件了，插件才可以正常运行。

vite 例子：

vite.config.ts

```javascript
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import copy from 'rollup-plugin-copy';

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    vue(),
    copy({
      targets: [{ src: 'node_modules/@lark-org/tinypng/dist/pngtiny-custom.wasm', dest: 'public' }],
      verbose: true,
      hook: 'writeBundle',
    }),
  ],
  build: {
    sourcemap: false,
  },
});

```
npm package: @lark-project/cli
Description: 飞书项目插件开发工具
Latest version: 2.5.2

# @lark-project/cli
Command line tool for lark project plugin development.
# Installation & Usage
To install the cli globally you need to run:
```
npm i -g @lark-project/cli
```
Then you can use the commands by typing:
> lmp stands for Lark Project Management. You can use the "lpm" command to perform various tasks such as init a new project, building and releasing applications, etc.
```
lpm <cmd> [options]
```
# Commands
- [`lpm init <project-name> [plugin-id] [plugin-secret]`](#lpm-init-project-name-plugin-id-plugin-secret)
- [`lpm config <operate> [key] [value]`](#lpm-config-operate-key-value)
- [`lpm start`](#lpm-start)
- [`lpm build`](#lpm-build)
- [`lpm release`](#lpm-release)

## `lpm init <project-name> [plugin-id] [plugin-secret]`
> Initialize an Lark Project plugin project
```
USAGE
  $ lpm init <project-name> [plugin-id] [plugin-secret]

OPTIONS
  -f, --force     overwrite target directory if it exist
  -h, --help      show CLI help

EXAMPLE
  $ lpm init plugin-demo MII_0123456789ABCDEF xxxxxx
```

## `lpm config <operate> [key] [value]`
> Set, get or remove plugin configuration
```
USAGE
  $ lpm config <operate> [key] [value]

OPTIONS
  -g, --global    operate global configuration
  -h, --help      show CLI help

EXAMPLE
  $ lpm config set pluginID MII_0123456789ABCDEF
  $ lpm config get pluginID
  $ lpm config remove pluginID
```
## `lpm start`
> Start the plugin locally
```
USAGE
  $ lpm start

OPTIONS
  -h, --help      show CLI help

EXAMPLE
  $ lpm start
```
## `lpm build`
> Build the plugin project as a product file
```
USAGE
  $ lpm build

OPTIONS
  -h, --help      show CLI help

EXAMPLE
  $ lpm build
```
## `lpm release`
> Build the plugin project as a product file and upload it to the cloud.
```
USAGE
  $ lpm release

OPTIONS
  -h, --help      show CLI help

EXAMPLE
  $ lpm release
```
npm package: @lark-project/js-sdk
Description: 飞书项目 JSSDK 是飞书项目开放平台面向前端插件开发者提供的基于飞书项目内的开发工具包。 通过使用飞书项目 JSSDK，开发者可以方便的读取平台业务数据，如空间、工作项、字段等，当然也包括插件所运行环境的基础信息，如语言、地区、设备类型等。为开发者提供更高效的插件开发体验。
Latest version: 2.1.5

# @lark-project/js-sdk

飞书项目 JSSDK 是飞书项目开放平台面向前端插件开发者提供的基于飞书项目内的开发工具包。
通过使用飞书项目 JSSDK，开发者可以方便的读取平台业务数据，如空间、工作项、字段等，当然也包括插件所运行环境的基础信息，如语言、地区、设备类型等。为开发者提供更高效的插件开发体验。