@fluxfiles/node 0.1.14 → 0.1.15
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/dist/index.d.mts +13 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +7 -0
- package/dist/index.mjs +7 -0
- package/package.json +1 -1
- package/src/token.ts +7 -0
- package/src/types.ts +13 -0
package/dist/index.d.mts
CHANGED
|
@@ -104,6 +104,15 @@ interface BaseTokenOptions {
|
|
|
104
104
|
autoOptimize?: boolean;
|
|
105
105
|
/** WebP quality for optimization, 40–95. `0`/omitted = inherit the server default (82). */
|
|
106
106
|
optimizeQuality?: number;
|
|
107
|
+
/** Target format for optimization: `'webp'` (default) or `'avif'` (falls back to
|
|
108
|
+
* WebP when the server build lacks AVIF). */
|
|
109
|
+
optimizeFormat?: 'webp' | 'avif';
|
|
110
|
+
/** Keep the original file when optimizing (default false = replace in place). */
|
|
111
|
+
optimizeKeepOriginal?: boolean;
|
|
112
|
+
/** Skip optimizing a file larger than this many MB (0/omitted = no limit). */
|
|
113
|
+
optimizeMaxMb?: number;
|
|
114
|
+
/** Ghostscript preset for PDF optimization. Default `'ebook'`. */
|
|
115
|
+
pdfLevel?: 'screen' | 'ebook' | 'printer' | 'prepress' | 'default';
|
|
107
116
|
/** How an upload whose NAME collides with an existing different file is handled
|
|
108
117
|
* (content dedup is separate, by hash): `'rename'` keep both `<name>-1.<ext>`
|
|
109
118
|
* (default), `'overwrite'` replace in place, `'reject'` 409 for the host to prompt. */
|
|
@@ -111,6 +120,10 @@ interface BaseTokenOptions {
|
|
|
111
120
|
/** Show dotfiles (.env, .gitignore, …) in listings + search. Default **false** —
|
|
112
121
|
* dotfiles are hidden, matching Finder / cPanel / Nextcloud. */
|
|
113
122
|
showHidden?: boolean;
|
|
123
|
+
/** Refuse byte-for-byte duplicate uploads (SHA-256). Default **false** — an
|
|
124
|
+
* identical re-upload is kept as a copy (like Finder / Drive / Dropbox); set true
|
|
125
|
+
* to save storage by blocking duplicates. */
|
|
126
|
+
dedupeUploads?: boolean;
|
|
114
127
|
/** Allow downloading a multi-file/-folder selection as a zip (POST /api/fm/zip). Default true. */
|
|
115
128
|
allowZip?: boolean;
|
|
116
129
|
/** Allow extracting a zip in place (POST /api/fm/extract). Default true. */
|
package/dist/index.d.ts
CHANGED
|
@@ -104,6 +104,15 @@ interface BaseTokenOptions {
|
|
|
104
104
|
autoOptimize?: boolean;
|
|
105
105
|
/** WebP quality for optimization, 40–95. `0`/omitted = inherit the server default (82). */
|
|
106
106
|
optimizeQuality?: number;
|
|
107
|
+
/** Target format for optimization: `'webp'` (default) or `'avif'` (falls back to
|
|
108
|
+
* WebP when the server build lacks AVIF). */
|
|
109
|
+
optimizeFormat?: 'webp' | 'avif';
|
|
110
|
+
/** Keep the original file when optimizing (default false = replace in place). */
|
|
111
|
+
optimizeKeepOriginal?: boolean;
|
|
112
|
+
/** Skip optimizing a file larger than this many MB (0/omitted = no limit). */
|
|
113
|
+
optimizeMaxMb?: number;
|
|
114
|
+
/** Ghostscript preset for PDF optimization. Default `'ebook'`. */
|
|
115
|
+
pdfLevel?: 'screen' | 'ebook' | 'printer' | 'prepress' | 'default';
|
|
107
116
|
/** How an upload whose NAME collides with an existing different file is handled
|
|
108
117
|
* (content dedup is separate, by hash): `'rename'` keep both `<name>-1.<ext>`
|
|
109
118
|
* (default), `'overwrite'` replace in place, `'reject'` 409 for the host to prompt. */
|
|
@@ -111,6 +120,10 @@ interface BaseTokenOptions {
|
|
|
111
120
|
/** Show dotfiles (.env, .gitignore, …) in listings + search. Default **false** —
|
|
112
121
|
* dotfiles are hidden, matching Finder / cPanel / Nextcloud. */
|
|
113
122
|
showHidden?: boolean;
|
|
123
|
+
/** Refuse byte-for-byte duplicate uploads (SHA-256). Default **false** — an
|
|
124
|
+
* identical re-upload is kept as a copy (like Finder / Drive / Dropbox); set true
|
|
125
|
+
* to save storage by blocking duplicates. */
|
|
126
|
+
dedupeUploads?: boolean;
|
|
114
127
|
/** Allow downloading a multi-file/-folder selection as a zip (POST /api/fm/zip). Default true. */
|
|
115
128
|
allowZip?: boolean;
|
|
116
129
|
/** Allow extracting a zip in place (POST /api/fm/extract). Default true. */
|
package/dist/index.js
CHANGED
|
@@ -165,10 +165,17 @@ function applyTenantOverrides(payload, opts) {
|
|
|
165
165
|
if (opts.allowOptimize !== void 0) payload.allow_optimize = !!opts.allowOptimize;
|
|
166
166
|
if (opts.autoOptimize !== void 0) payload.auto_optimize = !!opts.autoOptimize;
|
|
167
167
|
if (opts.optimizeQuality && opts.optimizeQuality > 0) payload.optimize_quality = Math.trunc(opts.optimizeQuality);
|
|
168
|
+
if (opts.optimizeFormat === "avif") payload.optimize_format = "avif";
|
|
169
|
+
if (opts.optimizeKeepOriginal !== void 0) payload.optimize_keep_original = !!opts.optimizeKeepOriginal;
|
|
170
|
+
if (opts.optimizeMaxMb && opts.optimizeMaxMb > 0) payload.optimize_max_mb = Math.trunc(opts.optimizeMaxMb);
|
|
171
|
+
if (opts.pdfLevel && ["screen", "ebook", "printer", "prepress", "default"].includes(opts.pdfLevel)) {
|
|
172
|
+
payload.pdf_level = opts.pdfLevel;
|
|
173
|
+
}
|
|
168
174
|
if (opts.uploadCollision && ["rename", "overwrite", "reject"].includes(opts.uploadCollision)) {
|
|
169
175
|
payload.upload_collision = opts.uploadCollision;
|
|
170
176
|
}
|
|
171
177
|
if (opts.showHidden !== void 0) payload.show_hidden = !!opts.showHidden;
|
|
178
|
+
if (opts.dedupeUploads !== void 0) payload.dedupe_uploads = !!opts.dedupeUploads;
|
|
172
179
|
if (opts.allowZip !== void 0) payload.allow_zip = !!opts.allowZip;
|
|
173
180
|
if (opts.allowExtract !== void 0) payload.allow_extract = !!opts.allowExtract;
|
|
174
181
|
if (opts.zipMaxMb && opts.zipMaxMb > 0) payload.zip_max_mb = Math.trunc(opts.zipMaxMb);
|
package/dist/index.mjs
CHANGED
|
@@ -143,10 +143,17 @@ function applyTenantOverrides(payload, opts) {
|
|
|
143
143
|
if (opts.allowOptimize !== void 0) payload.allow_optimize = !!opts.allowOptimize;
|
|
144
144
|
if (opts.autoOptimize !== void 0) payload.auto_optimize = !!opts.autoOptimize;
|
|
145
145
|
if (opts.optimizeQuality && opts.optimizeQuality > 0) payload.optimize_quality = Math.trunc(opts.optimizeQuality);
|
|
146
|
+
if (opts.optimizeFormat === "avif") payload.optimize_format = "avif";
|
|
147
|
+
if (opts.optimizeKeepOriginal !== void 0) payload.optimize_keep_original = !!opts.optimizeKeepOriginal;
|
|
148
|
+
if (opts.optimizeMaxMb && opts.optimizeMaxMb > 0) payload.optimize_max_mb = Math.trunc(opts.optimizeMaxMb);
|
|
149
|
+
if (opts.pdfLevel && ["screen", "ebook", "printer", "prepress", "default"].includes(opts.pdfLevel)) {
|
|
150
|
+
payload.pdf_level = opts.pdfLevel;
|
|
151
|
+
}
|
|
146
152
|
if (opts.uploadCollision && ["rename", "overwrite", "reject"].includes(opts.uploadCollision)) {
|
|
147
153
|
payload.upload_collision = opts.uploadCollision;
|
|
148
154
|
}
|
|
149
155
|
if (opts.showHidden !== void 0) payload.show_hidden = !!opts.showHidden;
|
|
156
|
+
if (opts.dedupeUploads !== void 0) payload.dedupe_uploads = !!opts.dedupeUploads;
|
|
150
157
|
if (opts.allowZip !== void 0) payload.allow_zip = !!opts.allowZip;
|
|
151
158
|
if (opts.allowExtract !== void 0) payload.allow_extract = !!opts.allowExtract;
|
|
152
159
|
if (opts.zipMaxMb && opts.zipMaxMb > 0) payload.zip_max_mb = Math.trunc(opts.zipMaxMb);
|
package/package.json
CHANGED
package/src/token.ts
CHANGED
|
@@ -135,10 +135,17 @@ function applyTenantOverrides(payload: Record<string, unknown>, opts: BaseTokenO
|
|
|
135
135
|
if (opts.allowOptimize !== undefined) payload.allow_optimize = !!opts.allowOptimize;
|
|
136
136
|
if (opts.autoOptimize !== undefined) payload.auto_optimize = !!opts.autoOptimize;
|
|
137
137
|
if (opts.optimizeQuality && opts.optimizeQuality > 0) payload.optimize_quality = Math.trunc(opts.optimizeQuality);
|
|
138
|
+
if (opts.optimizeFormat === 'avif') payload.optimize_format = 'avif';
|
|
139
|
+
if (opts.optimizeKeepOriginal !== undefined) payload.optimize_keep_original = !!opts.optimizeKeepOriginal;
|
|
140
|
+
if (opts.optimizeMaxMb && opts.optimizeMaxMb > 0) payload.optimize_max_mb = Math.trunc(opts.optimizeMaxMb);
|
|
141
|
+
if (opts.pdfLevel && ['screen', 'ebook', 'printer', 'prepress', 'default'].includes(opts.pdfLevel)) {
|
|
142
|
+
payload.pdf_level = opts.pdfLevel;
|
|
143
|
+
}
|
|
138
144
|
if (opts.uploadCollision && ['rename', 'overwrite', 'reject'].includes(opts.uploadCollision)) {
|
|
139
145
|
payload.upload_collision = opts.uploadCollision;
|
|
140
146
|
}
|
|
141
147
|
if (opts.showHidden !== undefined) payload.show_hidden = !!opts.showHidden;
|
|
148
|
+
if (opts.dedupeUploads !== undefined) payload.dedupe_uploads = !!opts.dedupeUploads;
|
|
142
149
|
if (opts.allowZip !== undefined) payload.allow_zip = !!opts.allowZip;
|
|
143
150
|
if (opts.allowExtract !== undefined) payload.allow_extract = !!opts.allowExtract;
|
|
144
151
|
if (opts.zipMaxMb && opts.zipMaxMb > 0) payload.zip_max_mb = Math.trunc(opts.zipMaxMb);
|
package/src/types.ts
CHANGED
|
@@ -108,6 +108,15 @@ export interface BaseTokenOptions {
|
|
|
108
108
|
autoOptimize?: boolean;
|
|
109
109
|
/** WebP quality for optimization, 40–95. `0`/omitted = inherit the server default (82). */
|
|
110
110
|
optimizeQuality?: number;
|
|
111
|
+
/** Target format for optimization: `'webp'` (default) or `'avif'` (falls back to
|
|
112
|
+
* WebP when the server build lacks AVIF). */
|
|
113
|
+
optimizeFormat?: 'webp' | 'avif';
|
|
114
|
+
/** Keep the original file when optimizing (default false = replace in place). */
|
|
115
|
+
optimizeKeepOriginal?: boolean;
|
|
116
|
+
/** Skip optimizing a file larger than this many MB (0/omitted = no limit). */
|
|
117
|
+
optimizeMaxMb?: number;
|
|
118
|
+
/** Ghostscript preset for PDF optimization. Default `'ebook'`. */
|
|
119
|
+
pdfLevel?: 'screen' | 'ebook' | 'printer' | 'prepress' | 'default';
|
|
111
120
|
/** How an upload whose NAME collides with an existing different file is handled
|
|
112
121
|
* (content dedup is separate, by hash): `'rename'` keep both `<name>-1.<ext>`
|
|
113
122
|
* (default), `'overwrite'` replace in place, `'reject'` 409 for the host to prompt. */
|
|
@@ -115,6 +124,10 @@ export interface BaseTokenOptions {
|
|
|
115
124
|
/** Show dotfiles (.env, .gitignore, …) in listings + search. Default **false** —
|
|
116
125
|
* dotfiles are hidden, matching Finder / cPanel / Nextcloud. */
|
|
117
126
|
showHidden?: boolean;
|
|
127
|
+
/** Refuse byte-for-byte duplicate uploads (SHA-256). Default **false** — an
|
|
128
|
+
* identical re-upload is kept as a copy (like Finder / Drive / Dropbox); set true
|
|
129
|
+
* to save storage by blocking duplicates. */
|
|
130
|
+
dedupeUploads?: boolean;
|
|
118
131
|
/** Allow downloading a multi-file/-folder selection as a zip (POST /api/fm/zip). Default true. */
|
|
119
132
|
allowZip?: boolean;
|
|
120
133
|
/** Allow extracting a zip in place (POST /api/fm/extract). Default true. */
|