-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpackage.json
237 lines (237 loc) · 8.85 KB
/
package.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
{
"name": "quick-image-convert",
"displayName": "Quick Image Convert",
"description": "VSCode extension for quick image conversion and optimization.",
"version": "1.0.1",
"icon": "media/logo.png",
"repository": "https://github.com/AbianS/quick-image-convert",
"publisher": "AbianS",
"engines": {
"vscode": "^1.89.0"
},
"categories": ["Other"],
"activationEvents": [],
"main": "./dist/extension.js",
"files": [
"dist",
"node_modules/sharp/**/*",
"media",
"LICENSE",
"package.json"
],
"contributes": {
"configuration": {
"title": "Quick Image Convert",
"properties": {
"quick-image-convert.avif.quality": {
"type": "number",
"default": 80,
"description": "Avif image quality. Higher values result in better quality but larger file sizes.",
"minimum": 0,
"maximum": 100
},
"quick-image-convert.avif.lossless": {
"type": "boolean",
"default": false,
"description": "When enabled, the Avif image will be lossless. This will result in a larger file size but better quality."
},
"quick-image-convert.avif.effort": {
"type": "number",
"default": 4,
"description": "Avif image encoding effort. Higher values result in better quality but longer encoding times.",
"minimum": 0,
"maximum": 9
},
"quick-image-convert.avif.chromaSubsampling": {
"type": "string",
"default": "4:4:4",
"description": "Avif image chroma subsampling. Higher values result in better quality but larger file sizes.",
"enum": ["4:4:4", "4:2:0"]
},
"quick-image-convert.avif.bitdepth": {
"type": "number",
"default": 8,
"description": "Avif image bit depth. Higher values result in better quality but larger file sizes.",
"enum": [8, 10, 12]
},
"quick-image-convert.avif.useDefaultValues": {
"type": "boolean",
"default": true,
"description": "When enabled, the default values for the Avif conversion will be used. When disabled, the user will be prompted to enter the values."
},
"quick-image-convert.webp.quality": {
"type": "number",
"default": 80,
"description": "Webp image quality. Higher values result in better quality but larger file sizes.",
"minimum": 0,
"maximum": 100
},
"quick-image-convert.webp.alphaQuality": {
"type": "number",
"default": 100,
"description": "Webp image alpha quality. Higher values result in better quality but larger file sizes.",
"minimum": 0,
"maximum": 100
},
"quick-image-convert.webp.lossless": {
"type": "boolean",
"default": false,
"description": "When enabled, the Webp image will be lossless. This will result in a larger file size but better quality."
},
"quick-image-convert.webp.nearLossless": {
"type": "boolean",
"default": false,
"description": "When enabled, the Webp image will be near lossless. This will result in a larger file size but better quality."
},
"quick-image-convert.webp.smartSubsample": {
"type": "boolean",
"default": true,
"description": "When enabled, the Webp image will use smart subsampling. This will result in a smaller file size but lower quality."
},
"quick-image-convert.webp.effort": {
"type": "number",
"default": 4,
"description": "Webp image encoding effort. Higher values result in better quality but longer encoding times.",
"minimum": 0,
"maximum": 6
},
"quick-image-convert.webp.minSize": {
"type": "boolean",
"default": false,
"description": "When enabled, the Webp image will be optimized for minimum size. This will result in a smaller file size but lower quality."
},
"quick-image-convert.webp.mixed": {
"type": "boolean",
"default": false,
"description": "When enabled, the Webp image will use mixed compression. This will result in a smaller file size but lower quality."
},
"quick-image-convert.webp.preset": {
"type": "string",
"default": "default",
"description": "Webp image preset. Higher values result in better quality but larger file sizes.",
"enum": ["default", "photo", "picture", "drawing", "icon", "text"]
},
"quick-image-convert.webp.useDefaultValues": {
"type": "boolean",
"default": true,
"description": "When enabled, the default values for the Avif conversion will be used. When disabled, the user will be prompted to enter the values."
},
"quick-image-convert.resize.fit": {
"type": "string",
"default": "cover",
"description": "Resize fit. Determines how the image should be resized to fit the dimensions provided.",
"enum": ["inside", "outside", "cover", "contain", "fill"]
},
"quick-image-convert.resize.position": {
"type": "string",
"default": "center",
"description": "Resize position. Determines where the image should be positioned when resizing.",
"enum": [
"top",
"right top",
"right",
"right bottom",
"bottom",
"left bottom",
"left",
"left top",
"centre"
]
},
"quick-image-convert.resize.kernel": {
"type": "string",
"default": "lanczos3",
"description": "Resize kernel. Determines the algorithm used to resize the image.",
"enum": ["nearest", "cubic", "mitchell", "lanczos2", "lanczos3"]
},
"quick-image-convert.resize.withoutEnlargement": {
"type": "boolean",
"default": false,
"description": "When enabled, the image will not be enlarged if the dimensions provided are larger than the original image."
},
"quick-image-convert.resize.withoutReduction": {
"type": "boolean",
"default": false,
"description": "When enabled, the image will not be reduced if the dimensions provided are smaller than the original image."
},
"quick-image-convert.resize.fastShrinkOnLoad": {
"type": "boolean",
"default": true,
"description": "When enabled, the image will be resized quickly when loaded."
}
}
},
"menus": {
"explorer/context": [
{
"submenu": "quick-image-convert.ImageEditor",
"group": "quick-image-convert"
}
],
"quick-image-convert.ImageEditor": [
{
"command": "quick-image-convert.ToWebP",
"when": "resourceScheme == 'file' && resourceFilename =~ /\\.(png|jpg|jpeg|gif|bmp|ico|avif)$/i"
},
{
"command": "quick-image-convert.Resize",
"when": "resourceScheme == 'file' && resourceFilename =~ /\\.(png|jpg|jpeg|gif|bmp|ico|avif|webp)$/i"
},
{
"command": "quick-image-convert.ToAvif",
"when": "resourceScheme == 'file' && resourceFilename =~ /\\.(png|jpg|jpeg|gif|bmp|ico|webp)$/i"
}
]
},
"submenus": [
{
"command": "quick-image-convert.ImageEditor",
"id": "quick-image-convert.ImageEditor",
"label": "✨ Quick Image Convert"
}
],
"commands": [
{
"command": "quick-image-convert.ToWebP",
"title": "Convert to WebP"
},
{
"command": "quick-image-convert.ToAvif",
"title": "Convert to Avif"
},
{
"command": "quick-image-convert.Resize",
"title": "Rezize Image"
}
]
},
"scripts": {
"postinstall": "npm install sharp",
"vscode:prepublish": "npm run package",
"compile": "npm run check-types && npm run lint && node esbuild.js",
"watch": "npm-run-all -p watch:*",
"watch:esbuild": "node esbuild.js --watch",
"watch:tsc": "tsc --noEmit --watch --project tsconfig.json",
"package": "npm run check-types && npm run lint && node esbuild.js --production",
"compile-tests": "tsc -p . --outDir out",
"watch-tests": "tsc -p . -w --outDir out",
"pretest": "npm run compile-tests && npm run compile && npm run lint",
"check-types": "tsc --noEmit",
"lint": "biome lint .",
"lint:fix": "biome check . --write",
"test": "vscode-test"
},
"devDependencies": {
"@biomejs/biome": "1.9.4",
"@types/mocha": "^10.0.10",
"@types/node": "22.x",
"@types/vscode": "^1.89.0",
"@vscode/test-cli": "^0.0.10",
"@vscode/test-electron": "^2.4.1",
"esbuild": "^0.24.2",
"typescript": "^5.7.2"
},
"dependencies": {
"sharp": "^0.33.5"
}
}