@se-studio/contentful-rest-api 1.0.121 → 1.0.122
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"videoEnricher.d.ts","sourceRoot":"","sources":["../../src/converters/videoEnricher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA2B,OAAO,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"videoEnricher.d.ts","sourceRoot":"","sources":["../../src/converters/videoEnricher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA2B,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAqDnF;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAwCnF"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { assetTag } from '../revalidation/tags';
|
|
2
1
|
/**
|
|
3
2
|
* Fetches video metadata (width/height) from the ImageKit metadata API.
|
|
4
3
|
* The assetId is used to attach a cache tag so the result is invalidated
|
|
@@ -13,18 +12,22 @@ async function fetchVideoMetadata(videoUrl, assetId, imagekitUrl, privateKey) {
|
|
|
13
12
|
const fullUrl = new URL(videoUrl);
|
|
14
13
|
const src = `${imagekitUrl}${fullUrl.pathname}/ik-video.mp4`;
|
|
15
14
|
const request = `https://api.imagekit.io/v1/metadata?url=${encodeURIComponent(src)}`;
|
|
15
|
+
console.log(`[ImageKit] fetching metadata assetId=${assetId} url=${src}`);
|
|
16
16
|
const response = await fetch(request, {
|
|
17
17
|
method: 'GET',
|
|
18
18
|
headers: {
|
|
19
19
|
authorization: `Basic ${Buffer.from(`${privateKey}:`).toString('base64')}`,
|
|
20
20
|
},
|
|
21
21
|
next: {
|
|
22
|
-
|
|
22
|
+
revalidate: 86400, // 1-day safety-net; tags still allow on-demand invalidation
|
|
23
|
+
// tags: [assetTag(assetId)],
|
|
23
24
|
},
|
|
24
25
|
});
|
|
25
26
|
if (response.ok) {
|
|
27
|
+
console.log(`[ImageKit] metadata ok assetId=${assetId} status=${response.status}`);
|
|
26
28
|
return (await response.json());
|
|
27
29
|
}
|
|
30
|
+
console.warn(`[ImageKit] metadata failed assetId=${assetId} status=${response.status}`);
|
|
28
31
|
return undefined;
|
|
29
32
|
}
|
|
30
33
|
/**
|
|
@@ -40,11 +43,14 @@ async function fetchVideoMetadata(videoUrl, assetId, imagekitUrl, privateKey) {
|
|
|
40
43
|
export async function enrichVideoAssets(assets) {
|
|
41
44
|
const imagekitUrl = process.env.IMAGEKIT_URL;
|
|
42
45
|
const privateKey = process.env.IMAGEKIT_PRIVATE_KEY;
|
|
43
|
-
if (!imagekitUrl || !privateKey)
|
|
46
|
+
if (!imagekitUrl || !privateKey) {
|
|
47
|
+
console.log('[ImageKit] skipping video enrichment — IMAGEKIT_URL or IMAGEKIT_PRIVATE_KEY not set');
|
|
44
48
|
return;
|
|
49
|
+
}
|
|
45
50
|
const videoEntries = Array.from(assets.entries()).filter(([, visual]) => visual.video?.type === 'Local video' || visual.video?.type === 'Full video');
|
|
46
51
|
if (videoEntries.length === 0)
|
|
47
52
|
return;
|
|
53
|
+
console.log(`[ImageKit] enriching ${videoEntries.length} video(s)`);
|
|
48
54
|
await Promise.all(videoEntries.map(async ([assetId, visual]) => {
|
|
49
55
|
const video = visual.video;
|
|
50
56
|
const videoUrl = video.type === 'Full video'
|
|
@@ -59,7 +65,8 @@ export async function enrichVideoAssets(assets) {
|
|
|
59
65
|
video.height = metadata.height;
|
|
60
66
|
}
|
|
61
67
|
}
|
|
62
|
-
catch {
|
|
68
|
+
catch (err) {
|
|
69
|
+
console.error(`[ImageKit] metadata fetch threw assetId=${assetId}`, err);
|
|
63
70
|
// Leave width/height undefined — components handle missing dimensions gracefully
|
|
64
71
|
}
|
|
65
72
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"videoEnricher.js","sourceRoot":"","sources":["../../src/converters/videoEnricher.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"videoEnricher.js","sourceRoot":"","sources":["../../src/converters/videoEnricher.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@se-studio/contentful-rest-api",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.122",
|
|
4
4
|
"description": "Type-safe Contentful REST API client with caching and rate limiting for Next.js applications",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"@contentful/rich-text-types": "^17.2.5",
|
|
51
51
|
"contentful": "^11.12.0",
|
|
52
52
|
"server-only": "0.0.1",
|
|
53
|
-
"@se-studio/core-data-types": "1.0.
|
|
53
|
+
"@se-studio/core-data-types": "1.0.122"
|
|
54
54
|
},
|
|
55
55
|
"peerDependencies": {
|
|
56
56
|
"next": ">=15.5.0"
|