astro-opengraph-images 1.7.1 → 1.7.2

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/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.7.2](https://github.com/shepherdjerred/astro-opengraph-images/compare/v1.7.1...v1.7.2) (2024-07-16)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * **deps:** update dependency @astrojs/check to ^0.8.0 ([9df8d2c](https://github.com/shepherdjerred/astro-opengraph-images/commit/9df8d2c3037c55c15828b953bd6d0cfb2495c12e))
9
+ * **deps:** update dependency satori to v0.10.14 ([cea07df](https://github.com/shepherdjerred/astro-opengraph-images/commit/cea07df65264c1ff3b5099618ed8f2b3cc4ab7ad))
10
+
3
11
  ## [1.7.1](https://github.com/shepherdjerred/astro-opengraph-images/compare/v1.7.0...v1.7.1) (2024-07-04)
4
12
 
5
13
 
@@ -1 +1 @@
1
- {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,kBAAkB,EAAQ,cAAc,EAAE,MAAM,YAAY,CAAC;AAOpG,wBAAsB,aAAa,CAAC,EAClC,MAAM,EACN,KAAK,EACL,OAAO,EACP,GAAG,EACH,MAAM,GACP,EAAE,uBAAuB,GAAG;IAC3B,OAAO,EAAE,kBAAkB,CAAC;IAC5B,MAAM,EAAE,cAAc,CAAC;CACxB,iBASA"}
1
+ {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,kBAAkB,EAAQ,cAAc,EAAE,MAAM,YAAY,CAAC;AAQpG,wBAAsB,aAAa,CAAC,EAClC,MAAM,EACN,KAAK,EACL,OAAO,EACP,GAAG,EACH,MAAM,GACP,EAAE,uBAAuB,GAAG;IAC3B,OAAO,EAAE,kBAAkB,CAAC;IAC5B,MAAM,EAAE,cAAc,CAAC;CACxB,iBASA"}
package/dist/hook.js CHANGED
@@ -4,6 +4,7 @@ import * as fs from "fs";
4
4
  import { extract } from "./extract.js";
5
5
  import { getFilePath } from "./util.js";
6
6
  import { fileURLToPath } from 'url';
7
+ import path from "path";
7
8
  export async function buildDoneHook({ logger, pages, options, dir, render, }) {
8
9
  logger.info("Generating Open Graph images");
9
10
  for (const page of pages) {
@@ -33,7 +34,9 @@ async function handlePage({ page, options, render, dir, logger }) {
33
34
  let pngFile = htmlFile.replace(/\.html$/, ".png");
34
35
  // remove leading dist/ from the path
35
36
  fs.writeFileSync(pngFile, resvg.render().asPng());
36
- pngFile = pngFile.replace("dist/", "");
37
+ pngFile = pngFile.replace(path.join(process.cwd(), "dist"), "").replace(/\\/g, "/");
38
+ if (pngFile.startsWith("/"))
39
+ pngFile = pngFile.slice(1);
37
40
  // convert the image path to a URL
38
41
  let imageUrl = new URL(pageDetails.image).pathname;
39
42
  // remove leading slash
package/dist/hook.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hook.js","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAClC,MAAM,EACN,KAAK,EACL,OAAO,EACP,GAAG,EACH,MAAM,GAIP;IACC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,CAAW,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;AACH,CAAC;AAUD,KAAK,UAAU,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAmB;IAC/E,MAAM,QAAQ,GAAG,WAAW,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/E,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;IAClD,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC;IAC5D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE;QAC3B,IAAI,EAAE;YACJ,eAAe,EAAE,KAAK;SACvB;QACD,KAAK,EAAE;YACL,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB;KACF,CAAC,CAAC;IAEH,IAAI,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAElD,qCAAqC;IACrC,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;IAClD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAEvC,kCAAkC;IAClC,IAAI,QAAQ,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;IACnD,uBAAuB;IACvB,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE7B,wDAAwD;IACxD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,4BAA4B,QAAQ,KAAK,QAAQ,yCAAyC,OAAO,IAAI,CACtG,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,aAAa,OAAO,QAAQ,QAAQ,GAAG,CAAC,CAAC;AACvD,CAAC"}
1
+ {"version":3,"file":"hook.js","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAClC,MAAM,EACN,KAAK,EACL,OAAO,EACP,GAAG,EACH,MAAM,GAIP;IACC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,CAAW,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;AACH,CAAC;AAUD,KAAK,UAAU,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAmB;IAC/E,MAAM,QAAQ,GAAG,WAAW,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/E,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;IAClD,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC;IAC5D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE;QAC3B,IAAI,EAAE;YACJ,eAAe,EAAE,KAAK;SACvB;QACD,KAAK,EAAE;YACL,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB;KACF,CAAC,CAAC;IAEH,IAAI,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAElD,qCAAqC;IACrC,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;IAClD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpF,IAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEvD,kCAAkC;IAClC,IAAI,QAAQ,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;IACnD,uBAAuB;IACvB,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE7B,wDAAwD;IACxD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,4BAA4B,QAAQ,KAAK,QAAQ,yCAAyC,OAAO,IAAI,CACtG,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,aAAa,OAAO,QAAQ,QAAQ,GAAG,CAAC,CAAC;AACvD,CAAC"}
package/dist/util.js CHANGED
@@ -6,8 +6,8 @@ import path from 'path';
6
6
  // Check if `page.pathname` is a directory on disk
7
7
  export function getFilePath({ dir, page }) {
8
8
  let target = path.join(dir, page, "index.html");
9
- if (!fs.existsSync(`${dir}${page}`)) {
10
- target = path.join(dir, page + ".html");
9
+ if (!fs.existsSync(target)) {
10
+ target = path.join(dir, page.slice(0, -1) + ".html");
11
11
  }
12
12
  return target;
13
13
  }
package/dist/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,mEAAmE;AACnE,yDAAyD;AACzD,uDAAuD;AACvD,kDAAkD;AAClD,MAAM,UAAU,WAAW,CAAC,EAAE,GAAG,EAAE,IAAI,EAAiC;IACtE,IAAI,MAAM,GAAW,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IACxD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC;QACpC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,GAAG,OAAO,CAAC,CAAA;IACzC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAE,GAAG,EAAE,IAAI,EAAuC;IAC7E,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACb,qHAAqH,CACtH,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC;IAE1B,6CAA6C;IAC7C,2BAA2B;IAC3B,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAC3B,CAAC;IAED,iEAAiE;IACjE,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC;IACrC,CAAC;SAAM,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC;IACrC,CAAC;IAED,uBAAuB;IACvB,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzB,eAAe;IACf,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC;IAElC,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,mEAAmE;AACnE,yDAAyD;AACzD,uDAAuD;AACvD,kDAAkD;AAClD,MAAM,UAAU,WAAW,CAAC,EAAE,GAAG,EAAE,IAAI,EAAiC;IACtE,IAAI,MAAM,GAAW,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IACxD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAA;IACtD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAE,GAAG,EAAE,IAAI,EAAuC;IAC7E,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACb,qHAAqH,CACtH,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC;IAE1B,6CAA6C;IAC7C,2BAA2B;IAC3B,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAC3B,CAAC;IAED,iEAAiE;IACjE,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC;IACrC,CAAC;SAAM,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC;IACrC,CAAC;IAED,uBAAuB;IACvB,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzB,eAAe;IACf,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC;IAElC,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=util.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.test.d.ts","sourceRoot":"","sources":["../src/util.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import { expect, test } from "vitest";
2
+ import { getFilePath } from "./util.js";
3
+ test("getFilePath index", () => {
4
+ const result = getFilePath({ dir: "", page: "index" });
5
+ expect(result).toBe("index.html");
6
+ });
7
+ test("getFilePath 404", () => {
8
+ const result = getFilePath({ dir: "", page: "404" });
9
+ expect(result).toBe("index.html");
10
+ });
11
+ test("getFilePath blog", () => {
12
+ const result = getFilePath({ dir: "", page: "blog" });
13
+ expect(result).toBe("blog/index.html");
14
+ });
15
+ //# sourceMappingURL=util.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.test.js","sourceRoot":"","sources":["../src/util.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAC7B,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACvD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC3B,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACrD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC5B,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACtD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -16,7 +16,7 @@
16
16
  "url": "https://github.com/shepherdjerred/astro-opengraph-images/issues"
17
17
  },
18
18
  "type": "module",
19
- "version": "1.7.1",
19
+ "version": "1.7.2",
20
20
  "scripts": {
21
21
  "prepare": "husky",
22
22
  "lint": "eslint src",
@@ -37,7 +37,7 @@
37
37
  "@resvg/resvg-js": "^2.6.2",
38
38
  "jsdom": "^24.1.0",
39
39
  "react": "^18.3.1",
40
- "satori": "^0.10.13"
40
+ "satori": "^0.10.14"
41
41
  },
42
42
  "peerDependencies": {
43
43
  "tw-to-css": "^0.0.12"
@@ -45,24 +45,24 @@
45
45
  "devDependencies": {
46
46
  "@commitlint/cli": "^19.3.0",
47
47
  "@commitlint/config-conventional": "^19.2.2",
48
- "@eslint/js": "^9.6.0",
48
+ "@eslint/js": "^9.7.0",
49
49
  "@fontsource/roboto": "^5.0.13",
50
50
  "@tsconfig/node20": "^20.1.4",
51
51
  "@tsconfig/strictest": "^2.0.5",
52
52
  "@types/jsdom": "^21.1.7",
53
- "@types/node": "^20.14.9",
53
+ "@types/node": "^20.14.10",
54
54
  "@types/react": "^18.3.3",
55
- "@typescript-eslint/eslint-plugin": "^7.15.0",
56
- "@typescript-eslint/parser": "^7.15.0",
57
- "astro": "^4.11.3",
55
+ "@typescript-eslint/eslint-plugin": "^7.16.0",
56
+ "@typescript-eslint/parser": "^7.16.0",
57
+ "astro": "^4.11.5",
58
58
  "eslint": "^8.57.0",
59
59
  "husky": "^9.0.11",
60
60
  "install": "^0.13.0",
61
61
  "lint-staged": "^15.2.7",
62
- "prettier": "^3.3.2",
62
+ "prettier": "^3.3.3",
63
63
  "typescript": "^5.5.3",
64
- "typescript-eslint": "^7.15.0",
65
- "vitest": "^1.6.0"
64
+ "typescript-eslint": "^7.16.0",
65
+ "vitest": "^2.0.2"
66
66
  },
67
67
  "lint-staged": {
68
68
  "*.{ts,tsx}": "eslint --cache --fix",
package/src/hook.ts CHANGED
@@ -6,6 +6,7 @@ import type { AstroIntegrationLogger } from "astro";
6
6
  import { extract } from "./extract.js";
7
7
  import { getFilePath } from "./util.js";
8
8
  import { fileURLToPath } from 'url';
9
+ import path from "path";
9
10
 
10
11
  export async function buildDoneHook({
11
12
  logger,
@@ -56,7 +57,8 @@ async function handlePage({ page, options, render, dir, logger }: HandlePageInpu
56
57
 
57
58
  // remove leading dist/ from the path
58
59
  fs.writeFileSync(pngFile, resvg.render().asPng());
59
- pngFile = pngFile.replace("dist/", "");
60
+ pngFile = pngFile.replace(path.join(process.cwd(), "dist"), "").replace(/\\/g, "/");
61
+ if(pngFile.startsWith("/")) pngFile = pngFile.slice(1);
60
62
 
61
63
  // convert the image path to a URL
62
64
  let imageUrl = new URL(pageDetails.image).pathname;
@@ -0,0 +1,17 @@
1
+ import { expect, test } from "vitest";
2
+ import { getFilePath } from "./util.js";
3
+
4
+ test("getFilePath index", () => {
5
+ const result = getFilePath({ dir: "", page: "index" });
6
+ expect(result).toBe("index.html");
7
+ });
8
+
9
+ test("getFilePath 404", () => {
10
+ const result = getFilePath({ dir: "", page: "404" });
11
+ expect(result).toBe("index.html");
12
+ });
13
+
14
+ test("getFilePath blog", () => {
15
+ const result = getFilePath({ dir: "", page: "blog" });
16
+ expect(result).toBe("blog/index.html");
17
+ });
package/src/util.ts CHANGED
@@ -7,8 +7,8 @@ import path from 'path';
7
7
  // Check if `page.pathname` is a directory on disk
8
8
  export function getFilePath({ dir, page }: { dir: string; page: string }) {
9
9
  let target: string = path.join(dir, page, "index.html");
10
- if (!fs.existsSync(`${dir}${page}`)) {
11
- target = path.join(dir, page + ".html")
10
+ if (!fs.existsSync(target)) {
11
+ target = path.join(dir, page.slice(0, -1) + ".html")
12
12
  }
13
13
 
14
14
  return target;