@fluxfiles/node 0.1.13 → 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 +25 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.js +13 -0
- package/dist/index.mjs +13 -0
- package/package.json +1 -1
- package/src/token.ts +13 -0
- package/src/types.ts +25 -0
package/dist/index.d.mts
CHANGED
|
@@ -99,6 +99,31 @@ interface BaseTokenOptions {
|
|
|
99
99
|
/** Allow the paid Optimization module (POST /api/fm/optimize). Default **false** — opt-in.
|
|
100
100
|
* Even when true, the optimize module must be installed + licensed on the server. */
|
|
101
101
|
allowOptimize?: boolean;
|
|
102
|
+
/** Auto-optimize images on upload (recompress to WebP in the pipeline). Default false;
|
|
103
|
+
* only effective when the optimize module is installed + licensed on the server. */
|
|
104
|
+
autoOptimize?: boolean;
|
|
105
|
+
/** WebP quality for optimization, 40–95. `0`/omitted = inherit the server default (82). */
|
|
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';
|
|
116
|
+
/** How an upload whose NAME collides with an existing different file is handled
|
|
117
|
+
* (content dedup is separate, by hash): `'rename'` keep both `<name>-1.<ext>`
|
|
118
|
+
* (default), `'overwrite'` replace in place, `'reject'` 409 for the host to prompt. */
|
|
119
|
+
uploadCollision?: 'rename' | 'overwrite' | 'reject';
|
|
120
|
+
/** Show dotfiles (.env, .gitignore, …) in listings + search. Default **false** —
|
|
121
|
+
* dotfiles are hidden, matching Finder / cPanel / Nextcloud. */
|
|
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;
|
|
102
127
|
/** Allow downloading a multi-file/-folder selection as a zip (POST /api/fm/zip). Default true. */
|
|
103
128
|
allowZip?: boolean;
|
|
104
129
|
/** Allow extracting a zip in place (POST /api/fm/extract). Default true. */
|
package/dist/index.d.ts
CHANGED
|
@@ -99,6 +99,31 @@ interface BaseTokenOptions {
|
|
|
99
99
|
/** Allow the paid Optimization module (POST /api/fm/optimize). Default **false** — opt-in.
|
|
100
100
|
* Even when true, the optimize module must be installed + licensed on the server. */
|
|
101
101
|
allowOptimize?: boolean;
|
|
102
|
+
/** Auto-optimize images on upload (recompress to WebP in the pipeline). Default false;
|
|
103
|
+
* only effective when the optimize module is installed + licensed on the server. */
|
|
104
|
+
autoOptimize?: boolean;
|
|
105
|
+
/** WebP quality for optimization, 40–95. `0`/omitted = inherit the server default (82). */
|
|
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';
|
|
116
|
+
/** How an upload whose NAME collides with an existing different file is handled
|
|
117
|
+
* (content dedup is separate, by hash): `'rename'` keep both `<name>-1.<ext>`
|
|
118
|
+
* (default), `'overwrite'` replace in place, `'reject'` 409 for the host to prompt. */
|
|
119
|
+
uploadCollision?: 'rename' | 'overwrite' | 'reject';
|
|
120
|
+
/** Show dotfiles (.env, .gitignore, …) in listings + search. Default **false** —
|
|
121
|
+
* dotfiles are hidden, matching Finder / cPanel / Nextcloud. */
|
|
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;
|
|
102
127
|
/** Allow downloading a multi-file/-folder selection as a zip (POST /api/fm/zip). Default true. */
|
|
103
128
|
allowZip?: boolean;
|
|
104
129
|
/** Allow extracting a zip in place (POST /api/fm/extract). Default true. */
|
package/dist/index.js
CHANGED
|
@@ -163,6 +163,19 @@ function applyTenantOverrides(payload, opts) {
|
|
|
163
163
|
if (opts.allowChmod !== void 0) payload.allow_chmod = !!opts.allowChmod;
|
|
164
164
|
if (opts.allowCodeEdit !== void 0) payload.allow_code_edit = !!opts.allowCodeEdit;
|
|
165
165
|
if (opts.allowOptimize !== void 0) payload.allow_optimize = !!opts.allowOptimize;
|
|
166
|
+
if (opts.autoOptimize !== void 0) payload.auto_optimize = !!opts.autoOptimize;
|
|
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
|
+
}
|
|
174
|
+
if (opts.uploadCollision && ["rename", "overwrite", "reject"].includes(opts.uploadCollision)) {
|
|
175
|
+
payload.upload_collision = opts.uploadCollision;
|
|
176
|
+
}
|
|
177
|
+
if (opts.showHidden !== void 0) payload.show_hidden = !!opts.showHidden;
|
|
178
|
+
if (opts.dedupeUploads !== void 0) payload.dedupe_uploads = !!opts.dedupeUploads;
|
|
166
179
|
if (opts.allowZip !== void 0) payload.allow_zip = !!opts.allowZip;
|
|
167
180
|
if (opts.allowExtract !== void 0) payload.allow_extract = !!opts.allowExtract;
|
|
168
181
|
if (opts.zipMaxMb && opts.zipMaxMb > 0) payload.zip_max_mb = Math.trunc(opts.zipMaxMb);
|
package/dist/index.mjs
CHANGED
|
@@ -141,6 +141,19 @@ function applyTenantOverrides(payload, opts) {
|
|
|
141
141
|
if (opts.allowChmod !== void 0) payload.allow_chmod = !!opts.allowChmod;
|
|
142
142
|
if (opts.allowCodeEdit !== void 0) payload.allow_code_edit = !!opts.allowCodeEdit;
|
|
143
143
|
if (opts.allowOptimize !== void 0) payload.allow_optimize = !!opts.allowOptimize;
|
|
144
|
+
if (opts.autoOptimize !== void 0) payload.auto_optimize = !!opts.autoOptimize;
|
|
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
|
+
}
|
|
152
|
+
if (opts.uploadCollision && ["rename", "overwrite", "reject"].includes(opts.uploadCollision)) {
|
|
153
|
+
payload.upload_collision = opts.uploadCollision;
|
|
154
|
+
}
|
|
155
|
+
if (opts.showHidden !== void 0) payload.show_hidden = !!opts.showHidden;
|
|
156
|
+
if (opts.dedupeUploads !== void 0) payload.dedupe_uploads = !!opts.dedupeUploads;
|
|
144
157
|
if (opts.allowZip !== void 0) payload.allow_zip = !!opts.allowZip;
|
|
145
158
|
if (opts.allowExtract !== void 0) payload.allow_extract = !!opts.allowExtract;
|
|
146
159
|
if (opts.zipMaxMb && opts.zipMaxMb > 0) payload.zip_max_mb = Math.trunc(opts.zipMaxMb);
|
package/package.json
CHANGED
package/src/token.ts
CHANGED
|
@@ -133,6 +133,19 @@ function applyTenantOverrides(payload: Record<string, unknown>, opts: BaseTokenO
|
|
|
133
133
|
if (opts.allowChmod !== undefined) payload.allow_chmod = !!opts.allowChmod;
|
|
134
134
|
if (opts.allowCodeEdit !== undefined) payload.allow_code_edit = !!opts.allowCodeEdit;
|
|
135
135
|
if (opts.allowOptimize !== undefined) payload.allow_optimize = !!opts.allowOptimize;
|
|
136
|
+
if (opts.autoOptimize !== undefined) payload.auto_optimize = !!opts.autoOptimize;
|
|
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
|
+
}
|
|
144
|
+
if (opts.uploadCollision && ['rename', 'overwrite', 'reject'].includes(opts.uploadCollision)) {
|
|
145
|
+
payload.upload_collision = opts.uploadCollision;
|
|
146
|
+
}
|
|
147
|
+
if (opts.showHidden !== undefined) payload.show_hidden = !!opts.showHidden;
|
|
148
|
+
if (opts.dedupeUploads !== undefined) payload.dedupe_uploads = !!opts.dedupeUploads;
|
|
136
149
|
if (opts.allowZip !== undefined) payload.allow_zip = !!opts.allowZip;
|
|
137
150
|
if (opts.allowExtract !== undefined) payload.allow_extract = !!opts.allowExtract;
|
|
138
151
|
if (opts.zipMaxMb && opts.zipMaxMb > 0) payload.zip_max_mb = Math.trunc(opts.zipMaxMb);
|
package/src/types.ts
CHANGED
|
@@ -103,6 +103,31 @@ export interface BaseTokenOptions {
|
|
|
103
103
|
/** Allow the paid Optimization module (POST /api/fm/optimize). Default **false** — opt-in.
|
|
104
104
|
* Even when true, the optimize module must be installed + licensed on the server. */
|
|
105
105
|
allowOptimize?: boolean;
|
|
106
|
+
/** Auto-optimize images on upload (recompress to WebP in the pipeline). Default false;
|
|
107
|
+
* only effective when the optimize module is installed + licensed on the server. */
|
|
108
|
+
autoOptimize?: boolean;
|
|
109
|
+
/** WebP quality for optimization, 40–95. `0`/omitted = inherit the server default (82). */
|
|
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';
|
|
120
|
+
/** How an upload whose NAME collides with an existing different file is handled
|
|
121
|
+
* (content dedup is separate, by hash): `'rename'` keep both `<name>-1.<ext>`
|
|
122
|
+
* (default), `'overwrite'` replace in place, `'reject'` 409 for the host to prompt. */
|
|
123
|
+
uploadCollision?: 'rename' | 'overwrite' | 'reject';
|
|
124
|
+
/** Show dotfiles (.env, .gitignore, …) in listings + search. Default **false** —
|
|
125
|
+
* dotfiles are hidden, matching Finder / cPanel / Nextcloud. */
|
|
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;
|
|
106
131
|
/** Allow downloading a multi-file/-folder selection as a zip (POST /api/fm/zip). Default true. */
|
|
107
132
|
allowZip?: boolean;
|
|
108
133
|
/** Allow extracting a zip in place (POST /api/fm/extract). Default true. */
|