Allow custom transformations of assets (#6593)

* Allow custom transformations of assets

This exposes one query parameter `transforms`, which is a JSON array of
shard transformation operations.

It also updates the asset presets. The UX for this still needs some work

* Rename options to arguments for presets

More explicit

* options -> arguments in setting spec

* Better errors for invalid JSON in asset presets

* Add limit to transforms query parameter

* Use flattened option for extra transforms

* Fix placeholder color of code input

* Allow "simple mode" aliases

* Add documentation

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
This commit is contained in:
Tim
2021-07-22 07:57:47 +12:00
committed by GitHub
parent 7dffa48570
commit 2c9ff3bca6
15 changed files with 387 additions and 118 deletions

31
package-lock.json generated
View File

@@ -159,6 +159,7 @@
"@types/node": "15.12.2",
"@types/node-cron": "2.0.4",
"@types/nodemailer": "6.4.4",
"@types/object-hash": "^2.1.0",
"@types/qs": "6.9.7",
"@types/sharp": "0.28.4",
"@types/stream-json": "1.7.1",
@@ -182,6 +183,7 @@
"memcached": "^2.2.2",
"mysql": "^2.18.1",
"nodemailer-mailgun-transport": "^2.1.3",
"object-hash": "^2.2.0",
"pg": "^8.6.0",
"sqlite3": "^5.0.2",
"tedious": "^11.0.8"
@@ -281,6 +283,15 @@
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
},
"api/node_modules/object-hash": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz",
"integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==",
"optional": true,
"engines": {
"node": ">= 6"
}
},
"api/node_modules/rxjs": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.2.0.tgz",
@@ -7684,6 +7695,12 @@
"integrity": "sha512-Nd8y/5t/7CRakPYiyPzr/IAfYusy1FkcZYFEAcoMZkwpJv2n4Wm+olW+e7xBdHEXhOnWdG9ddbar0gqZWS4x5Q==",
"dev": true
},
"node_modules/@types/object-hash": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/@types/object-hash/-/object-hash-2.1.1.tgz",
"integrity": "sha512-X2LV33+tSr9LQXcQBatyPGtWOOranhjGYjEnphsdtNRdviCY/3ciCkahwohx1/ary2dMHIKIRoncBF/69Wr38A==",
"dev": true
},
"node_modules/@types/object-path": {
"version": "0.11.1",
"resolved": "https://registry.npmjs.org/@types/object-path/-/object-path-0.11.1.tgz",
@@ -66811,6 +66828,12 @@
"integrity": "sha512-Nd8y/5t/7CRakPYiyPzr/IAfYusy1FkcZYFEAcoMZkwpJv2n4Wm+olW+e7xBdHEXhOnWdG9ddbar0gqZWS4x5Q==",
"dev": true
},
"@types/object-hash": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/@types/object-hash/-/object-hash-2.1.1.tgz",
"integrity": "sha512-X2LV33+tSr9LQXcQBatyPGtWOOranhjGYjEnphsdtNRdviCY/3ciCkahwohx1/ary2dMHIKIRoncBF/69Wr38A==",
"dev": true
},
"@types/object-path": {
"version": "0.11.1",
"resolved": "https://registry.npmjs.org/@types/object-path/-/object-path-0.11.1.tgz",
@@ -75317,6 +75340,7 @@
"@types/node": "15.12.2",
"@types/node-cron": "2.0.4",
"@types/nodemailer": "6.4.4",
"@types/object-hash": "^2.1.0",
"@types/qs": "6.9.7",
"@types/sharp": "0.28.4",
"@types/stream-json": "1.7.1",
@@ -75376,6 +75400,7 @@
"node-machine-id": "^1.1.12",
"nodemailer": "^6.6.1",
"nodemailer-mailgun-transport": "^2.1.3",
"object-hash": "^2.2.0",
"openapi3-ts": "^2.0.0",
"ora": "^5.4.0",
"otplib": "^12.0.1",
@@ -75467,6 +75492,12 @@
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
},
"object-hash": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz",
"integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==",
"optional": true
},
"rxjs": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.2.0.tgz",