diff --git a/packages/imagetools_3/api/utils/getImage.js b/packages/imagetools_3/api/utils/getImage.js index e385ba1..2710e40 100644 --- a/packages/imagetools_3/api/utils/getImage.js +++ b/packages/imagetools_3/api/utils/getImage.js @@ -5,13 +5,20 @@ import getImageSources from "./getImageSources.js"; import getProcessedImage from "./getProcessedImage.js"; import getArtDirectedImages from "./getArtDirectedImages.js"; import pMap from "p-map"; -// Caching moved to plugin level for proper store population +import { join, parse, relative } from "node:path"; +import fs from "node:fs"; const imagesData = new Map(); const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); // Cache helpers moved to plugin level +function getDefaultImage() { + const cwd = process.cwd(); + const filepath = join(cwd, "public", "images", "default.png"); + const src = join("/", relative(cwd, filepath)); + return { src, base: "default" }; +} export default async function ({ src, diff --git a/packages/imagetools_3/api/utils/getProcessedImage.js b/packages/imagetools_3/api/utils/getProcessedImage.js index 0823eb6..42a915a 100644 --- a/packages/imagetools_3/api/utils/getProcessedImage.js +++ b/packages/imagetools_3/api/utils/getProcessedImage.js @@ -13,10 +13,6 @@ const { getImageDetails } = await (sharp export default async function getProcessedImage(src, transformConfigs) { throwErrorIfUnsupported(src, extname(src).slice(1)); - - if(src.includes('nature')) { - // debugger - } let base; if (src.match("(http://|https://|data:image/).*")) { diff --git a/packages/imagetools_3/api/utils/getResolvedSrc.js b/packages/imagetools_3/api/utils/getResolvedSrc.js index b712da7..c4e926c 100644 --- a/packages/imagetools_3/api/utils/getResolvedSrc.js +++ b/packages/imagetools_3/api/utils/getResolvedSrc.js @@ -21,11 +21,11 @@ import { const { fileTypeFromBuffer } = await import("file-type"); const defaults = { - maxRedirects: 10, - retries: 2, - baseDelay: 100, + maxRedirects: 3, + retries: 3, + baseDelay: 250, maxTotalTime: 5000, - devTimeout: 20000, + devTimeout: 10000, }; class NetworkError extends Error { diff --git a/packages/imagetools_3/astroViteConfigs.js b/packages/imagetools_3/astroViteConfigs.js index 7bc05a5..af59ac4 100644 --- a/packages/imagetools_3/astroViteConfigs.js +++ b/packages/imagetools_3/astroViteConfigs.js @@ -1,12 +1,12 @@ export default { - "environment": "dev", + "environment": "build", "isSsrBuild": false, "projectBase": "", "publicDir": "C:\\Users\\zx\\Desktop\\polymech\\site-min\\public\\", "rootDir": "C:\\Users\\zx\\Desktop\\polymech\\site-min\\", - "mode": "dev", - "outDir": "dist", - "assetsDir": "/_astro", + "mode": "production", + "outDir": "C:\\Users\\zx\\Desktop\\polymech\\site-min\\dist\\", + "assetsDir": "_astro", "sourcemap": false, "assetFileNames": "/_astro/[name]@[width].[hash][extname]" } \ No newline at end of file diff --git a/packages/imagetools_3/integration/index.js b/packages/imagetools_3/integration/index.js index 81fd5c2..573d425 100644 --- a/packages/imagetools_3/integration/index.js +++ b/packages/imagetools_3/integration/index.js @@ -44,6 +44,7 @@ export default { }, "astro:build:done": async function closeBundle() { + console.time('[imagetools] build:done'); const { default: astroViteConfigs } = await import( // @ts-ignore "../astroViteConfigs.js" @@ -96,6 +97,7 @@ export default { try { // await retryWithBackoff(async () => { + const start = Date.now(); await saveAndCopyAsset( hash, image, @@ -105,6 +107,8 @@ export default { assetPath, isSsrBuild ); + const end = Date.now(); + // console.log(`[imagetools] saveAndCopyAsset for ${assetPath} took ${end - start}ms`); // }); } catch (error) { console.error(`Failed to process image ${assetPath} after retries:`, error); @@ -115,6 +119,7 @@ export default { { concurrency: 1 } ); } + console.timeEnd('[imagetools] build:done'); }, }, }; diff --git a/packages/imagetools_3/plugin/hooks/load.js b/packages/imagetools_3/plugin/hooks/load.js index b8bfbc4..a50f8c8 100644 --- a/packages/imagetools_3/plugin/hooks/load.js +++ b/packages/imagetools_3/plugin/hooks/load.js @@ -105,15 +105,12 @@ export default async function load(id) { image: loadedImage, config, type, - }); - + }) const dataUri = `data:${type};base64,${( buffer || (await getCachedBuffer(hash, image)) - ).toString("base64")}`; - - store.set(hash, dataUri); - console.log('store.set', hash); - return `export default "${dataUri}"`; + ).toString("base64")}` + store.set(hash, dataUri) + return `export default "${dataUri}"` } } else { const sources = await Promise.all(