@paroicms/server-image-cache-engine 1.1.1 → 1.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/ddl/image-cache.ddl.sql +13 -6
- package/dist/database/PaImageCache.entity.d.ts +2 -0
- package/dist/database/PaImageCache.entity.js +10 -0
- package/dist/database/PaImageCache.entity.js.map +1 -1
- package/dist/database/PaImageCacheUsed.entity.d.ts +5 -0
- package/dist/database/{PaImageCacheKey.entity.js → PaImageCacheUsed.entity.js} +11 -11
- package/dist/database/PaImageCacheUsed.entity.js.map +1 -0
- package/dist/database/queries.d.ts +20 -11
- package/dist/database/queries.js +67 -24
- package/dist/database/queries.js.map +1 -1
- package/dist/db-init/db-init.js +3 -3
- package/dist/db-init/db-init.js.map +1 -1
- package/dist/db-init/ddl-migration.d.ts +2 -2
- package/dist/db-init/ddl-migration.js +13 -28
- package/dist/db-init/ddl-migration.js.map +1 -1
- package/dist/default-bo-favicon.js +1 -1
- package/dist/default-bo-favicon.js.map +1 -1
- package/dist/engine-types.d.ts +11 -11
- package/dist/image-cache-engine.d.ts +9 -8
- package/dist/image-cache-engine.js +25 -10
- package/dist/image-cache-engine.js.map +1 -1
- package/dist/internal/internal.types.d.ts +4 -2
- package/dist/internal/resizer.d.ts +7 -2
- package/dist/internal/resizer.js +2 -2
- package/dist/internal/resizer.js.map +1 -1
- package/dist/internal/task-processor.js +13 -5
- package/dist/internal/task-processor.js.map +1 -1
- package/dist/original-images-processing.js +1 -7
- package/dist/original-images-processing.js.map +1 -1
- package/dist/public-helpers.d.ts +3 -1
- package/dist/public-helpers.js +13 -2
- package/dist/public-helpers.js.map +1 -1
- package/package.json +3 -3
- package/dist/database/PaImageCacheDependency.entity.d.ts +0 -4
- package/dist/database/PaImageCacheDependency.entity.js +0 -30
- package/dist/database/PaImageCacheDependency.entity.js.map +0 -1
- package/dist/database/PaImageCacheKey.entity.d.ts +0 -5
- package/dist/database/PaImageCacheKey.entity.js.map +0 -1
package/ddl/image-cache.ddl.sql
CHANGED
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
PRAGMA journal_mode = TRUNCATE;
|
|
2
2
|
PRAGMA foreign_keys = 1;
|
|
3
3
|
|
|
4
|
+
drop index if exists PaImageCacheUsed_usedKey_index;
|
|
5
|
+
drop table if exists PaImageCacheUsed;
|
|
6
|
+
drop table if exists PaImageCache;
|
|
7
|
+
drop table if exists PaDbMetadata;
|
|
8
|
+
|
|
4
9
|
create table PaDbMetadata (
|
|
5
10
|
dbSchema varchar(100) not null primary key,
|
|
6
11
|
dbVersion integer not null
|
|
7
12
|
);
|
|
8
13
|
|
|
9
|
-
insert into PaDbMetadata (dbSchema, dbVersion) values ('image-cache',
|
|
14
|
+
insert into PaDbMetadata (dbSchema, dbVersion) values ('image-cache', 5);
|
|
10
15
|
|
|
11
16
|
create table PaImageCache (
|
|
12
17
|
id integer not null primary key autoincrement,
|
|
13
|
-
|
|
18
|
+
resourceVersion varchar(100) not null,
|
|
19
|
+
slug varchar(200),
|
|
20
|
+
imageUid char(36) not null,
|
|
14
21
|
variantName varchar(250) not null,
|
|
15
22
|
mediaType varchar(100) not null,
|
|
16
23
|
weightB integer not null,
|
|
@@ -22,11 +29,11 @@ create table PaImageCache (
|
|
|
22
29
|
unique (imageUid, variantName)
|
|
23
30
|
);
|
|
24
31
|
|
|
25
|
-
create table
|
|
32
|
+
create table PaImageCacheUsed (
|
|
26
33
|
imageCacheId integer not null references PaImageCache (id) on delete cascade,
|
|
27
|
-
|
|
34
|
+
usedKey varchar(250) not null,
|
|
28
35
|
used tinyint(1) not null default 1,
|
|
29
|
-
primary key (imageCacheId,
|
|
36
|
+
primary key (imageCacheId, usedKey)
|
|
30
37
|
);
|
|
31
38
|
|
|
32
|
-
create index
|
|
39
|
+
create index PaImageCacheUsed_usedKey_index on PaImageCacheUsed (usedKey);
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
export declare class PaImageCacheEntity {
|
|
3
3
|
id: string;
|
|
4
|
+
resourceVersion: string;
|
|
4
5
|
imageUid: string;
|
|
5
6
|
variantName: string;
|
|
6
7
|
mediaType: string;
|
|
@@ -10,4 +11,5 @@ export declare class PaImageCacheEntity {
|
|
|
10
11
|
ts: Date;
|
|
11
12
|
lastUseTs: Date;
|
|
12
13
|
binaryFile: Buffer;
|
|
14
|
+
slug?: string;
|
|
13
15
|
}
|
|
@@ -13,6 +13,7 @@ exports.PaImageCacheEntity = void 0;
|
|
|
13
13
|
const typeorm_1 = require("typeorm");
|
|
14
14
|
let PaImageCacheEntity = class PaImageCacheEntity {
|
|
15
15
|
id;
|
|
16
|
+
resourceVersion;
|
|
16
17
|
imageUid;
|
|
17
18
|
variantName;
|
|
18
19
|
mediaType;
|
|
@@ -22,12 +23,17 @@ let PaImageCacheEntity = class PaImageCacheEntity {
|
|
|
22
23
|
ts;
|
|
23
24
|
lastUseTs;
|
|
24
25
|
binaryFile;
|
|
26
|
+
slug;
|
|
25
27
|
};
|
|
26
28
|
exports.PaImageCacheEntity = PaImageCacheEntity;
|
|
27
29
|
__decorate([
|
|
28
30
|
(0, typeorm_1.PrimaryGeneratedColumn)(),
|
|
29
31
|
__metadata("design:type", String)
|
|
30
32
|
], PaImageCacheEntity.prototype, "id", void 0);
|
|
33
|
+
__decorate([
|
|
34
|
+
(0, typeorm_1.Column)({ type: "varchar" }),
|
|
35
|
+
__metadata("design:type", String)
|
|
36
|
+
], PaImageCacheEntity.prototype, "resourceVersion", void 0);
|
|
31
37
|
__decorate([
|
|
32
38
|
(0, typeorm_1.Column)(),
|
|
33
39
|
__metadata("design:type", String)
|
|
@@ -64,6 +70,10 @@ __decorate([
|
|
|
64
70
|
(0, typeorm_1.Column)({ type: "blob" }),
|
|
65
71
|
__metadata("design:type", Buffer)
|
|
66
72
|
], PaImageCacheEntity.prototype, "binaryFile", void 0);
|
|
73
|
+
__decorate([
|
|
74
|
+
(0, typeorm_1.Column)({ type: "varchar", nullable: true }),
|
|
75
|
+
__metadata("design:type", String)
|
|
76
|
+
], PaImageCacheEntity.prototype, "slug", void 0);
|
|
67
77
|
exports.PaImageCacheEntity = PaImageCacheEntity = __decorate([
|
|
68
78
|
(0, typeorm_1.Entity)("PaImageCache"),
|
|
69
79
|
(0, typeorm_1.Unique)(["imageUid", "variantName"])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaImageCache.entity.js","sourceRoot":"","sources":["../../src/database/PaImageCache.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAyE;AAIlE,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAE7B,EAAE,CAAU;IAGZ,QAAQ,CAAU;IAGlB,WAAW,CAAU;IAGrB,SAAS,CAAU;IAGnB,KAAK,CAAU;IAGf,MAAM,CAAU;IAGhB,OAAO,CAAU;IAGjB,EAAE,CAAQ;IAGV,SAAS,CAAQ;IAGjB,UAAU,CAAU;
|
|
1
|
+
{"version":3,"file":"PaImageCache.entity.js","sourceRoot":"","sources":["../../src/database/PaImageCache.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAyE;AAIlE,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAE7B,EAAE,CAAU;IAGZ,eAAe,CAAU;IAGzB,QAAQ,CAAU;IAGlB,WAAW,CAAU;IAGrB,SAAS,CAAU;IAGnB,KAAK,CAAU;IAGf,MAAM,CAAU;IAGhB,OAAO,CAAU;IAGjB,EAAE,CAAQ;IAGV,SAAS,CAAQ;IAGjB,UAAU,CAAU;IAGpB,IAAI,CAAU;CACf,CAAA;AApCY,gDAAkB;AAE7B;IADC,IAAA,gCAAsB,GAAE;;8CACb;AAGZ;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;2DACH;AAGzB;IADC,IAAA,gBAAM,GAAE;;oDACS;AAGlB;IADC,IAAA,gBAAM,GAAE;;uDACY;AAGrB;IADC,IAAA,gBAAM,GAAE;;qDACU;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;iDACb;AAGf;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;kDACZ;AAGhB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;mDACX;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,EAAE,CAAC;8BAC5D,IAAI;8CAAC;AAGV;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,EAAE,CAAC;8BACrD,IAAI;qDAAC;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8BACZ,MAAM;sDAAC;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDAC9B;6BAnCH,kBAAkB;IAF9B,IAAA,gBAAM,EAAC,cAAc,CAAC;IACtB,IAAA,gBAAM,EAAC,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;GACvB,kBAAkB,CAoC9B"}
|
|
@@ -9,27 +9,27 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.
|
|
12
|
+
exports.PaImageCacheUsedEntity = void 0;
|
|
13
13
|
const typeorm_1 = require("typeorm");
|
|
14
|
-
let
|
|
14
|
+
let PaImageCacheUsedEntity = class PaImageCacheUsedEntity {
|
|
15
15
|
imageCacheId;
|
|
16
|
-
|
|
16
|
+
usedKey;
|
|
17
17
|
used;
|
|
18
18
|
};
|
|
19
|
-
exports.
|
|
19
|
+
exports.PaImageCacheUsedEntity = PaImageCacheUsedEntity;
|
|
20
20
|
__decorate([
|
|
21
21
|
(0, typeorm_1.Column)({ type: "integer", primary: true }),
|
|
22
22
|
__metadata("design:type", String)
|
|
23
|
-
],
|
|
23
|
+
], PaImageCacheUsedEntity.prototype, "imageCacheId", void 0);
|
|
24
24
|
__decorate([
|
|
25
25
|
(0, typeorm_1.Column)({ primary: true }),
|
|
26
26
|
__metadata("design:type", String)
|
|
27
|
-
],
|
|
27
|
+
], PaImageCacheUsedEntity.prototype, "usedKey", void 0);
|
|
28
28
|
__decorate([
|
|
29
29
|
(0, typeorm_1.Column)({ type: "boolean", default: true }),
|
|
30
30
|
__metadata("design:type", Boolean)
|
|
31
|
-
],
|
|
32
|
-
exports.
|
|
33
|
-
(0, typeorm_1.Entity)("
|
|
34
|
-
],
|
|
35
|
-
//# sourceMappingURL=
|
|
31
|
+
], PaImageCacheUsedEntity.prototype, "used", void 0);
|
|
32
|
+
exports.PaImageCacheUsedEntity = PaImageCacheUsedEntity = __decorate([
|
|
33
|
+
(0, typeorm_1.Entity)("PaImageCacheUsed")
|
|
34
|
+
], PaImageCacheUsedEntity);
|
|
35
|
+
//# sourceMappingURL=PaImageCacheUsed.entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaImageCacheUsed.entity.js","sourceRoot":"","sources":["../../src/database/PaImageCacheUsed.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAyC;AAGlC,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAEjC,YAAY,CAAU;IAGtB,OAAO,CAAU;IAGjB,IAAI,CAAW;CAChB,CAAA;AATY,wDAAsB;AAEjC;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;4DACrB;AAGtB;IADC,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;uDACT;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;oDAC5B;iCARJ,sBAAsB;IADlC,IAAA,gBAAM,EAAC,kBAAkB,CAAC;GACd,sBAAsB,CASlC"}
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import type { EntityManager } from "typeorm";
|
|
3
|
-
import type { CompleteVariantName, ImageVariantWithBinary } from "../engine-types";
|
|
3
|
+
import type { CompleteVariantName, ImageVariant, ImageVariantWithBinary } from "../engine-types";
|
|
4
4
|
import type { VariantEngineContext } from "../internal/engine-context";
|
|
5
5
|
export declare function insertIntoImageVariant(cn: EntityManager, data: {
|
|
6
|
+
resourceVersion: string;
|
|
6
7
|
imageUid: string;
|
|
7
8
|
variantName: CompleteVariantName;
|
|
9
|
+
slug?: string;
|
|
8
10
|
mediaType: string;
|
|
9
11
|
width: number;
|
|
10
12
|
height: number;
|
|
11
13
|
weightB: number;
|
|
12
14
|
binaryFile: Buffer;
|
|
13
|
-
},
|
|
15
|
+
}, usedKey: string): Promise<{
|
|
14
16
|
newId: string;
|
|
15
17
|
lastModified: string;
|
|
16
18
|
}>;
|
|
@@ -21,28 +23,35 @@ export declare function deleteVariants(cn: EntityManager, options: {
|
|
|
21
23
|
imageUids: string[];
|
|
22
24
|
}): Promise<void>;
|
|
23
25
|
/**
|
|
24
|
-
* @returns the list of cache
|
|
26
|
+
* @returns the list of cache usedKeys that were deleted
|
|
25
27
|
*/
|
|
26
28
|
export declare function deleteVariantsByDependencies(cn: EntityManager, options: {
|
|
27
|
-
|
|
29
|
+
usedKeys: string[];
|
|
28
30
|
}): Promise<number>;
|
|
29
|
-
export declare function
|
|
31
|
+
export declare function fetchImageVariant(ctx: Pick<VariantEngineContext, "cn" | "timeToIdleDays" | "appLog" | "siteName">, { imageUid, completeVariantName, }: {
|
|
30
32
|
imageUid: string;
|
|
31
|
-
|
|
33
|
+
completeVariantName: CompleteVariantName;
|
|
34
|
+
}): Promise<{
|
|
35
|
+
id: string;
|
|
36
|
+
variant: ImageVariant;
|
|
37
|
+
} | undefined>;
|
|
38
|
+
export declare function fetchImageVariantWithBinary(ctx: Pick<VariantEngineContext, "cn" | "timeToIdleDays" | "appLog" | "siteName">, { imageUid, completeVariantName, }: {
|
|
39
|
+
imageUid: string;
|
|
40
|
+
completeVariantName: CompleteVariantName;
|
|
32
41
|
}): Promise<{
|
|
33
42
|
variant: ImageVariantWithBinary;
|
|
34
43
|
id: string;
|
|
35
44
|
} | undefined>;
|
|
36
45
|
/**
|
|
37
|
-
* Delete the images that have no
|
|
46
|
+
* Delete the images that have no usedKey and that have not been used recently.
|
|
38
47
|
* @returns the number of cache identifiers that were deleted
|
|
39
48
|
*/
|
|
40
49
|
export declare function deleteUnusedVariants({ cn, timeToIdleDays, }: VariantEngineContext): Promise<number | undefined>;
|
|
41
|
-
export declare function
|
|
50
|
+
export declare function markOneUsedKeyAsUsed(ctx: Pick<VariantEngineContext, "cn">, { imageCacheId, usedKey, }: {
|
|
42
51
|
imageCacheId: string;
|
|
43
|
-
|
|
52
|
+
usedKey: string;
|
|
44
53
|
}): Promise<void>;
|
|
45
|
-
export declare function
|
|
46
|
-
|
|
54
|
+
export declare function markUsedKeyAsUnused(ctx: Pick<VariantEngineContext, "cn">, { usedKey, }: {
|
|
55
|
+
usedKey: string;
|
|
47
56
|
}): Promise<void>;
|
|
48
57
|
export declare function clearVariantCache({ cn }: VariantEngineContext): Promise<void>;
|
package/dist/database/queries.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.clearVariantCache = exports.
|
|
3
|
+
exports.clearVariantCache = exports.markUsedKeyAsUnused = exports.markOneUsedKeyAsUsed = exports.deleteUnusedVariants = exports.fetchImageVariantWithBinary = exports.fetchImageVariant = exports.deleteVariantsByDependencies = exports.deleteVariants = exports.insertIntoImageVariant = void 0;
|
|
4
4
|
const data_formatters_lib_1 = require("@paroi/data-formatters-lib");
|
|
5
5
|
const anywhere_lib_1 = require("@paroicms/anywhere-lib");
|
|
6
|
-
async function insertIntoImageVariant(cn, data,
|
|
6
|
+
async function insertIntoImageVariant(cn, data, usedKey) {
|
|
7
7
|
const result = await cn
|
|
8
8
|
.createQueryBuilder()
|
|
9
9
|
.insert()
|
|
@@ -31,10 +31,10 @@ async function insertIntoImageVariant(cn, data, cacheKey) {
|
|
|
31
31
|
await cn
|
|
32
32
|
.createQueryBuilder()
|
|
33
33
|
.insert()
|
|
34
|
-
.into("
|
|
34
|
+
.into("PaImageCacheUsed")
|
|
35
35
|
.values({
|
|
36
36
|
imageCacheId: newId,
|
|
37
|
-
|
|
37
|
+
usedKey,
|
|
38
38
|
})
|
|
39
39
|
.execute();
|
|
40
40
|
const row = await cn
|
|
@@ -64,14 +64,14 @@ async function deleteVariants(cn, options) {
|
|
|
64
64
|
}
|
|
65
65
|
exports.deleteVariants = deleteVariants;
|
|
66
66
|
/**
|
|
67
|
-
* @returns the list of cache
|
|
67
|
+
* @returns the list of cache usedKeys that were deleted
|
|
68
68
|
*/
|
|
69
69
|
async function deleteVariantsByDependencies(cn, options) {
|
|
70
70
|
const rows = await cn
|
|
71
71
|
.createQueryBuilder()
|
|
72
72
|
.select("k.imageCacheId", "imageCacheId")
|
|
73
|
-
.from("
|
|
74
|
-
.where("k.
|
|
73
|
+
.from("PaImageCacheUsed", "k")
|
|
74
|
+
.where("k.usedKey in (:...usedKeys)", { usedKeys: options.usedKeys })
|
|
75
75
|
.getRawMany();
|
|
76
76
|
const imageCacheIds = rows.map((row) => (0, data_formatters_lib_1.strVal)(row.imageCacheId));
|
|
77
77
|
await cn
|
|
@@ -83,7 +83,45 @@ async function deleteVariantsByDependencies(cn, options) {
|
|
|
83
83
|
return imageCacheIds.length;
|
|
84
84
|
}
|
|
85
85
|
exports.deleteVariantsByDependencies = deleteVariantsByDependencies;
|
|
86
|
-
async function
|
|
86
|
+
async function fetchImageVariant(ctx, { imageUid, completeVariantName, }) {
|
|
87
|
+
const row = await ctx.cn
|
|
88
|
+
.createQueryBuilder()
|
|
89
|
+
.select("v.id", "id")
|
|
90
|
+
.addSelect("v.mediaType", "mediaType")
|
|
91
|
+
.addSelect("v.width", "width")
|
|
92
|
+
.addSelect("v.height", "height")
|
|
93
|
+
.addSelect("v.ts", "ts")
|
|
94
|
+
.addSelect("v.resourceVersion", "resourceVersion")
|
|
95
|
+
.addSelect("v.slug", "slug")
|
|
96
|
+
.addSelect("v.lastUseTs", "lastUseTs")
|
|
97
|
+
.from("PaImageCache", "v")
|
|
98
|
+
.where("v.imageUid = :imageUid", { imageUid })
|
|
99
|
+
.andWhere("v.variantName = :completeVariantName", { completeVariantName })
|
|
100
|
+
.getRawOne();
|
|
101
|
+
if (!row)
|
|
102
|
+
return;
|
|
103
|
+
const id = (0, data_formatters_lib_1.strVal)(row.id);
|
|
104
|
+
const lastUseTs = (0, data_formatters_lib_1.dateVal)(row.lastUseTs);
|
|
105
|
+
await updateLastUseTsOfImageVariant(ctx, {
|
|
106
|
+
id,
|
|
107
|
+
lastUseTs,
|
|
108
|
+
imageUid,
|
|
109
|
+
completeVariantName,
|
|
110
|
+
});
|
|
111
|
+
return {
|
|
112
|
+
id,
|
|
113
|
+
variant: {
|
|
114
|
+
resourceVersion: (0, data_formatters_lib_1.strVal)(row.resourceVersion),
|
|
115
|
+
slug: (0, data_formatters_lib_1.strValOrUndef)(row.slug),
|
|
116
|
+
mediaType: (0, data_formatters_lib_1.strVal)(row.mediaType),
|
|
117
|
+
width: (0, data_formatters_lib_1.nbVal)(row.width),
|
|
118
|
+
height: (0, data_formatters_lib_1.nbVal)(row.height),
|
|
119
|
+
completeVariantName,
|
|
120
|
+
},
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
exports.fetchImageVariant = fetchImageVariant;
|
|
124
|
+
async function fetchImageVariantWithBinary(ctx, { imageUid, completeVariantName, }) {
|
|
87
125
|
const row = await ctx.cn
|
|
88
126
|
.createQueryBuilder()
|
|
89
127
|
.select("v.id", "id")
|
|
@@ -94,33 +132,38 @@ async function fetchImageVariantWithBinary(ctx, { imageUid, variantName, }) {
|
|
|
94
132
|
.addSelect("v.binaryFile", "binaryFile")
|
|
95
133
|
.addSelect("v.ts", "ts")
|
|
96
134
|
.addSelect("v.lastUseTs", "lastUseTs")
|
|
135
|
+
.addSelect("v.resourceVersion", "resourceVersion")
|
|
136
|
+
.addSelect("v.slug", "slug")
|
|
97
137
|
.from("PaImageCache", "v")
|
|
98
138
|
.where("v.imageUid = :imageUid", { imageUid })
|
|
99
|
-
.andWhere("v.variantName = :
|
|
139
|
+
.andWhere("v.variantName = :completeVariantName", { completeVariantName })
|
|
100
140
|
.getRawOne();
|
|
101
141
|
if (!row)
|
|
102
142
|
return;
|
|
103
143
|
const id = (0, data_formatters_lib_1.strVal)(row.id);
|
|
104
144
|
const lastUseTs = (0, data_formatters_lib_1.dateVal)(row.lastUseTs);
|
|
105
|
-
await updateLastUseTsOfImageVariant(ctx, { id, lastUseTs, imageUid,
|
|
145
|
+
await updateLastUseTsOfImageVariant(ctx, { id, lastUseTs, imageUid, completeVariantName });
|
|
106
146
|
return {
|
|
107
147
|
id,
|
|
108
148
|
variant: {
|
|
149
|
+
resourceVersion: (0, data_formatters_lib_1.strVal)(row.resourceVersion),
|
|
150
|
+
slug: (0, data_formatters_lib_1.strValOrUndef)(row.slug),
|
|
109
151
|
mediaType: (0, data_formatters_lib_1.strVal)(row.mediaType),
|
|
110
152
|
width: (0, data_formatters_lib_1.nbVal)(row.width),
|
|
111
153
|
height: (0, data_formatters_lib_1.nbVal)(row.height),
|
|
112
154
|
weightB: (0, data_formatters_lib_1.nbVal)(row.weightB),
|
|
113
155
|
binaryFile: row.binaryFile,
|
|
114
156
|
lastModified: (0, data_formatters_lib_1.dateVal)(row.ts).toISOString(),
|
|
157
|
+
completeVariantName,
|
|
115
158
|
},
|
|
116
159
|
};
|
|
117
160
|
}
|
|
118
161
|
exports.fetchImageVariantWithBinary = fetchImageVariantWithBinary;
|
|
119
|
-
async function updateLastUseTsOfImageVariant(ctx, { id, lastUseTs, imageUid,
|
|
120
|
-
const { cn, timeToIdleDays, appLog
|
|
162
|
+
async function updateLastUseTsOfImageVariant(ctx, { id, lastUseTs, imageUid, completeVariantName, }) {
|
|
163
|
+
const { cn, timeToIdleDays, appLog } = ctx;
|
|
121
164
|
if (timeToIdleDays === undefined || (0, anywhere_lib_1.isSameTimeUnit)(lastUseTs, "day"))
|
|
122
165
|
return;
|
|
123
|
-
appLog.debug(`updating lastUseTs of image cache: ${imageUid}, ${
|
|
166
|
+
appLog.debug(`updating lastUseTs of image cache: ${imageUid}, ${completeVariantName}`);
|
|
124
167
|
await cn
|
|
125
168
|
.createQueryBuilder()
|
|
126
169
|
.update("PaImageCache")
|
|
@@ -131,7 +174,7 @@ async function updateLastUseTsOfImageVariant(ctx, { id, lastUseTs, imageUid, var
|
|
|
131
174
|
.execute();
|
|
132
175
|
}
|
|
133
176
|
/**
|
|
134
|
-
* Delete the images that have no
|
|
177
|
+
* Delete the images that have no usedKey and that have not been used recently.
|
|
135
178
|
* @returns the number of cache identifiers that were deleted
|
|
136
179
|
*/
|
|
137
180
|
async function deleteUnusedVariants({ cn, timeToIdleDays, }) {
|
|
@@ -142,34 +185,34 @@ async function deleteUnusedVariants({ cn, timeToIdleDays, }) {
|
|
|
142
185
|
.where(`date(lastUseTs) < date(current_timestamp, '-${timeToIdleDays} day')`)
|
|
143
186
|
.andWhere(`not exists (
|
|
144
187
|
select 1
|
|
145
|
-
from
|
|
188
|
+
from PaImageCacheUsed k
|
|
146
189
|
where k.imageCacheId = PaImageCache.id and k.used = 1
|
|
147
190
|
)`)
|
|
148
191
|
.execute();
|
|
149
192
|
return result.affected ?? undefined;
|
|
150
193
|
}
|
|
151
194
|
exports.deleteUnusedVariants = deleteUnusedVariants;
|
|
152
|
-
async function
|
|
195
|
+
async function markOneUsedKeyAsUsed(ctx, { imageCacheId, usedKey, }) {
|
|
153
196
|
await ctx.cn
|
|
154
197
|
.createQueryBuilder()
|
|
155
|
-
.update("
|
|
198
|
+
.update("PaImageCacheUsed")
|
|
156
199
|
.set({ used: 1 })
|
|
157
200
|
.where("imageCacheId = :imageCacheId", { imageCacheId })
|
|
158
|
-
.andWhere("
|
|
201
|
+
.andWhere("usedKey = :usedKey", { usedKey })
|
|
159
202
|
.execute();
|
|
160
203
|
}
|
|
161
|
-
exports.
|
|
162
|
-
async function
|
|
204
|
+
exports.markOneUsedKeyAsUsed = markOneUsedKeyAsUsed;
|
|
205
|
+
async function markUsedKeyAsUnused(ctx, { usedKey, }) {
|
|
163
206
|
await ctx.cn
|
|
164
207
|
.createQueryBuilder()
|
|
165
|
-
.update("
|
|
208
|
+
.update("PaImageCacheUsed")
|
|
166
209
|
.set({ used: 0 })
|
|
167
|
-
.where("
|
|
210
|
+
.where("usedKey = :usedKey", { usedKey })
|
|
168
211
|
.execute();
|
|
169
212
|
}
|
|
170
|
-
exports.
|
|
213
|
+
exports.markUsedKeyAsUnused = markUsedKeyAsUnused;
|
|
171
214
|
async function clearVariantCache({ cn }) {
|
|
172
|
-
await cn.createQueryBuilder().delete().from("
|
|
215
|
+
await cn.createQueryBuilder().delete().from("PaImageCacheUsed").execute();
|
|
173
216
|
await cn.createQueryBuilder().delete().from("PaImageCache").execute();
|
|
174
217
|
}
|
|
175
218
|
exports.clearVariantCache = clearVariantCache;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/database/queries.ts"],"names":[],"mappings":";;;AAAA,oEAAmF;AACnF,yDAAkE;AAK3D,KAAK,UAAU,sBAAsB,CAC1C,EAAiB,EACjB,
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/database/queries.ts"],"names":[],"mappings":"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"}
|
package/dist/db-init/db-init.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createOrOpenMainCn = void 0;
|
|
4
|
-
const node_path_1 = require("node:path");
|
|
5
4
|
const server_lib_1 = require("@paroicms/server-lib");
|
|
5
|
+
const node_path_1 = require("node:path");
|
|
6
6
|
const constants_1 = require("../constants");
|
|
7
7
|
const PaImageCache_entity_1 = require("../database/PaImageCache.entity");
|
|
8
|
-
const
|
|
8
|
+
const PaImageCacheUsed_entity_1 = require("../database/PaImageCacheUsed.entity");
|
|
9
9
|
const ddl_migration_1 = require("./ddl-migration");
|
|
10
10
|
async function createOrOpenMainCn({ sqliteFile, siteName, appLog, }) {
|
|
11
11
|
const { logNextQuery, typeOrmLogger } = (0, server_lib_1.createSqlLogger)({ appLog, siteName, dbSchemaName: ddl_migration_1.dbSchemaName });
|
|
@@ -16,7 +16,7 @@ async function createOrOpenMainCn({ sqliteFile, siteName, appLog, }) {
|
|
|
16
16
|
sqliteFile,
|
|
17
17
|
ddlFile: (0, node_path_1.join)(constants_1.packageDir, "ddl", "image-cache.ddl.sql"),
|
|
18
18
|
migrateDb,
|
|
19
|
-
entities: [PaImageCache_entity_1.PaImageCacheEntity,
|
|
19
|
+
entities: [PaImageCache_entity_1.PaImageCacheEntity, PaImageCacheUsed_entity_1.PaImageCacheUsedEntity],
|
|
20
20
|
logger: typeOrmLogger,
|
|
21
21
|
appLog,
|
|
22
22
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db-init.js","sourceRoot":"","sources":["../../src/db-init/db-init.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"db-init.js","sourceRoot":"","sources":["../../src/db-init/db-init.ts"],"names":[],"mappings":";;;AAAA,qDAAkG;AAClG,yCAAiC;AAEjC,4CAA0C;AAC1C,yEAAqE;AACrE,iFAA6E;AAC7E,mDAKyB;AAElB,KAAK,UAAU,kBAAkB,CAAC,EACvC,UAAU,EACV,QAAQ,EACR,MAAM,GACmD;IACzD,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,IAAA,4BAAe,EAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAZ,4BAAY,EAAE,CAAC,CAAC;IAE5F,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,yCAA4B,EAAC;QACpD,QAAQ,EAAE,QAAQ;QAClB,SAAS,EAAE,IAAI;QACf,YAAY,EAAZ,4BAAY;QACZ,UAAU;QACV,OAAO,EAAE,IAAA,gBAAI,EAAC,sBAAU,EAAE,KAAK,EAAE,qBAAqB,CAAC;QACvD,SAAS;QACT,QAAQ,EAAE,CAAC,wCAAkB,EAAE,gDAAsB,CAAC;QACtD,MAAM,EAAE,aAAa;QACrB,MAAM;KACP,CAAC,CAAC;IAEH,KAAK,UAAU,SAAS,CAAC,EAAc;QACrC,MAAM,SAAS,GAAG,MAAM,IAAA,4BAAY,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvD,IAAI,SAAS,KAAK,8CAA8B,EAAE,CAAC;YACjD,MAAM,IAAA,+BAAe,EAAC,EAAE,EAAE;gBACxB,WAAW,EAAE,SAAS;gBACtB,QAAQ;gBACR,MAAM;aACP,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;AAClC,CAAC;AA/BD,gDA+BC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type AppLog } from "@paroicms/server-lib";
|
|
2
2
|
import type { DataSource } from "typeorm";
|
|
3
3
|
export declare const dbSchemaName = "image-cache";
|
|
4
|
-
export declare const currentVariantsDbSchemaVersion =
|
|
4
|
+
export declare const currentVariantsDbSchemaVersion = 5;
|
|
5
5
|
export declare function getDbVersion(cn: DataSource, { siteName }: {
|
|
6
6
|
siteName: string;
|
|
7
7
|
}): Promise<number>;
|
|
@@ -2,8 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.migrateMediasDb = exports.getDbVersion = exports.currentVariantsDbSchemaVersion = exports.dbSchemaName = void 0;
|
|
4
4
|
const data_formatters_lib_1 = require("@paroi/data-formatters-lib");
|
|
5
|
+
const server_lib_1 = require("@paroicms/server-lib");
|
|
6
|
+
const node_path_1 = require("node:path");
|
|
7
|
+
const constants_1 = require("../constants");
|
|
5
8
|
exports.dbSchemaName = "image-cache";
|
|
6
|
-
exports.currentVariantsDbSchemaVersion =
|
|
9
|
+
exports.currentVariantsDbSchemaVersion = 5;
|
|
7
10
|
async function getDbVersion(cn, { siteName }) {
|
|
8
11
|
const [row] = await cn.query(`select dbVersion from PaDbMetadata where dbSchema = '${exports.dbSchemaName}'`);
|
|
9
12
|
if (!row)
|
|
@@ -14,33 +17,15 @@ exports.getDbVersion = getDbVersion;
|
|
|
14
17
|
async function migrateMediasDb(cn, { fromVersion, siteName, appLog }) {
|
|
15
18
|
const toVersion = exports.currentVariantsDbSchemaVersion;
|
|
16
19
|
let currentVersion = fromVersion;
|
|
17
|
-
if (currentVersion
|
|
18
|
-
await cn.query("drop table
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
mediaType varchar(100) not null,
|
|
27
|
-
weightB integer not null,
|
|
28
|
-
width integer not null,
|
|
29
|
-
height integer not null,
|
|
30
|
-
ts timestamp not null default current_timestamp,
|
|
31
|
-
lastUseTs timestamp not null default current_timestamp,
|
|
32
|
-
binaryFile blob not null,
|
|
33
|
-
unique (imageUid, variantName)
|
|
34
|
-
)`);
|
|
35
|
-
await cn.query(`create table PaImageCacheKey (
|
|
36
|
-
imageCacheId integer not null references PaImageCache (id) on delete cascade,
|
|
37
|
-
cacheKey varchar(250) not null,
|
|
38
|
-
used tinyint(1) not null default 1,
|
|
39
|
-
primary key (imageCacheId, cacheKey)
|
|
40
|
-
)`);
|
|
41
|
-
await cn.query("create index PaImageCacheKey_cacheKey_index on PaImageCacheKey (cacheKey)");
|
|
42
|
-
await cn.query(`update PaDbMetadata set dbVersion = 4 where dbSchema = '${exports.dbSchemaName}'`);
|
|
43
|
-
currentVersion = 4;
|
|
20
|
+
if (currentVersion === 4) {
|
|
21
|
+
await cn.query("drop table PaImageCacheKey");
|
|
22
|
+
}
|
|
23
|
+
// We don't care losing cache data
|
|
24
|
+
// Warning: don't reset the image cache until the text cache is reset too
|
|
25
|
+
if (currentVersion < toVersion) {
|
|
26
|
+
appLog.info(`[${siteName}] reset the image-cache database`);
|
|
27
|
+
await (0, server_lib_1.executeDdl)(cn, (0, node_path_1.join)(constants_1.packageDir, "ddl", "image-cache.ddl.sql"));
|
|
28
|
+
currentVersion = await getDbVersion(cn, { siteName });
|
|
44
29
|
}
|
|
45
30
|
if (currentVersion !== toVersion) {
|
|
46
31
|
throw new Error(`[${siteName}] version of ${exports.dbSchemaName} database should be '${toVersion}', but is '${currentVersion}'`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ddl-migration.js","sourceRoot":"","sources":["../../src/db-init/ddl-migration.ts"],"names":[],"mappings":";;;AAAA,oEAAmD;
|
|
1
|
+
{"version":3,"file":"ddl-migration.js","sourceRoot":"","sources":["../../src/db-init/ddl-migration.ts"],"names":[],"mappings":";;;AAAA,oEAAmD;AAEnD,qDAA+D;AAC/D,yCAAiC;AAEjC,4CAA0C;AAE7B,QAAA,YAAY,GAAG,aAAa,CAAC;AAC7B,QAAA,8BAA8B,GAAG,CAAC,CAAC;AAEzC,KAAK,UAAU,YAAY,CAAC,EAAc,EAAE,EAAE,QAAQ,EAAwB;IACnF,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,KAAK,CAC1B,wDAAwD,oBAAY,GAAG,CACxE,CAAC;IACF,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,IAAI,QAAQ,uBAAuB,oBAAY,eAAe,CAAC,CAAC;IAC1F,OAAO,IAAA,2BAAK,EAAC,GAAG,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;AACxD,CAAC;AAND,oCAMC;AAEM,KAAK,UAAU,eAAe,CACnC,EAAc,EACd,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAA6D;IAE5F,MAAM,SAAS,GAAG,sCAA8B,CAAC;IACjD,IAAI,cAAc,GAAG,WAAW,CAAC;IAEjC,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,EAAE,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC/C,CAAC;IAED,kCAAkC;IAClC,yEAAyE;IACzE,IAAI,cAAc,GAAG,SAAS,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,QAAQ,kCAAkC,CAAC,CAAC;QAC5D,MAAM,IAAA,uBAAU,EAAC,EAAE,EAAE,IAAA,gBAAI,EAAC,sBAAU,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC;QACrE,cAAc,GAAG,MAAM,YAAY,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,IAAI,QAAQ,gBAAgB,oBAAY,wBAAwB,SAAS,cAAc,cAAc,GAAG,CACzG,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,IAAI,CACT,IAAI,QAAQ,KAAK,oBAAY,+BAA+B,WAAW,OAAO,cAAc,EAAE,CAC/F,CAAC;AACJ,CAAC;AA5BD,0CA4BC"}
|
|
@@ -41,7 +41,7 @@ async function createDefaultBoFavicon(binaryFile) {
|
|
|
41
41
|
return {
|
|
42
42
|
width: result.info.width,
|
|
43
43
|
height: result.info.height,
|
|
44
|
-
weightB: result.
|
|
44
|
+
weightB: result.data.byteLength,
|
|
45
45
|
mediaType,
|
|
46
46
|
lossless: mediaType === "image/png" || mediaType === "image/webp",
|
|
47
47
|
binaryFile: result.data,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-bo-favicon.js","sourceRoot":"","sources":["../src/default-bo-favicon.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,mEAAqD;AACrD,gDAAmE;AAGnE,MAAM,mBAAmB,GAAG;IAC1B,CAAC,EAAE,iBAAiB;IACpB,CAAC,EAAE,kBAAkB;IACrB,CAAC,EAAE,kBAAkB;IACrB,CAAC,EAAE,kBAAkB;CACtB,CAAC;AAEK,KAAK,UAAU,sBAAsB,CAAC,UAAkB;IAC7D,MAAM,SAAS,GAAG,IAAA,eAAK,EAAC,UAAU,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,MAAM,IAAA,kCAAU,EAAC,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9D,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3C,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE3D,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,kCAAU,EAAC,GAAG,EAAE,CAC3C,SAAS;SACN,MAAM,CAAC;QACN,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,GAAG;QACX,GAAG,EAAE,OAAO;KACb,CAAC;SACD,WAAW,EAAE;SACb,GAAG,EAAE;SACL,QAAQ,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CACzC,CAAC;IAEF,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAEzC,MAAM,SAAS,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAChD,cAAc,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE1D,MAAM,MAAM,GAAG,MAAM,IAAA,kCAAU,EAAC,GAAG,EAAE,CACnC,IAAA,eAAK,EAAC,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;SAC9C,IAAI,CAAC;QACJ,QAAQ,EAAE,IAAI;KACf,CAAC;SACD,QAAQ,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CACzC,CAAC;IAEF,MAAM,SAAS,GAAG,IAAA,uCAA6B,EAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEpE,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK;QACxB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;QAC1B,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"default-bo-favicon.js","sourceRoot":"","sources":["../src/default-bo-favicon.ts"],"names":[],"mappings":"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"}
|
package/dist/engine-types.d.ts
CHANGED
|
@@ -9,20 +9,13 @@ export type CompleteVariantName = `${number}x${number}`;
|
|
|
9
9
|
export type AutoWidthVariantName = `x${number}`;
|
|
10
10
|
export type AutoHeightVariantName = `${number}x`;
|
|
11
11
|
export type AutoWidthOrHeightVariantName = `x${number}x`;
|
|
12
|
-
export interface VariantSize {
|
|
13
|
-
width: number;
|
|
14
|
-
height: number;
|
|
15
|
-
completeVariantName: CompleteVariantName;
|
|
16
|
-
}
|
|
17
|
-
export interface NewVariantImage extends VariantSize {
|
|
18
|
-
mediaType: string;
|
|
19
|
-
}
|
|
20
12
|
export interface NewImageProps {
|
|
21
13
|
imageRef: ImageRef;
|
|
22
14
|
variantName: string;
|
|
23
15
|
autoCrop?: boolean;
|
|
24
16
|
mediaType?: string;
|
|
25
|
-
|
|
17
|
+
dependsOnUsedKey: string;
|
|
18
|
+
slug?: string;
|
|
26
19
|
}
|
|
27
20
|
export interface ImageRef {
|
|
28
21
|
imageUid: string;
|
|
@@ -32,10 +25,17 @@ export interface ImageRef {
|
|
|
32
25
|
avgWidth?: number;
|
|
33
26
|
avgHeight?: number;
|
|
34
27
|
}
|
|
35
|
-
export interface
|
|
36
|
-
mediaType: string;
|
|
28
|
+
export interface VariantSize {
|
|
37
29
|
width: number;
|
|
38
30
|
height: number;
|
|
31
|
+
completeVariantName: CompleteVariantName;
|
|
32
|
+
}
|
|
33
|
+
export interface ImageVariant extends VariantSize {
|
|
34
|
+
resourceVersion: string;
|
|
35
|
+
slug?: string;
|
|
36
|
+
mediaType: string;
|
|
37
|
+
}
|
|
38
|
+
export interface ImageVariantWithBinary extends ImageVariant {
|
|
39
39
|
weightB: number;
|
|
40
40
|
binaryFile: Buffer;
|
|
41
41
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ImageCompressionQualityPolicy } from "@paroicms/anywhere-lib";
|
|
2
|
-
import type
|
|
3
|
-
import type { CompleteVariantName, GetOriginalImage, ImageRef, ImageVariantStorage, ImageVariantWithBinary, NewImageProps,
|
|
2
|
+
import { type AppLog } from "@paroicms/server-lib";
|
|
3
|
+
import type { CompleteVariantName, GetOriginalImage, ImageRef, ImageVariant, ImageVariantStorage, ImageVariantWithBinary, NewImageProps, VariantName } from "./engine-types";
|
|
4
4
|
import { type VariantEngineContext } from "./internal/engine-context";
|
|
5
5
|
export interface CreateImageCacheEngineOptions {
|
|
6
6
|
siteName: string;
|
|
@@ -21,15 +21,16 @@ export declare class ImageCacheEngine {
|
|
|
21
21
|
imageUid: string;
|
|
22
22
|
variantName: CompleteVariantName;
|
|
23
23
|
}): Promise<ImageVariantWithBinary | undefined>;
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
resetUsedKey(options: {
|
|
25
|
+
usedKey: string;
|
|
26
26
|
}): Promise<void>;
|
|
27
|
-
makeImageAvailable(params: NewImageProps):
|
|
27
|
+
makeImageAvailable(params: NewImageProps): Promise<ImageVariant>;
|
|
28
28
|
getOrCreateImageWithBinary(params: NewImageProps): Promise<ImageVariantWithBinary | undefined>;
|
|
29
29
|
conditionallyCreateImageVariantWithBinary(media: ImageRef, options: {
|
|
30
30
|
authorisedVariantNames: VariantName[];
|
|
31
31
|
variantName: CompleteVariantName;
|
|
32
|
-
|
|
32
|
+
dependsOnUsedKey: string;
|
|
33
|
+
slug?: string;
|
|
33
34
|
}): Promise<ImageVariantWithBinary | undefined>;
|
|
34
35
|
invalidate(options: {
|
|
35
36
|
imageUid: string;
|
|
@@ -37,10 +38,10 @@ export declare class ImageCacheEngine {
|
|
|
37
38
|
} | {
|
|
38
39
|
imageUids: string[];
|
|
39
40
|
} | {
|
|
40
|
-
|
|
41
|
+
usedKeys: string[];
|
|
41
42
|
}): Promise<void>;
|
|
42
43
|
/**
|
|
43
|
-
* Delete the images that have no
|
|
44
|
+
* Delete the images that have no usedKey and that have not been used recently.
|
|
44
45
|
*/
|
|
45
46
|
cleanUnusedValues(): Promise<void>;
|
|
46
47
|
clearCache(): Promise<void>;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ImageCacheEngine = exports.createImageCacheEngine = void 0;
|
|
4
4
|
const async_lib_1 = require("@paroi/async-lib");
|
|
5
|
+
const server_lib_1 = require("@paroicms/server-lib");
|
|
5
6
|
const queries_1 = require("./database/queries");
|
|
6
7
|
const compute_variant_size_1 = require("./internal/compute-variant-size");
|
|
7
8
|
const engine_context_1 = require("./internal/engine-context");
|
|
@@ -25,17 +26,26 @@ class ImageCacheEngine {
|
|
|
25
26
|
return pth.promise;
|
|
26
27
|
const found = await (0, queries_1.fetchImageVariantWithBinary)(this.#context, {
|
|
27
28
|
imageUid,
|
|
28
|
-
variantName,
|
|
29
|
+
completeVariantName: variantName,
|
|
29
30
|
});
|
|
30
31
|
return found ? found.variant : undefined;
|
|
31
32
|
}
|
|
32
|
-
async
|
|
33
|
-
await (0, queries_1.
|
|
33
|
+
async resetUsedKey(options) {
|
|
34
|
+
await (0, queries_1.markUsedKeyAsUnused)(this.#context, options);
|
|
34
35
|
}
|
|
35
|
-
makeImageAvailable(params) {
|
|
36
|
+
async makeImageAvailable(params) {
|
|
36
37
|
this.#checkStatus();
|
|
37
38
|
const imageUid = params.imageRef.imageUid;
|
|
38
39
|
const { width, height, completeVariantName } = (0, compute_variant_size_1.computeVariantSize)(params);
|
|
40
|
+
const found = await (0, queries_1.fetchImageVariant)(this.#context, { imageUid, completeVariantName });
|
|
41
|
+
if (found) {
|
|
42
|
+
await (0, queries_1.markOneUsedKeyAsUsed)(this.#context, {
|
|
43
|
+
imageCacheId: found.id,
|
|
44
|
+
usedKey: params.dependsOnUsedKey,
|
|
45
|
+
});
|
|
46
|
+
return found.variant;
|
|
47
|
+
}
|
|
48
|
+
const resourceVersion = (0, server_lib_1.generateResourceVersion)();
|
|
39
49
|
const taskKey = `${imageUid}:${completeVariantName}`;
|
|
40
50
|
if (!this.#context.pendingTasks.has(taskKey)) {
|
|
41
51
|
this.#context.queue.push({
|
|
@@ -48,7 +58,9 @@ class ImageCacheEngine {
|
|
|
48
58
|
},
|
|
49
59
|
mediaType: params.imageRef.mediaType,
|
|
50
60
|
changeMediaTypeTo: params.mediaType,
|
|
51
|
-
|
|
61
|
+
dependsOnUsedKey: params.dependsOnUsedKey,
|
|
62
|
+
resourceVersion,
|
|
63
|
+
slug: params.slug,
|
|
52
64
|
});
|
|
53
65
|
this.#context.pendingTasks.set(taskKey, (0, async_lib_1.promiseToHandle)());
|
|
54
66
|
this.#startQueue();
|
|
@@ -58,11 +70,13 @@ class ImageCacheEngine {
|
|
|
58
70
|
height,
|
|
59
71
|
completeVariantName,
|
|
60
72
|
mediaType: params.mediaType ?? params.imageRef.mediaType,
|
|
73
|
+
resourceVersion,
|
|
74
|
+
slug: params.slug,
|
|
61
75
|
};
|
|
62
76
|
}
|
|
63
77
|
async getOrCreateImageWithBinary(params) {
|
|
64
78
|
this.#checkStatus();
|
|
65
|
-
const variant = this.makeImageAvailable(params);
|
|
79
|
+
const variant = await this.makeImageAvailable(params);
|
|
66
80
|
return await this.getImageVariantWithBinary({
|
|
67
81
|
imageUid: params.imageRef.imageUid,
|
|
68
82
|
variantName: variant.completeVariantName,
|
|
@@ -73,11 +87,12 @@ class ImageCacheEngine {
|
|
|
73
87
|
const authorized = (0, compute_variant_size_1.findAuthorizedVariantSize)(media, options);
|
|
74
88
|
if (!authorized)
|
|
75
89
|
return;
|
|
76
|
-
const available = this.makeImageAvailable({
|
|
90
|
+
const available = await this.makeImageAvailable({
|
|
77
91
|
autoCrop: false,
|
|
78
92
|
variantName: authorized.completeVariantName,
|
|
79
93
|
imageRef: media,
|
|
80
|
-
|
|
94
|
+
dependsOnUsedKey: options.dependsOnUsedKey,
|
|
95
|
+
slug: options.slug,
|
|
81
96
|
});
|
|
82
97
|
if (available.completeVariantName !== authorized.completeVariantName) {
|
|
83
98
|
throw new Error(`mismatch variants '${available.completeVariantName}' and '${authorized.completeVariantName}'`);
|
|
@@ -89,7 +104,7 @@ class ImageCacheEngine {
|
|
|
89
104
|
}
|
|
90
105
|
async invalidate(options) {
|
|
91
106
|
this.#checkStatus();
|
|
92
|
-
if ("
|
|
107
|
+
if ("usedKeys" in options) {
|
|
93
108
|
await (0, queries_1.deleteVariantsByDependencies)(this.#context.cn, options);
|
|
94
109
|
}
|
|
95
110
|
else {
|
|
@@ -97,7 +112,7 @@ class ImageCacheEngine {
|
|
|
97
112
|
}
|
|
98
113
|
}
|
|
99
114
|
/**
|
|
100
|
-
* Delete the images that have no
|
|
115
|
+
* Delete the images that have no usedKey and that have not been used recently.
|
|
101
116
|
*/
|
|
102
117
|
async cleanUnusedValues() {
|
|
103
118
|
this.#checkStatus();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-cache-engine.js","sourceRoot":"","sources":["../src/image-cache-engine.ts"],"names":[],"mappings":";;;AAAA,gDAAmD;
|
|
1
|
+
{"version":3,"file":"image-cache-engine.js","sourceRoot":"","sources":["../src/image-cache-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import type { CompleteVariantName } from "../engine-types";
|
|
2
2
|
export interface TaskData {
|
|
3
3
|
taskKey: TaskKey;
|
|
4
|
+
resourceVersion: string;
|
|
5
|
+
imageUid: string;
|
|
4
6
|
variantName: CompleteVariantName;
|
|
5
7
|
imageSize: ImageSize;
|
|
6
|
-
imageUid: string;
|
|
7
8
|
mediaType: string;
|
|
8
9
|
changeMediaTypeTo?: string;
|
|
9
|
-
|
|
10
|
+
dependsOnUsedKey: string;
|
|
11
|
+
slug?: string;
|
|
10
12
|
}
|
|
11
13
|
export interface ImageSize {
|
|
12
14
|
width: number;
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import type { ImageCompressionQualityPolicy } from "@paroicms/anywhere-lib";
|
|
3
|
-
import type { ImageVariantWithBinary } from "../engine-types";
|
|
4
3
|
import type { ImageSize } from "./internal.types";
|
|
5
|
-
export
|
|
4
|
+
export interface UnsavedImageVariantWithBinary {
|
|
5
|
+
width: number;
|
|
6
|
+
height: number;
|
|
7
|
+
mediaType: string;
|
|
8
|
+
weightB: number;
|
|
9
|
+
binaryFile: Buffer;
|
|
10
|
+
}
|
|
6
11
|
export declare function resizeImage(options: {
|
|
7
12
|
binaryFile: Buffer;
|
|
8
13
|
imageSize: ImageSize;
|
package/dist/internal/resizer.js
CHANGED
|
@@ -24,7 +24,7 @@ async function resizeImage(options) {
|
|
|
24
24
|
return {
|
|
25
25
|
width: info.width,
|
|
26
26
|
height: info.height,
|
|
27
|
-
weightB:
|
|
27
|
+
weightB: data.byteLength,
|
|
28
28
|
mediaType: convertSharpFormatToMediaType(info.format),
|
|
29
29
|
binaryFile: data,
|
|
30
30
|
};
|
|
@@ -39,7 +39,7 @@ async function resizeIcoImage(options) {
|
|
|
39
39
|
return {
|
|
40
40
|
width: info.width,
|
|
41
41
|
height: info.height,
|
|
42
|
-
weightB:
|
|
42
|
+
weightB: binaryFile.byteLength,
|
|
43
43
|
mediaType: "image/x-icon",
|
|
44
44
|
binaryFile,
|
|
45
45
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resizer.js","sourceRoot":"","sources":["../../src/internal/resizer.ts"],"names":[],"mappings":";;;;;;AACA,kDAA0B;AAC1B,4CAA8E;
|
|
1
|
+
{"version":3,"file":"resizer.js","sourceRoot":"","sources":["../../src/internal/resizer.ts"],"names":[],"mappings":";;;;;;AACA,kDAA0B;AAC1B,4CAA8E;AAC9E,oEAAsD;AAEtD,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAU/B,KAAK,UAAU,WAAW,CAAC,OAQjC;IACC,IAAI,OAAO,CAAC,QAAQ,EAAE,SAAS,KAAK,cAAc;QAAE,OAAO,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;IAEzF,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ;QAClC,CAAC,CAAC,6BAA6B,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC3D,CAAC,CAAC,MAAM,CAAC;IAEX,MAAM,SAAS,GAAG,IAAA,eAAK,EAAC,OAAO,CAAC,UAAU,CAAC;SACxC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;SACzB,QAAQ,CAAC,WAAW,EAAE;QACrB,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC;QACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,QAAQ;KACrC,CAAC,CAAC;IAEL,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,kCAAU,EAAC,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC/F,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI,CAAC,UAAU;QACxB,SAAS,EAAE,6BAA6B,CAAC,IAAI,CAAC,MAAM,CAAC;QACrD,UAAU,EAAE,IAAI;KACjB,CAAC;AACJ,CAAC;AA9BD,kCA8BC;AAEM,KAAK,UAAU,cAAc,CAAC,OAGpC;IACC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,kCAAU,EAAC,GAAG,EAAE,CAC3C,IAAA,eAAK,EAAC,OAAO,CAAC,UAAU,CAAC;SACtB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;SACzB,QAAQ,CAAC,KAAK,CAAC;SACf,QAAQ,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CACzC,CAAC;IAEF,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAE3C,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,UAAU,CAAC,UAAU;QAC9B,SAAS,EAAE,cAAc;QACzB,UAAU;KACX,CAAC;AACJ,CAAC;AApBD,wCAoBC;AAED,SAAS,6BAA6B,CAAC,SAAiB;IACtD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,gCAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5E,MAAM,IAAI,KAAK,CAAC,uBAAuB,SAAS,GAAG,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC,CAAwB,CAAC;AACvD,CAAC;AAED,SAAgB,6BAA6B,CAAC,MAAc;IAC1D,OAAO,SAAS,MAAM,EAAE,CAAC;AAC3B,CAAC;AAFD,sEAEC;AAED,SAAgB,UAAU,CACxB,EAAE,KAAK,EAAE,MAAM,EAAa,EAC5B,aAA+C;IAE/C,MAAM,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC;IAE5B,KAAK,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,aAAa,IAAI,EAAE,EAAE,CAAC;QAC3D,IAAI,WAAW,KAAK,SAAS,IAAI,IAAI,IAAI,WAAW;YAAE,OAAO,OAAO,CAAC;IACvE,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAXD,gCAWC"}
|
|
@@ -28,12 +28,12 @@ exports.processAllPending = processAllPending;
|
|
|
28
28
|
async function excecuteTask(task, ctx) {
|
|
29
29
|
const found = await (0, queries_1.fetchImageVariantWithBinary)(ctx, {
|
|
30
30
|
imageUid: task.imageUid,
|
|
31
|
-
|
|
31
|
+
completeVariantName: task.variantName,
|
|
32
32
|
});
|
|
33
33
|
if (found) {
|
|
34
|
-
await (0, queries_1.
|
|
34
|
+
await (0, queries_1.markOneUsedKeyAsUsed)(ctx, {
|
|
35
35
|
imageCacheId: found.id,
|
|
36
|
-
|
|
36
|
+
usedKey: task.dependsOnUsedKey,
|
|
37
37
|
});
|
|
38
38
|
return found.variant;
|
|
39
39
|
}
|
|
@@ -49,14 +49,22 @@ async function excecuteTask(task, ctx) {
|
|
|
49
49
|
qualityPolicy: ctx.qualityPolicy,
|
|
50
50
|
});
|
|
51
51
|
const { lastModified } = await (0, queries_1.insertIntoImageVariant)(ctx.cn, {
|
|
52
|
+
resourceVersion: task.resourceVersion,
|
|
52
53
|
imageUid: task.imageUid,
|
|
54
|
+
slug: task.slug,
|
|
53
55
|
mediaType: result.mediaType,
|
|
54
56
|
variantName: task.variantName,
|
|
55
57
|
width: result.width,
|
|
56
58
|
height: result.height,
|
|
57
59
|
weightB: result.weightB,
|
|
58
60
|
binaryFile: result.binaryFile,
|
|
59
|
-
}, task.
|
|
60
|
-
return {
|
|
61
|
+
}, task.dependsOnUsedKey);
|
|
62
|
+
return {
|
|
63
|
+
...result,
|
|
64
|
+
lastModified,
|
|
65
|
+
resourceVersion: task.resourceVersion,
|
|
66
|
+
slug: task.slug,
|
|
67
|
+
completeVariantName: task.variantName,
|
|
68
|
+
};
|
|
61
69
|
}
|
|
62
70
|
//# sourceMappingURL=task-processor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-processor.js","sourceRoot":"","sources":["../../src/internal/task-processor.ts"],"names":[],"mappings":";;;AAAA,iDAI6B;AAI7B,uCAAwC;AAEjC,KAAK,UAAU,iBAAiB,CAAC,OAA6B;IACnE,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI;YAAE,MAAM;QAEjB,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEnD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;YAClE,SAAS;QACX,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAEjD,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,+BAA+B,IAAI,CAAC,QAAQ,OAAO,IAAI,CAAC,WAAW,IAAI,EACvE,KAAK,EACL,IAAI,CACL,CAAC;YACF,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;QAED,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AA3BD,8CA2BC;AAED,KAAK,UAAU,YAAY,CACzB,IAAc,EACd,GAAyB;IAEzB,MAAM,KAAK,GAAG,MAAM,IAAA,qCAA2B,EAAC,GAAG,EAAE;QACnD,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,
|
|
1
|
+
{"version":3,"file":"task-processor.js","sourceRoot":"","sources":["../../src/internal/task-processor.ts"],"names":[],"mappings":";;;AAAA,iDAI6B;AAI7B,uCAAwC;AAEjC,KAAK,UAAU,iBAAiB,CAAC,OAA6B;IACnE,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI;YAAE,MAAM;QAEjB,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEnD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;YAClE,SAAS;QACX,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAEjD,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,+BAA+B,IAAI,CAAC,QAAQ,OAAO,IAAI,CAAC,WAAW,IAAI,EACvE,KAAK,EACL,IAAI,CACL,CAAC;YACF,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;QAED,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AA3BD,8CA2BC;AAED,KAAK,UAAU,YAAY,CACzB,IAAc,EACd,GAAyB;IAEzB,MAAM,KAAK,GAAG,MAAM,IAAA,qCAA2B,EAAC,GAAG,EAAE;QACnD,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,mBAAmB,EAAE,IAAI,CAAC,WAAW;KACtC,CAAC,CAAC;IACH,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,IAAA,8BAAoB,EAAC,GAAG,EAAE;YAC9B,YAAY,EAAE,KAAK,CAAC,EAAE;YACtB,OAAO,EAAE,IAAI,CAAC,gBAAgB;SAC/B,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEjE,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAW,EAAC;QAC/B,UAAU,EAAE,cAAc;QAC1B,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,QAAQ,EAAE,IAAI,CAAC,iBAAiB;YAC9B,CAAC,CAAC;gBACE,SAAS,EAAE,IAAI,CAAC,iBAAiB;aAClC;YACH,CAAC,CAAC,SAAS;QACb,aAAa,EAAE,GAAG,CAAC,aAAa;KACjC,CAAC,CAAC;IAEH,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,IAAA,gCAAsB,EACnD,GAAG,CAAC,EAAE,EACN;QACE,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,EACD,IAAI,CAAC,gBAAgB,CACtB,CAAC;IAEF,OAAO;QACL,GAAG,MAAM;QACT,YAAY;QACZ,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,mBAAmB,EAAE,IAAI,CAAC,WAAW;KACtC,CAAC;AACJ,CAAC"}
|
|
@@ -66,16 +66,10 @@ async function convertToWebp({ input, qualityPolicy, areaLimitPx, lossless, }) {
|
|
|
66
66
|
quality,
|
|
67
67
|
})
|
|
68
68
|
.toBuffer({ resolveWithObject: true }));
|
|
69
|
-
// we keep it here for the moment
|
|
70
|
-
// console.log(
|
|
71
|
-
// `....convertToWebp: ${input.width}x${input.height} => ${info.width}x${info.height}, ${
|
|
72
|
-
// info.size / 1000
|
|
73
|
-
// }KB`,
|
|
74
|
-
// );
|
|
75
69
|
return {
|
|
76
70
|
width: info.width,
|
|
77
71
|
height: info.height,
|
|
78
|
-
weightB:
|
|
72
|
+
weightB: data.byteLength,
|
|
79
73
|
mediaType: "image/webp",
|
|
80
74
|
lossless,
|
|
81
75
|
binaryFile: data,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"original-images-processing.js","sourceRoot":"","sources":["../src/original-images-processing.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"original-images-processing.js","sourceRoot":"","sources":["../src/original-images-processing.ts"],"names":[],"mappings":"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"}
|
package/dist/public-helpers.d.ts
CHANGED
|
@@ -1,2 +1,4 @@
|
|
|
1
|
-
import type { VariantName } from "./engine-types";
|
|
1
|
+
import type { CompleteVariantName, VariantName } from "./engine-types";
|
|
2
2
|
export declare function isVariantName(variantName: string): variantName is VariantName;
|
|
3
|
+
export declare function isCompleteVariantName(variantName: string): variantName is CompleteVariantName;
|
|
4
|
+
export declare function generateImageSlug(fromName?: string): string | undefined;
|
package/dist/public-helpers.js
CHANGED
|
@@ -1,8 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isVariantName = void 0;
|
|
3
|
+
exports.generateImageSlug = exports.isCompleteVariantName = exports.isVariantName = void 0;
|
|
4
|
+
const anywhere_lib_1 = require("@paroicms/anywhere-lib");
|
|
4
5
|
function isVariantName(variantName) {
|
|
5
|
-
return /^
|
|
6
|
+
return /^[0-9]+x|x[0-9]+|x[0-9]+x|[0-9]+x[0-9]+$/.test(variantName);
|
|
6
7
|
}
|
|
7
8
|
exports.isVariantName = isVariantName;
|
|
9
|
+
function isCompleteVariantName(variantName) {
|
|
10
|
+
return /^[0-9]+x[0-9]+$/.test(variantName);
|
|
11
|
+
}
|
|
12
|
+
exports.isCompleteVariantName = isCompleteVariantName;
|
|
13
|
+
function generateImageSlug(fromName) {
|
|
14
|
+
if (!fromName)
|
|
15
|
+
return;
|
|
16
|
+
return (0, anywhere_lib_1.generateSlug)(fromName).substring(0, 12).replace(/-$/g, "");
|
|
17
|
+
}
|
|
18
|
+
exports.generateImageSlug = generateImageSlug;
|
|
8
19
|
//# sourceMappingURL=public-helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-helpers.js","sourceRoot":"","sources":["../src/public-helpers.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"public-helpers.js","sourceRoot":"","sources":["../src/public-helpers.ts"],"names":[],"mappings":";;;AAAA,yDAAsD;AAGtD,SAAgB,aAAa,CAAC,WAAmB;IAC/C,OAAO,0CAA0C,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACtE,CAAC;AAFD,sCAEC;AAED,SAAgB,qBAAqB,CAAC,WAAmB;IACvD,OAAO,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC7C,CAAC;AAFD,sDAEC;AAED,SAAgB,iBAAiB,CAAC,QAAiB;IACjD,IAAI,CAAC,QAAQ;QAAE,OAAO;IACtB,OAAO,IAAA,2BAAY,EAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACpE,CAAC;AAHD,8CAGC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@paroicms/server-image-cache-engine",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.1",
|
|
4
4
|
"description": "The image variant engine that we use at Paroi.",
|
|
5
5
|
"author": "Paroi Team",
|
|
6
6
|
"main": "dist/api.js",
|
|
@@ -33,8 +33,8 @@
|
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@paroi/async-lib": "~0.1.2",
|
|
35
35
|
"@paroi/data-formatters-lib": "~0.1.2",
|
|
36
|
-
"@paroicms/server-lib": "1.
|
|
37
|
-
"@paroicms/anywhere-lib": "1.
|
|
36
|
+
"@paroicms/server-lib": "1.2.0",
|
|
37
|
+
"@paroicms/anywhere-lib": "1.4.0",
|
|
38
38
|
"ico-endec": "~0.1.6",
|
|
39
39
|
"sharp": "~0.33.3"
|
|
40
40
|
},
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.PaImageCacheDependencyEntity = void 0;
|
|
13
|
-
const typeorm_1 = require("typeorm");
|
|
14
|
-
let PaImageCacheDependencyEntity = class PaImageCacheDependencyEntity {
|
|
15
|
-
cacheId;
|
|
16
|
-
depKey;
|
|
17
|
-
};
|
|
18
|
-
exports.PaImageCacheDependencyEntity = PaImageCacheDependencyEntity;
|
|
19
|
-
__decorate([
|
|
20
|
-
(0, typeorm_1.Column)({ type: "integer", primary: true }),
|
|
21
|
-
__metadata("design:type", String)
|
|
22
|
-
], PaImageCacheDependencyEntity.prototype, "cacheId", void 0);
|
|
23
|
-
__decorate([
|
|
24
|
-
(0, typeorm_1.Column)({ primary: true }),
|
|
25
|
-
__metadata("design:type", String)
|
|
26
|
-
], PaImageCacheDependencyEntity.prototype, "depKey", void 0);
|
|
27
|
-
exports.PaImageCacheDependencyEntity = PaImageCacheDependencyEntity = __decorate([
|
|
28
|
-
(0, typeorm_1.Entity)("PaImageCacheDependency")
|
|
29
|
-
], PaImageCacheDependencyEntity);
|
|
30
|
-
//# sourceMappingURL=PaImageCacheDependency.entity.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PaImageCacheDependency.entity.js","sourceRoot":"","sources":["../../src/database/PaImageCacheDependency.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAyC;AAGlC,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;IAEvC,OAAO,CAAU;IAGjB,MAAM,CAAU;CACjB,CAAA;AANY,oEAA4B;AAEvC;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;6DAC1B;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;4DACV;uCALL,4BAA4B;IADxC,IAAA,gBAAM,EAAC,wBAAwB,CAAC;GACpB,4BAA4B,CAMxC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PaImageCacheKey.entity.js","sourceRoot":"","sources":["../../src/database/PaImageCacheKey.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAyC;AAGlC,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAEhC,YAAY,CAAU;IAGtB,QAAQ,CAAU;IAGlB,IAAI,CAAW;CAChB,CAAA;AATY,sDAAqB;AAEhC;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;2DACrB;AAGtB;IADC,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;uDACR;AAGlB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;mDAC5B;gCARJ,qBAAqB;IADjC,IAAA,gBAAM,EAAC,iBAAiB,CAAC;GACb,qBAAqB,CASjC"}
|