@richiesams/vitepress-plugin-images 0.1.1 → 0.2.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.
- package/README.md +5 -2
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/loader.js +1 -0
- package/dist/transform.js +9 -5
- package/dist/vite.d.ts +3 -0
- package/dist/vite.js +2 -0
- package/package.json +7 -1
package/README.md
CHANGED
|
@@ -28,7 +28,7 @@ In `.vitepress/config.ts`:
|
|
|
28
28
|
|
|
29
29
|
```ts
|
|
30
30
|
import { defineConfig } from "vitepress";
|
|
31
|
-
import { optimizedImagesPlugin } from "@richiesams/vitepress-plugin-images";
|
|
31
|
+
import { optimizedImagesPlugin } from "@richiesams/vitepress-plugin-images/vite";
|
|
32
32
|
|
|
33
33
|
export default defineConfig({
|
|
34
34
|
vite: {
|
|
@@ -83,11 +83,12 @@ You can provide custom presets via `optimizedImagesPlugin({ presets: { ... } })`
|
|
|
83
83
|
|
|
84
84
|
```ts
|
|
85
85
|
import {
|
|
86
|
-
optimizedImagesPlugin,
|
|
87
86
|
registerOptimizedImageComponent,
|
|
88
87
|
OptimizedImage,
|
|
89
88
|
defaultPresets,
|
|
90
89
|
} from "@richiesams/vitepress-plugin-images";
|
|
90
|
+
|
|
91
|
+
import { optimizedImagesPlugin } from "@richiesams/vitepress-plugin-images/vite";
|
|
91
92
|
```
|
|
92
93
|
|
|
93
94
|
## Development
|
|
@@ -131,3 +132,5 @@ The `prepublishOnly` script runs validation automatically before publish:
|
|
|
131
132
|
|
|
132
133
|
- Package exports are configured for ESM (`import`) and types (`.d.ts`).
|
|
133
134
|
- Runtime dependencies include Sharp, Magic String, and Vue SFC parser support.
|
|
135
|
+
- Use `@richiesams/vitepress-plugin-images/vite` for VitePress config plugin imports.
|
|
136
|
+
- Use `@richiesams/vitepress-plugin-images` in theme/runtime code.
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
package/dist/loader.js
CHANGED
package/dist/transform.js
CHANGED
|
@@ -58,6 +58,9 @@ function transformTemplateContent(template, componentName) {
|
|
|
58
58
|
};
|
|
59
59
|
}
|
|
60
60
|
export function transformOptimizedImages(code, id, componentName) {
|
|
61
|
+
if (id.includes("?")) {
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
61
64
|
const cleanId = id.split("?", 1)[0];
|
|
62
65
|
if (!cleanId.endsWith(".vue") && !cleanId.endsWith(".md")) {
|
|
63
66
|
return null;
|
|
@@ -74,11 +77,12 @@ export function transformOptimizedImages(code, id, componentName) {
|
|
|
74
77
|
const editor = new MagicString(code);
|
|
75
78
|
editor.overwrite(template.loc.start.offset, template.loc.end.offset, transformedTemplate.code);
|
|
76
79
|
const importBlock = `${transformedTemplate.imports.join("\n")}\n`;
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
80
|
+
if (sfc.scriptSetup) {
|
|
81
|
+
const openTagEnd = code.indexOf(">", sfc.scriptSetup.loc.start.offset);
|
|
82
|
+
if (openTagEnd < 0) {
|
|
83
|
+
throw new Error(`[vitepress-plugin-images] Could not locate <script setup> tag end in ${cleanId}`);
|
|
84
|
+
}
|
|
85
|
+
editor.appendLeft(openTagEnd + 1, `\n${importBlock}`);
|
|
82
86
|
}
|
|
83
87
|
else {
|
|
84
88
|
editor.prepend(`<script setup>\n${importBlock}</script>\n`);
|
package/dist/vite.d.ts
ADDED
package/dist/vite.js
ADDED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@richiesams/vitepress-plugin-images",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Static image optimization pipeline for VitePress",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"keywords": [
|
|
@@ -18,6 +18,10 @@
|
|
|
18
18
|
".": {
|
|
19
19
|
"types": "./dist/index.d.ts",
|
|
20
20
|
"import": "./dist/index.js"
|
|
21
|
+
},
|
|
22
|
+
"./vite": {
|
|
23
|
+
"types": "./dist/vite.d.ts",
|
|
24
|
+
"import": "./dist/vite.js"
|
|
21
25
|
}
|
|
22
26
|
},
|
|
23
27
|
"files": [
|
|
@@ -36,7 +40,9 @@
|
|
|
36
40
|
"sharp": "^0.34.2"
|
|
37
41
|
},
|
|
38
42
|
"devDependencies": {
|
|
43
|
+
"@vitejs/plugin-vue": "^5.2.4",
|
|
39
44
|
"@types/node": "^26.1.0",
|
|
45
|
+
"@vue/server-renderer": "^3.5.17",
|
|
40
46
|
"tsx": "^4.20.3",
|
|
41
47
|
"typescript": "^5.8.3",
|
|
42
48
|
"vite": "^6.3.5",
|