@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 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
@@ -1,4 +1,3 @@
1
- export { optimizedImagesPlugin } from "./plugin.js";
2
1
  export { defaultPresets } from "./presets.js";
3
2
  export type { OptimizedImageData } from "./imageData.js";
4
3
  export type { OptimizedImagePreset, OptimizedImagesPluginOptions } from "./types.js";
package/dist/index.js CHANGED
@@ -1,4 +1,3 @@
1
- export { optimizedImagesPlugin } from "./plugin.js";
2
1
  export { defaultPresets } from "./presets.js";
3
2
  export { OptimizedImage } from "./runtime/OptimizedImage.js";
4
3
  export { registerOptimizedImageComponent } from "./runtime/register.js";
package/dist/loader.js CHANGED
@@ -83,6 +83,7 @@ export function createImageLoaderPlugin(options) {
83
83
  };
84
84
  return {
85
85
  name: "vitepress-plugin-images:loader",
86
+ enforce: "pre",
86
87
  configResolved(config) {
87
88
  env.config = config;
88
89
  },
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
- const scriptSetupOpen = /<script\s+setup(?:\s+[^>]*)?>/;
78
- const scriptSetupMatch = scriptSetupOpen.exec(editor.toString());
79
- if (scriptSetupMatch) {
80
- const insertionPoint = (scriptSetupMatch.index ?? 0) + scriptSetupMatch[0].length;
81
- editor.appendLeft(insertionPoint, `\n${importBlock}`);
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
@@ -0,0 +1,3 @@
1
+ export { optimizedImagesPlugin } from "./plugin.js";
2
+ export { defaultPresets } from "./presets.js";
3
+ export type { OptimizedImagePreset, OptimizedImagesPluginOptions } from "./types.js";
package/dist/vite.js ADDED
@@ -0,0 +1,2 @@
1
+ export { optimizedImagesPlugin } from "./plugin.js";
2
+ export { defaultPresets } from "./presets.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@richiesams/vitepress-plugin-images",
3
- "version": "0.1.1",
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",