@adonis-agora/media 0.19.0 → 0.21.0
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 +33 -0
- package/dist/assets/spa/assets/{index-3HWw8Zsr.js → index-BO6hgGp1.js} +3 -3
- package/dist/assets/spa/assets/index-BO6hgGp1.js.map +1 -0
- package/dist/assets/spa/index.html +1 -1
- package/dist/src/define_config.d.ts +2 -2
- package/dist/src/define_config.d.ts.map +1 -1
- package/dist/src/define_config.js +2 -2
- package/dist/src/define_config.js.map +1 -1
- package/dist/src/errors.d.ts +16 -1
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +23 -2
- package/dist/src/errors.js.map +1 -1
- package/dist/src/image_processor.d.ts +5 -0
- package/dist/src/image_processor.d.ts.map +1 -1
- package/dist/src/index.d.ts +6 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/processors/sharp.d.ts +2 -2
- package/dist/src/processors/sharp.d.ts.map +1 -1
- package/dist/src/processors/sharp.js +7 -3
- package/dist/src/processors/sharp.js.map +1 -1
- package/dist/src/single_file_store.d.ts +11 -0
- package/dist/src/single_file_store.d.ts.map +1 -1
- package/dist/src/single_file_store.js +3 -1
- package/dist/src/single_file_store.js.map +1 -1
- package/dist/src/transformers/factory.d.ts +47 -2
- package/dist/src/transformers/factory.d.ts.map +1 -1
- package/dist/src/transformers/factory.js +30 -2
- package/dist/src/transformers/factory.js.map +1 -1
- package/dist/src/transformers/ffmpeg.d.ts +104 -0
- package/dist/src/transformers/ffmpeg.d.ts.map +1 -0
- package/dist/src/transformers/ffmpeg.js +207 -0
- package/dist/src/transformers/ffmpeg.js.map +1 -0
- package/dist/src/transformers/hls.d.ts +4 -1
- package/dist/src/transformers/hls.d.ts.map +1 -1
- package/dist/src/transformers/hls.js.map +1 -1
- package/dist/src/transformers/placeholder.d.ts +93 -0
- package/dist/src/transformers/placeholder.d.ts.map +1 -0
- package/dist/src/transformers/placeholder.js +114 -0
- package/dist/src/transformers/placeholder.js.map +1 -0
- package/dist/src/transformers/probe.d.ts +1 -1
- package/dist/src/transformers/probe.d.ts.map +1 -1
- package/package.json +7 -7
- package/skills/media-attachments-single-file/SKILL.md +2 -1
- package/skills/media-library-collections/SKILL.md +7 -4
- package/dist/assets/spa/assets/index-3HWw8Zsr.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adonis-agora/media",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Media-library for AdonisJS — owner collections (MIME whitelist, single-file replace, ordering), image conversions (eager/lazy), pluggable content transformers (HLS video via mediabunny, metadata probe), and column attachments, all on top of @adonisjs/drive. Pluggable MediaStore (in-memory + Lucid) and ImageProcessor (sharp). Part of the Agora ecosystem.",
|
|
3
|
+
"version": "0.21.0",
|
|
4
|
+
"description": "Media-library for AdonisJS — owner collections (MIME whitelist, single-file replace, ordering), image conversions (eager/lazy), pluggable content transformers (HLS video via mediabunny, metadata probe, image blur-up placeholder), and column attachments, all on top of @adonisjs/drive. Pluggable MediaStore (in-memory + Lucid) and ImageProcessor (sharp). Part of the Agora ecosystem.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -148,23 +148,23 @@
|
|
|
148
148
|
"devDependencies": {
|
|
149
149
|
"@adonis-agora/media-dashboard": "9.0.0",
|
|
150
150
|
"@adonis-agora/media-react": "0.6.0",
|
|
151
|
-
"@adonisjs/assembler": "8.
|
|
151
|
+
"@adonisjs/assembler": "8.6.0",
|
|
152
152
|
"@adonisjs/core": "7.6.0",
|
|
153
153
|
"@adonisjs/drive": "4.0.0",
|
|
154
154
|
"@adonisjs/lucid": "22.4.2",
|
|
155
|
-
"@aws-sdk/client-s3": "3.
|
|
155
|
+
"@aws-sdk/client-s3": "3.1153.0",
|
|
156
156
|
"@smithy/util-stream": "4.8.2",
|
|
157
|
-
"@tanstack/intent": "0.5.
|
|
157
|
+
"@tanstack/intent": "0.5.6",
|
|
158
158
|
"@types/better-sqlite3": "9.6.0",
|
|
159
159
|
"@types/node": "26.6.5",
|
|
160
160
|
"aws-sdk-client-mock": "4.1.0",
|
|
161
161
|
"better-sqlite3": "13.0.3",
|
|
162
162
|
"luxon": "3.7.2",
|
|
163
|
-
"mediabunny": "1.
|
|
163
|
+
"mediabunny": "1.61.6",
|
|
164
164
|
"sharp": "0.35.5",
|
|
165
165
|
"tempura": "0.4.1",
|
|
166
166
|
"typescript": "7.0.2",
|
|
167
|
-
"vitest": "5.0.
|
|
167
|
+
"vitest": "5.0.5"
|
|
168
168
|
},
|
|
169
169
|
"engines": {
|
|
170
170
|
"node": ">=24"
|
|
@@ -125,7 +125,7 @@ give me a URL", importable unconditionally with feature detection:
|
|
|
125
125
|
import { isSingleFileStoreAvailable, removeSingleFile, storeSingleFile } from '@adonis-agora/media/single-file'
|
|
126
126
|
|
|
127
127
|
if (await isSingleFileStoreAvailable()) {
|
|
128
|
-
const { url, thumbUrl } = await storeSingleFile({
|
|
128
|
+
const { url, thumbUrl, id, placeholder } = await storeSingleFile({
|
|
129
129
|
ownerType: 'User',
|
|
130
130
|
ownerId: String(user.id),
|
|
131
131
|
collection: 'avatar',
|
|
@@ -134,6 +134,7 @@ if (await isSingleFileStoreAvailable()) {
|
|
|
134
134
|
contents: upload.bytes, // a Buffer
|
|
135
135
|
})
|
|
136
136
|
// thumbUrl is null — not an error — when the 'thumb' conversion isn't configured
|
|
137
|
+
// placeholder is `{ dataUrl, width, height, color }` or null when no placeholder transformer ran
|
|
137
138
|
}
|
|
138
139
|
|
|
139
140
|
// tests or multi-manager apps pass the manager explicitly:
|
|
@@ -5,7 +5,7 @@ description: >-
|
|
|
5
5
|
attachExisting / for(ownerType, ownerId), the MediaCollectionConfig policy layer
|
|
6
6
|
(acceptsMimeTypes exact-match whitelist plus magic-byte signature verification,
|
|
7
7
|
single:true atomic replace, append-only ordering, per-collection disk), eager vs lazy
|
|
8
|
-
ConversionPresets (width/height/fit/format/quality, webp default), ensureConversion,
|
|
8
|
+
ConversionPresets (width/height/fit/format/quality/blur, webp default), ensureConversion,
|
|
9
9
|
url/signedUrl resolution, delete semantics, deterministic id retries, customProperties,
|
|
10
10
|
and the MediaRecord.conversions map shared with transformers. Use when uploading files
|
|
11
11
|
to entities, defining collections, generating thumbnails, or fixing
|
|
@@ -102,7 +102,8 @@ Source: `docs/collections-and-conversions.mdx`.
|
|
|
102
102
|
|
|
103
103
|
### Pattern 2 — eager vs lazy conversions
|
|
104
104
|
|
|
105
|
-
`ConversionPreset` maps straight onto sharp
|
|
105
|
+
`ConversionPreset` maps straight onto sharp (`blur` is gaussian blur sigma applied after the
|
|
106
|
+
resize; images are auto-oriented from EXIF before resizing). `eager: true` generates synchronously on
|
|
106
107
|
`attach`; the default is lazy — generated on the **first** `url(id, name)` and then cached on
|
|
107
108
|
the record, so every later call is a pure lookup.
|
|
108
109
|
|
|
@@ -292,8 +293,10 @@ defineConfig({
|
|
|
292
293
|
```
|
|
293
294
|
|
|
294
295
|
Mechanism: presets decode the original as an image through sharp; requesting one on a video
|
|
295
|
-
or PDF fails inside sharp. Transformers are the seam for everything beyond
|
|
296
|
-
|
|
296
|
+
or PDF fails inside sharp. Transformers are the seam for everything beyond resized image files
|
|
297
|
+
(video packages, metadata probes, image placeholders — `transformers.placeholder()` is
|
|
298
|
+
metadata-only and skips non-`image/*` and SVG records) and persist into the same
|
|
299
|
+
`record.conversions` namespace (name collisions throw
|
|
297
300
|
`TransformerConflictError` at boot).
|
|
298
301
|
Source: `docs/collections-and-conversions.mdx` (warn callout), `docs/transformers.mdx`.
|
|
299
302
|
|