@zhaoshijun/compress 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +40 -21
  2. package/package.json +2 -2
package/README.md CHANGED
@@ -30,6 +30,7 @@ CLI 工具用于批量扫描并压缩本地图片文件。
30
30
 
31
31
  1. **初始化配置** (可选)
32
32
  生成默认的 `compress.config.js` 文件:
33
+
33
34
  ```bash
34
35
  npx @zhaoshijun/compress init
35
36
  ```
@@ -42,13 +43,13 @@ CLI 工具用于批量扫描并压缩本地图片文件。
42
43
 
43
44
  ### 命令行选项
44
45
 
45
- | 选项 | 简写 | 描述 |
46
- | --- | --- | --- |
47
- | `--config <path>` | `-c` | 指定配置文件路径 |
48
- | `--backup` | | 启用备份模式(将原文件复制为 `.backup`) |
49
- | `--dry-run` | | 演练模式,仅列出将要处理的文件,不进行实际压缩和写入 |
50
- | `--quiet` | `-q` | 静默模式,仅输出错误信息 |
51
- | `--help` | `-h` | 显示帮助信息 |
46
+ | 选项 | 简写 | 描述 |
47
+ | ----------------- | ---- | ---------------------------------------------------- |
48
+ | `--config <path>` | `-c` | 指定配置文件路径 |
49
+ | `--backup` | | 启用备份模式(将原文件复制为 `.backup`) |
50
+ | `--dry-run` | | 演练模式,仅列出将要处理的文件,不进行实际压缩和写入 |
51
+ | `--quiet` | `-q` | 静默模式,仅输出错误信息 |
52
+ | `--help` | `-h` | 显示帮助信息 |
52
53
 
53
54
  ### 示例
54
55
 
@@ -69,17 +70,34 @@ npx @zhaoshijun/compress -c ./config/compress.js -q
69
70
  在 `vite.config.js` 中引入并添加插件:
70
71
 
71
72
  ```javascript
72
- import { defineConfig } from 'vite';
73
- import { compressVitePlugin } from '@zhaoshijun/compress';
73
+ import { defineConfig } from "vite";
74
+ import { compressVitePlugin } from "@zhaoshijun/compress";
74
75
 
75
76
  export default defineConfig({
76
77
  plugins: [
77
78
  compressVitePlugin({
78
- // 可在此处覆盖 compress.config.js 中的配置
79
- quality: 80,
80
- cache: true
81
- })
82
- ]
79
+ // 1. 覆盖通用质量
80
+ quality: 75,
81
+
82
+ // 2. 覆盖 PNG 特定选项 (注意:如果覆盖对象,需要提供完整属性,或者插件逻辑里做深度合并)
83
+ // 根据当前代码实现是浅合并,所以如果只写 palette,compressionLevel 可能会丢失(如果默认值是在loader里处理的)
84
+ // 实际上 loader.js 做了深度合并,但 vite 插件里的 options 是顶层覆盖。
85
+ // 建议:如果只改一项,尽量在 compress.config.js 里改。
86
+ // 如果必须在这里改,传入完整对象:
87
+ pngOptions: {
88
+ compressionLevel: 6,
89
+ palette: false,
90
+ },
91
+
92
+ // 3. 甚至可以开启尺寸限制(虽然通常不建议在构建时改变原图尺寸)
93
+ resize: {
94
+ maxWidth: 1024,
95
+ },
96
+
97
+ // 4. 控制缓存
98
+ cache: false,
99
+ }),
100
+ ],
83
101
  });
84
102
  ```
85
103
 
@@ -98,16 +116,16 @@ export default defineConfig({
98
116
  module.exports = {
99
117
  // [CLI专用] 输入文件模式,支持 glob 数组
100
118
  // 默认扫描所有子目录下的 jpg, jpeg, png, webp
101
- input: ['**/*.{jpg,jpeg,png,webp}'],
119
+ input: ["**/*.{jpg,jpeg,png,webp}"],
102
120
 
103
121
  // [CLI专用] 输出目录
104
122
  // 默认输出到当前目录下的 compressed 文件夹,保持原目录结构
105
- output: './compressed',
123
+ output: "./compressed",
106
124
 
107
125
  // 尺寸调整 (可选)
108
126
  // 注意:scale 与 maxWidth/maxHeight 互斥,优先使用 maxWidth/maxHeight
109
127
  resize: {
110
- maxWidth: 1920, // 最大宽度,保持纵横比
128
+ maxWidth: 1920, // 最大宽度,保持纵横比
111
129
  // maxHeight: 1080, // 最大高度
112
130
  // scale: 0.8 // 缩放比例 (0-1)
113
131
  },
@@ -119,20 +137,20 @@ module.exports = {
119
137
  // PNG 专属配置
120
138
  pngOptions: {
121
139
  compressionLevel: 9, // 压缩等级 0-9,默认 9
122
- palette: true // 是否启用调色板量化,默认 true (显著减小体积)
140
+ palette: true, // 是否启用调色板量化,默认 true (显著减小体积)
123
141
  },
124
142
 
125
143
  // 输出文件名后缀
126
144
  // 默认 '.min',例如 image.jpg -> image.min.jpg
127
- suffix: '.min',
145
+ suffix: ".min",
128
146
 
129
147
  // [CLI专用] 是否备份原文件
130
148
  backup: false,
131
149
 
132
150
  // [Vite插件专用] 配置
133
151
  vite: {
134
- cache: true // 是否启用构建缓存,默认 true
135
- }
152
+ cache: true, // 是否启用构建缓存,默认 true
153
+ },
136
154
  };
137
155
  ```
138
156
 
@@ -145,6 +163,7 @@ module.exports = {
145
163
  ## 默认排除
146
164
 
147
165
  CLI 工具默认会排除以下目录:
166
+
148
167
  - `node_modules/`
149
168
  - `dist/`
150
169
  - `.git/`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhaoshijun/compress",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Image compression CLI and Vite plugin",
5
5
  "type": "module",
6
6
  "bin": {
@@ -26,7 +26,7 @@
26
26
  "sharp": "^0.33.2"
27
27
  },
28
28
  "peerDependencies": {
29
- "vite": "^5.0.0"
29
+ "vite": ">=5.0.0"
30
30
  },
31
31
  "peerDependenciesMeta": {
32
32
  "vite": {