@ereo/plugin-images 0.2.36 → 0.2.38

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.
@@ -33,8 +33,11 @@ export declare class ImageManifestManager {
33
33
  save(): Promise<void>;
34
34
  /**
35
35
  * Add or update an image entry.
36
+ * @param fileHash - Optional content hash of the source file. When provided,
37
+ * `needsReprocessing()` can detect file changes accurately. Falls back to
38
+ * metadata-based hash when omitted.
36
39
  */
37
- addImage(sourcePath: string, data: Omit<ImageManifestEntry, 'hash'>): void;
40
+ addImage(sourcePath: string, data: Omit<ImageManifestEntry, 'hash'>, fileHash?: string): void;
38
41
  /**
39
42
  * Get an image entry by source path.
40
43
  */
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/build/manifest.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CAC5C;AAWD;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAA0C;IAC1D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,KAAK,CAAS;gBAEV,MAAM,EAAE,MAAM;IAI1B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAU3B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAa3B;;OAEG;IACH,QAAQ,CACN,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GACrC,IAAI;IAWP;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAI5D;;OAEG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAQhE;;OAEG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAKrC;;OAEG;IACH,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC;IAIlD;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,eAAe,IAAI,MAAM;IAOzB;;OAEG;IACH,YAAY,IAAI,MAAM;IAQtB;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,OAAO,CAAC,YAAY;CAUrB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,kBAAkB,EACzB,UAAU,EAAE,MAAM,GACjB,MAAM,CAUR;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,YAAY,EAAE,EACxB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAMR;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,YAAY,EAAE,EACxB,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,GACd,YAAY,GAAG,SAAS,CAY1B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,CAE1E"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/build/manifest.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CAC5C;AAWD;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAA0C;IAC1D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,KAAK,CAAS;gBAEV,MAAM,EAAE,MAAM;IAI1B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAU3B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAa3B;;;;;OAKG;IACH,QAAQ,CACN,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,EACtC,QAAQ,CAAC,EAAE,MAAM,GAChB,IAAI;IAWP;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAI5D;;OAEG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAQhE;;OAEG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAKrC;;OAEG;IACH,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC;IAIlD;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,eAAe,IAAI,MAAM;IAOzB;;OAEG;IACH,YAAY,IAAI,MAAM;IAQtB;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,OAAO,CAAC,YAAY;CAUrB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,kBAAkB,EACzB,UAAU,EAAE,MAAM,GACjB,MAAM,CAUR;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,YAAY,EAAE,EACxB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAMR;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,YAAY,EAAE,EACxB,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,GACd,YAAY,GAAG,SAAS,CAY1B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,CAE1E"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAG5E;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAGrC,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,OAAO;gBAFrB,OAAO,EAAE,MAAM,EACR,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,OAAO;CAKxB;AAyJD;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,GAAE,iBAAsB,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CA2E1F;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,aAAa,EAAE,EACzB,OAAO,GAAE,MAAM,EAAO,GACrB,OAAO,CAyCT"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAG5E;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAGrC,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,OAAO;gBAFrB,OAAO,EAAE,MAAM,EACR,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,OAAO;CAKxB;AAyJD;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,GAAE,iBAAsB,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CA2E1F;AASD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,aAAa,EAAE,EACzB,OAAO,GAAE,MAAM,EAAO,GACrB,OAAO,CAyCT"}
package/dist/index.js CHANGED
@@ -3364,6 +3364,9 @@ function validateConfig(config = {}) {
3364
3364
  sizes: { ...DEFAULT_CONFIG.sizes, ...sizes }
3365
3365
  };
3366
3366
  }
3367
+ function escapeRegexChars(str) {
3368
+ return str.replace(/[.+?^${}()|[\]\\]/g, "\\$&");
3369
+ }
3367
3370
  function matchesRemotePattern(url, patterns, domains = []) {
3368
3371
  if (domains.includes(url.hostname)) {
3369
3372
  return true;
@@ -3375,7 +3378,7 @@ function matchesRemotePattern(url, patterns, domains = []) {
3375
3378
  continue;
3376
3379
  }
3377
3380
  }
3378
- const hostnamePattern = pattern.hostname.replace(/\./g, "\\.").replace(/\*/g, ".*");
3381
+ const hostnamePattern = escapeRegexChars(pattern.hostname).replace(/\*/g, ".*");
3379
3382
  const hostnameRegex = new RegExp(`^${hostnamePattern}$`, "i");
3380
3383
  if (!hostnameRegex.test(url.hostname)) {
3381
3384
  continue;
@@ -3384,7 +3387,7 @@ function matchesRemotePattern(url, patterns, domains = []) {
3384
3387
  continue;
3385
3388
  }
3386
3389
  if (pattern.pathname) {
3387
- const pathnamePattern = pattern.pathname.replace(/\./g, "\\.").replace(/\*/g, ".*");
3390
+ const pathnamePattern = escapeRegexChars(pattern.pathname).replace(/\*/g, ".*");
3388
3391
  const pathnameRegex = new RegExp(`^${pathnamePattern}`, "i");
3389
3392
  if (!pathnameRegex.test(url.pathname)) {
3390
3393
  continue;
@@ -3398,6 +3401,7 @@ function matchesRemotePattern(url, patterns, domains = []) {
3398
3401
  // src/processing/processor.ts
3399
3402
  import { readFile } from "fs/promises";
3400
3403
  import { extname } from "path";
3404
+ import { createHash } from "crypto";
3401
3405
 
3402
3406
  // src/processing/sharp-processor.ts
3403
3407
  import sharp from "sharp";
@@ -3770,6 +3774,7 @@ function getContrastColor(background) {
3770
3774
 
3771
3775
  // src/processing/processor.ts
3772
3776
  class ImageProcessor {
3777
+ static MAX_CACHE_ENTRIES = 500;
3773
3778
  config;
3774
3779
  sharp;
3775
3780
  cache = new Map;
@@ -3787,6 +3792,11 @@ class ImageProcessor {
3787
3792
  return cached;
3788
3793
  }
3789
3794
  const result = await this.sharp.process(input, params);
3795
+ if (this.cache.size >= ImageProcessor.MAX_CACHE_ENTRIES) {
3796
+ const firstKey = this.cache.keys().next().value;
3797
+ if (firstKey !== undefined)
3798
+ this.cache.delete(firstKey);
3799
+ }
3790
3800
  this.cache.set(cacheKey, result);
3791
3801
  return result;
3792
3802
  }
@@ -3951,11 +3961,7 @@ class ImageProcessor {
3951
3961
  return `${inputHash}:${params.width}:${params.height || ""}:${params.quality || ""}:${params.format || ""}`;
3952
3962
  }
3953
3963
  hashBuffer(buffer) {
3954
- let hash = 0;
3955
- for (let i = 0;i < Math.min(buffer.length, 1000); i++) {
3956
- hash = (hash << 5) - hash + buffer[i] | 0;
3957
- }
3958
- return hash.toString(36);
3964
+ return createHash("md5").update(buffer).digest("hex");
3959
3965
  }
3960
3966
  }
3961
3967
  function createImageProcessor(config) {
@@ -3965,12 +3971,12 @@ function createImageProcessor(config) {
3965
3971
  // src/build/optimizer.ts
3966
3972
  import { readFile as readFile3, writeFile as writeFile2, mkdir as mkdir2, readdir } from "fs/promises";
3967
3973
  import { join as join3, relative as relative2, dirname as dirname2, extname as extname2, basename } from "path";
3968
- import { createHash as createHash2 } from "crypto";
3974
+ import { createHash as createHash3 } from "crypto";
3969
3975
 
3970
3976
  // src/build/manifest.ts
3971
3977
  import { readFile as readFile2, writeFile, mkdir } from "fs/promises";
3972
3978
  import { dirname, join as join2 } from "path";
3973
- import { createHash } from "crypto";
3979
+ import { createHash as createHash2 } from "crypto";
3974
3980
  var DEFAULT_MANIFEST = {
3975
3981
  version: 1,
3976
3982
  buildTime: 0,
@@ -4001,8 +4007,8 @@ class ImageManifestManager {
4001
4007
  await writeFile(this.manifestPath, JSON.stringify(this.manifest, null, 2));
4002
4008
  this.dirty = false;
4003
4009
  }
4004
- addImage(sourcePath, data) {
4005
- const hash = this.generateHash(sourcePath, data);
4010
+ addImage(sourcePath, data, fileHash) {
4011
+ const hash = fileHash ?? this.generateHash(sourcePath, data);
4006
4012
  this.manifest.images[sourcePath] = {
4007
4013
  ...data,
4008
4014
  hash
@@ -4046,7 +4052,7 @@ class ImageManifestManager {
4046
4052
  height: data.height,
4047
4053
  variants: data.variants.map((v) => `${v.width}x${v.height}-${v.format}`)
4048
4054
  });
4049
- return createHash("md5").update(content).digest("hex").slice(0, 8);
4055
+ return createHash2("md5").update(content).digest("hex").slice(0, 8);
4050
4056
  }
4051
4057
  }
4052
4058
  function createManifestManager(outDir) {
@@ -4237,7 +4243,7 @@ class BuildOptimizer {
4237
4243
  return join3("images", dir, `${name}-${width}w.${ext}`);
4238
4244
  }
4239
4245
  hashBuffer(buffer) {
4240
- return createHash2("md5").update(buffer).digest("hex").slice(0, 8);
4246
+ return createHash3("md5").update(buffer).digest("hex").slice(0, 8);
4241
4247
  }
4242
4248
  getManifest() {
4243
4249
  return this.manifest;
@@ -4258,7 +4264,7 @@ import { join as join5, resolve, normalize } from "path";
4258
4264
  // src/runtime/cache.ts
4259
4265
  import { readFile as readFile4, writeFile as writeFile3, mkdir as mkdir3, unlink, readdir as readdir2, stat as stat3 } from "fs/promises";
4260
4266
  import { join as join4, dirname as dirname3 } from "path";
4261
- import { createHash as createHash3 } from "crypto";
4267
+ import { createHash as createHash4 } from "crypto";
4262
4268
 
4263
4269
  class MemoryCache {
4264
4270
  cache = new Map;
@@ -4367,7 +4373,7 @@ class DiskCache {
4367
4373
  this.initialized = true;
4368
4374
  }
4369
4375
  getPath(key) {
4370
- const hash = createHash3("md5").update(key).digest("hex");
4376
+ const hash = createHash4("md5").update(key).digest("hex");
4371
4377
  return join4(this.dir, hash.slice(0, 2), hash);
4372
4378
  }
4373
4379
  async get(key) {
@@ -4641,11 +4647,32 @@ function createImageMiddleware(options) {
4641
4647
  try {
4642
4648
  let sourceBuffer;
4643
4649
  if (params.src.startsWith("http://") || params.src.startsWith("https://")) {
4644
- const response = await fetch(params.src);
4645
- if (!response.ok) {
4650
+ const FETCH_TIMEOUT_MS = 1e4;
4651
+ const MAX_REMOTE_SIZE = 20 * 1024 * 1024;
4652
+ const controller = new AbortController;
4653
+ const timeoutId = setTimeout(() => controller.abort(), FETCH_TIMEOUT_MS);
4654
+ try {
4655
+ const response = await fetch(params.src, { signal: controller.signal });
4656
+ clearTimeout(timeoutId);
4657
+ if (!response.ok) {
4658
+ return new Response("Failed to fetch source image", { status: 502 });
4659
+ }
4660
+ const contentLength = response.headers.get("Content-Length");
4661
+ if (contentLength && parseInt(contentLength, 10) > MAX_REMOTE_SIZE) {
4662
+ return new Response("Source image too large", { status: 413 });
4663
+ }
4664
+ const arrayBuffer = await response.arrayBuffer();
4665
+ if (arrayBuffer.byteLength > MAX_REMOTE_SIZE) {
4666
+ return new Response("Source image too large", { status: 413 });
4667
+ }
4668
+ sourceBuffer = Buffer.from(arrayBuffer);
4669
+ } catch (fetchError) {
4670
+ clearTimeout(timeoutId);
4671
+ if (fetchError instanceof DOMException && fetchError.name === "AbortError") {
4672
+ return new Response("Remote image fetch timed out", { status: 504 });
4673
+ }
4646
4674
  return new Response("Failed to fetch source image", { status: 502 });
4647
4675
  }
4648
- sourceBuffer = Buffer.from(await response.arrayBuffer());
4649
4676
  } else {
4650
4677
  const baseDir = resolve(options.root, "public");
4651
4678
  const localPath = resolve(baseDir, normalize(params.src.replace(/^\//, "")));
@@ -41,6 +41,7 @@ export interface FullImageData {
41
41
  * Image processor orchestrator.
42
42
  */
43
43
  export declare class ImageProcessor {
44
+ private static readonly MAX_CACHE_ENTRIES;
44
45
  private readonly config;
45
46
  private readonly sharp;
46
47
  private readonly cache;
@@ -90,7 +91,7 @@ export declare class ImageProcessor {
90
91
  */
91
92
  private getCacheKey;
92
93
  /**
93
- * Simple hash for buffer content.
94
+ * Hash buffer content using MD5 for cache key generation.
94
95
  */
95
96
  private hashBuffer;
96
97
  }
@@ -1 +1 @@
1
- {"version":3,"file":"processor.d.ts","sourceRoot":"","sources":["../../src/processing/processor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAA6C,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClG,OAAO,EAA2B,KAAK,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AAC7E,OAAO,EAAwB,KAAK,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAI3E;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,2BAA2B;IAC3B,SAAS,EAAE,cAAc,CAAC;IAC1B,wBAAwB;IACxB,QAAQ,EAAE,aAAa,CAAC;IACxB,sCAAsC;IACtC,IAAI,CAAC,EAAE,qBAAqB,CAAC;IAC7B,6CAA6C;IAC7C,MAAM,CAAC,EAAE,qBAAqB,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,kDAAkD;IAClD,UAAU,EAAE,eAAe,CAAC;IAC5B,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,QAAQ,EAAE,KAAK,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8B;IACrD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqC;gBAE/C,MAAM,GAAE,iBAAsB;IAQ1C;;OAEG;IACG,OAAO,CACX,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,cAAc,CAAC;IAmB1B;;OAEG;IACG,mBAAmB,CACvB,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,qBAAqB,CAAC;IAmCjC;;OAEG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAyG3D;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAIjE;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAI1E;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAI1E;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAKtC;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA6BzB;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;OAEG;IACH,OAAO,CAAC,WAAW;IASnB;;OAEG;IACH,OAAO,CAAC,UAAU;CAOnB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,cAAc,CAE/E"}
1
+ {"version":3,"file":"processor.d.ts","sourceRoot":"","sources":["../../src/processing/processor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAA6C,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClG,OAAO,EAA2B,KAAK,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AAC7E,OAAO,EAAwB,KAAK,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAI3E;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,2BAA2B;IAC3B,SAAS,EAAE,cAAc,CAAC;IAC1B,wBAAwB;IACxB,QAAQ,EAAE,aAAa,CAAC;IACxB,sCAAsC;IACtC,IAAI,CAAC,EAAE,qBAAqB,CAAC;IAC7B,6CAA6C;IAC7C,MAAM,CAAC,EAAE,qBAAqB,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,kDAAkD;IAClD,UAAU,EAAE,eAAe,CAAC;IAC5B,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,QAAQ,EAAE,KAAK,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAO;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8B;IACrD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqC;gBAE/C,MAAM,GAAE,iBAAsB;IAQ1C;;OAEG;IACG,OAAO,CACX,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,cAAc,CAAC;IAwB1B;;OAEG;IACG,mBAAmB,CACvB,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,qBAAqB,CAAC;IAmCjC;;OAEG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAyG3D;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAIjE;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAI1E;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAI1E;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAKtC;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA6BzB;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;OAEG;IACH,OAAO,CAAC,WAAW;IASnB;;OAEG;IACH,OAAO,CAAC,UAAU;CAGnB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,cAAc,CAE/E"}
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/runtime/middleware.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAA2B,MAAM,qBAAqB,CAAC;AAatF;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,qBAAqB;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA6GD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,IAsBjE,SAAS,OAAO,EAChB,SAAS,UAAU,EACnB,MAAM,MAAM,OAAO,CAAC,QAAQ,CAAC,KAC5B,OAAO,CAAC,QAAQ,CAAC,CAkFrB;AA+BD;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,iBAAiB,CAUlF"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/runtime/middleware.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAA2B,MAAM,qBAAqB,CAAC;AAatF;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,qBAAqB;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA6GD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,IAsBjE,SAAS,OAAO,EAChB,SAAS,UAAU,EACnB,MAAM,MAAM,OAAO,CAAC,QAAQ,CAAC,KAC5B,OAAO,CAAC,QAAQ,CAAC,CA8GrB;AA+BD;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,iBAAiB,CAUlF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ereo/plugin-images",
3
- "version": "0.2.36",
3
+ "version": "0.2.38",
4
4
  "license": "MIT",
5
5
  "author": "Enoch Kujem Abassey",
6
6
  "homepage": "https://ereojs.github.io/ereoJS",
@@ -36,7 +36,7 @@
36
36
  "typecheck": "tsc --noEmit"
37
37
  },
38
38
  "dependencies": {
39
- "@ereo/core": "^0.2.36",
39
+ "@ereo/core": "workspace:*",
40
40
  "sharp": "^0.33.0"
41
41
  },
42
42
  "devDependencies": {