Simon Backx
8b440b051f
Added support for converting image types, gifs and svgs ( #191 )
...
refs https://github.com/TryGhost/Team/issues/1652
refs https://github.com/TryGhost/Ghost/issues/13319
- Added support for animated webp and gifs optimization and resizing
- Added optinal `format` option to `unsafeResizeFromBuffer` and `resizeFromBuffer`. E.g. allows you to convert a .svg file to a .png.
- Added optional `animated` option to `unsafeResizeFromBuffer` and `resizeFromBuffer`. Defaults to 'maintain animation'.
- Added optional `withoutEnlargement` option to `unsafeResizeFromBuffer` and `resizeFromBuffer`. Defaults to true. Required to increase SVG size.
- Removed gif and svg from `canTransformFileExtension`. They are supported by sharp now.
- Added `shouldResizeFileExtension` method, which returns if we should resize an image. This is required to prevent resizing SVG files (while it is supported, it is not desired), while allowing them to be converted to PNG (thats why a new method was needed).
- Added `canTransformToFormat` to validate the `format` option.
- Improved TS/JSDoc type inheritance when `makeSafe` is used.
2022-05-27 16:06:46 +02:00
Daniel Lockyer
d8af7189e7
Published new versions
...
- @tryghost/adapter-manager@0.2.32
- @tryghost/api-version-compatibility-service@0.4.2
- @tryghost/bootstrap-socket@0.2.21
- @tryghost/config-url-helpers@1.0.1
- @tryghost/constants@1.0.6
- @tryghost/database-info@0.3.6
- @tryghost/email-content-generator@0.1.3
- @tryghost/image-transform@1.0.33
- @tryghost/job-manager@0.8.25
- @tryghost/limit-service@1.2.1
- @tryghost/minifier@0.1.16
- @tryghost/moleculer-service-from-class@0.2.27
- @tryghost/mw-api-version-mismatch@0.2.2
- @tryghost/mw-error-handler@1.0.2
- @tryghost/mw-session-from-token@0.1.33
- @tryghost/mw-update-user-last-seen@0.1.7
- @tryghost/package-json@1.0.22
- @tryghost/pretty-cli@1.2.28
- @tryghost/promise@0.1.19
- @tryghost/release-utils@0.8.0
- @tryghost/security@0.3.2
- @tryghost/session-service@0.1.43
- @tryghost/settings-path-manager@0.1.8
- @tryghost/version-notifications-data-service@0.2.1
- @tryghost/vhost-middleware@1.0.26
- @tryghost/zip@1.1.26
2022-05-24 13:06:28 +02:00
Renovate Bot
74ff5d48de
Update dependency c8 to v7.11.3
2022-05-16 04:56:38 +00:00
Naz
c5b8d073d7
Published new versions
...
- @tryghost/adapter-manager@0.2.31
- @tryghost/api-version-compatibility-service@0.3.0
- @tryghost/bootstrap-socket@0.2.20
- @tryghost/config-url-helpers@0.1.8
- @tryghost/constants@1.0.5
- @tryghost/database-info@0.3.5
- @tryghost/email-content-generator@0.1.2
- @tryghost/image-transform@1.0.32
- @tryghost/job-manager@0.8.24
- @tryghost/limit-service@1.1.3
- @tryghost/minifier@0.1.15
- @tryghost/moleculer-service-from-class@0.2.26
- @tryghost/mw-api-version-mismatch@0.1.4
- @tryghost/mw-error-handler@1.0.1
- @tryghost/mw-session-from-token@0.1.32
- @tryghost/mw-update-user-last-seen@0.1.6
- @tryghost/package-json@1.0.21
- @tryghost/pretty-cli@1.2.27
- @tryghost/promise@0.1.18
- @tryghost/release-utils@0.7.15
- @tryghost/security@0.3.1
- @tryghost/session-service@0.1.42
- @tryghost/settings-path-manager@0.1.7
- @tryghost/update-check-service@0.3.4
- @tryghost/version-notifications-data-service@0.1.2
- @tryghost/zip@1.1.25
2022-05-09 18:25:48 +08:00
Renovate Bot
82b83743a7
Update dependency sinon to v14
2022-05-09 00:14:50 +00:00
Naz
e5d097fbae
Published new versions
...
- @tryghost/adapter-manager@0.2.30
- @tryghost/api-version-compatibility-service@0.1.2
- @tryghost/bootstrap-socket@0.2.19
- @tryghost/config-url-helpers@0.1.7
- @tryghost/constants@1.0.4
- @tryghost/database-info@0.3.4
- @tryghost/email-content-generator@0.1.0
- @tryghost/image-transform@1.0.31
- @tryghost/job-manager@0.8.23
- @tryghost/limit-service@1.1.1
- @tryghost/minifier@0.1.14
- @tryghost/moleculer-service-from-class@0.2.25
- @tryghost/mw-api-version-mismatch@0.1.2
- @tryghost/mw-error-handler@0.2.3
- @tryghost/mw-session-from-token@0.1.31
- @tryghost/mw-update-user-last-seen@0.1.5
- @tryghost/package-json@1.0.20
- @tryghost/pretty-cli@1.2.26
- @tryghost/promise@0.1.17
- @tryghost/release-utils@0.7.14
- @tryghost/security@0.2.17
- @tryghost/session-service@0.1.41
- @tryghost/settings-path-manager@0.1.6
- @tryghost/update-check-service@0.3.3
- @tryghost/version-notifications-data-service@0.1.1
- @tryghost/vhost-middleware@1.0.25
- @tryghost/zip@1.1.24
2022-05-04 17:21:51 +08:00
Renovate Bot
6f93c82c5a
Update Test & linting packages
2022-05-02 14:01:35 +00:00
Renovate Bot
9589755925
Update Test & linting packages
2022-05-02 13:58:34 +00:00
Naz
014fafbafb
Published new versions
...
- @tryghost/adapter-manager@0.2.29
- @tryghost/api-version-compatibility-service@0.1.0
- @tryghost/bootstrap-socket@0.2.18
- @tryghost/config-url-helpers@0.1.6
- @tryghost/constants@1.0.3
- @tryghost/database-info@0.3.2
- @tryghost/image-transform@1.0.30
- @tryghost/job-manager@0.8.22
- @tryghost/limit-service@1.0.11
- @tryghost/minifier@0.1.13
- @tryghost/moleculer-service-from-class@0.2.24
- @tryghost/mw-api-version-mismatch@0.1.0
- @tryghost/mw-error-handler@0.2.1
- @tryghost/mw-session-from-token@0.1.29
- @tryghost/mw-update-user-last-seen@0.1.4
- @tryghost/package-json@1.0.19
- @tryghost/pretty-cli@1.2.25
- @tryghost/promise@0.1.16
- @tryghost/release-utils@0.7.13
- @tryghost/security@0.2.16
- @tryghost/session-service@0.1.39
- @tryghost/settings-path-manager@0.1.5
- @tryghost/vhost-middleware@1.0.23
- @tryghost/zip@1.1.23
2022-04-21 20:58:17 +08:00
Renovate Bot
430608c9c3
Update dependency c8 to v7.11.2
2022-04-20 18:23:57 +00:00
Daniel Lockyer
1a6eaff799
Published new versions
...
- @tryghost/database-info@0.3.0
- @tryghost/image-transform@1.0.29
- @tryghost/package-json@1.0.17
- @tryghost/zip@1.1.22
2022-03-28 13:59:37 +01:00
Renovate Bot
446deab43b
Update dependency fs-extra to v10
2022-03-28 11:32:09 +01:00
Daniel Lockyer
3324ffc788
Published new versions
...
- @tryghost/adapter-manager@0.2.28
- @tryghost/bootstrap-socket@0.2.17
- @tryghost/config-url-helpers@0.1.5
- @tryghost/constants@1.0.2
- @tryghost/database-info@0.2.0
- @tryghost/image-transform@1.0.28
- @tryghost/job-manager@0.8.20
- @tryghost/limit-service@1.0.10
- @tryghost/minifier@0.1.11
- @tryghost/moleculer-service-from-class@0.2.23
- @tryghost/mw-error-handler@0.1.3
- @tryghost/mw-session-from-token@0.1.28
- @tryghost/mw-update-user-last-seen@0.1.3
- @tryghost/package-json@1.0.16
- @tryghost/pretty-cli@1.2.24
- @tryghost/promise@0.1.15
- @tryghost/release-utils@0.7.12
- @tryghost/security@0.2.15
- @tryghost/session-service@0.1.38
- @tryghost/settings-path-manager@0.1.4
- @tryghost/vhost-middleware@1.0.22
- @tryghost/zip@1.1.20
2022-03-01 08:40:52 +01:00
Daniel Lockyer
3259994e4f
Added --all
flag to c8 commands
...
refs https://github.com/TryGhost/Toolbox/issues/203
- without `--all`, c8 will ignore files that aren't covered in tests, so
they won't pull the test coverage down
- this means we have artificially high coverage scores
- this commit adds `--all` where previously missing
2022-02-21 12:50:26 +01:00
Renovate Bot
14f37b4932
Update dependency sharp to ^0.30.0
2022-02-16 07:16:50 +01:00
Daniel Lockyer
19d2411f2b
Published new versions
...
- @tryghost/adapter-manager@0.2.27
- @tryghost/bootstrap-socket@0.2.16
- @tryghost/config-url-helpers@0.1.4
- @tryghost/constants@1.0.1
- @tryghost/database-info@0.1.0
- @tryghost/errors@1.2.1
- @tryghost/image-transform@1.0.27
- @tryghost/job-manager@0.8.18
- @tryghost/limit-service@1.0.9
- @tryghost/minifier@0.1.10
- @tryghost/moleculer-service-from-class@0.2.22
- @tryghost/mw-error-handler@0.1.2
- @tryghost/mw-session-from-token@0.1.27
- @tryghost/mw-update-user-last-seen@0.1.2
- @tryghost/package-json@1.0.15
- @tryghost/pretty-cli@1.2.23
- @tryghost/promise@0.1.14
- @tryghost/release-utils@0.7.10
- @tryghost/security@0.2.14
- @tryghost/session-service@0.1.37
- @tryghost/settings-path-manager@0.1.3
- @tryghost/vhost-middleware@1.0.20
- @tryghost/zip@1.1.19
2022-01-18 09:08:09 +00:00
John O'Nolan
279ce66e71
2022
2022-01-06 09:52:35 +00:00
Renovate Bot
4c288fa50e
Update dependency c8 to v7.11.0
2021-12-30 16:28:02 +00:00
Sam Lord
b014df7b21
Published new versions
...
- @tryghost/adapter-manager@0.2.26
- @tryghost/errors@1.2.0
- @tryghost/image-transform@1.0.26
- @tryghost/limit-service@1.0.8
- @tryghost/minifier@0.1.9
- @tryghost/mw-error-handler@0.1.1
- @tryghost/package-json@1.0.14
- @tryghost/release-utils@0.7.9
- @tryghost/session-service@0.1.36
2021-12-14 14:24:31 +00:00
Sam Lord
bdcd205791
Published new versions
...
- @tryghost/adapter-manager@0.2.25
- @tryghost/errors@1.1.1
- @tryghost/image-transform@1.0.25
- @tryghost/limit-service@1.0.7
- @tryghost/minifier@0.1.8
- @tryghost/package-json@1.0.13
- @tryghost/release-utils@0.7.8
- @tryghost/session-service@0.1.35
2021-12-06 16:53:49 +00:00
Sam Lord
e1cc803ca3
Published new versions
...
- @tryghost/adapter-manager@0.2.24
- @tryghost/errors@1.1.0
- @tryghost/image-transform@1.0.24
- @tryghost/limit-service@1.0.6
- @tryghost/minifier@0.1.7
- @tryghost/package-json@1.0.12
- @tryghost/release-utils@0.7.7
- @tryghost/session-service@0.1.34
2021-12-01 17:29:28 +00:00
Sam Lord
e66cba66f1
Published new versions
...
- @tryghost/adapter-manager@0.2.23
- @tryghost/errors@1.0.4
- @tryghost/image-transform@1.0.23
- @tryghost/limit-service@1.0.5
- @tryghost/minifier@0.1.6
- @tryghost/package-json@1.0.11
- @tryghost/release-utils@0.7.6
- @tryghost/session-service@0.1.33
2021-11-30 17:12:21 +00:00
Sam Lord
8ae35ccfa1
Published new versions
...
- @tryghost/adapter-manager@0.2.22
- @tryghost/errors@1.0.3
- @tryghost/image-transform@1.0.22
- @tryghost/limit-service@1.0.4
- @tryghost/minifier@0.1.5
- @tryghost/package-json@1.0.10
- @tryghost/release-utils@0.7.5
- @tryghost/session-service@0.1.32
2021-11-30 16:37:15 +00:00
Sam Lord
6576313a3b
Published new versions
...
- @tryghost/adapter-manager@0.2.21
- @tryghost/errors@1.0.2
- @tryghost/image-transform@1.0.21
- @tryghost/limit-service@1.0.3
- @tryghost/minifier@0.1.4
- @tryghost/package-json@1.0.9
- @tryghost/release-utils@0.7.4
- @tryghost/session-service@0.1.31
2021-11-30 14:41:30 +00:00
Sam Lord
ac6cbf3d58
Published new versions
...
- @tryghost/adapter-manager@0.2.20
- @tryghost/errors@1.0.1
- @tryghost/image-transform@1.0.20
- @tryghost/job-manager@0.8.15
- @tryghost/limit-service@1.0.2
- @tryghost/minifier@0.1.3
- @tryghost/package-json@1.0.8
- @tryghost/release-utils@0.7.3
- @tryghost/session-service@0.1.30
2021-11-30 13:59:24 +00:00
Sam Lord
ffde968c47
Published new versions
...
- @tryghost/adapter-manager@0.2.19
- @tryghost/errors@1.0.0
- @tryghost/image-transform@1.0.19
- @tryghost/job-manager@0.8.14
- @tryghost/limit-service@1.0.1
- @tryghost/minifier@0.1.2
- @tryghost/package-json@1.0.7
- @tryghost/release-utils@0.7.2
- @tryghost/session-service@0.1.29
2021-11-30 11:31:51 +00:00
Daniel Lockyer
d03f9b4e90
Published new versions
...
- @tryghost/image-transform@1.0.18
- @tryghost/job-manager@0.8.12
2021-11-05 12:03:16 +00:00
Daniel Lockyer
eef85bba90
Disabled Sharp's internal cache to improve memory usage
...
refs https://sharp.pixelplumbing.com/api-utility#cache
- Sharp has a 50MB cache by default, used within libvips, to increase
the performance of transforming images
- this isn't relevant to us because we should never be optimizing the
same image as we check if the optimized image already exists
- I presume there is also some extra overhead of using the cache because
the memory doesn't seem to grow by 50MB
- the memory usage comparison in Ghost is pretty drastic - uploading 10
images in serial w/ jemalloc:
- with cache (default) = peak of 480MB, settles down to 330MB
- disabling cache = peak of 270MB, settles down to 161MB
- this commit disables the cache
- also adds stubbing for the function in tests
2021-11-05 11:59:39 +00:00
Naz
8520c8a746
Published new versions
...
- @tryghost/adapter-manager@0.2.18
- @tryghost/bootstrap-socket@0.2.13
- @tryghost/config-url-helpers@0.1.3
- @tryghost/constants@0.1.12
- @tryghost/errors@0.2.17
- @tryghost/image-transform@1.0.17
- @tryghost/job-manager@0.8.11
- @tryghost/limit-service@0.6.5
- @tryghost/moleculer-service-from-class@0.2.21
- @tryghost/mw-session-from-token@0.1.26
- @tryghost/package-json@1.0.6
- @tryghost/pretty-cli@1.2.22
- @tryghost/promise@0.1.13
- @tryghost/release-utils@0.7.1
- @tryghost/security@0.2.13
- @tryghost/session-service@0.1.28
- @tryghost/settings-path-manager@0.1.2
- @tryghost/vhost-middleware@1.0.19
- @tryghost/zip@1.1.18
2021-10-22 16:01:20 +04:00
Daniel Lockyer
81f566b44a
Added codecov.io coverage uploader to CI
...
refs linear.app/tryghost/issue/CORE-74/improve-the-test-situation
- this commit adds the codecov GitHub Action into CI so we can upload
coverage reports
- the coverage files need to be in XML for them to work with
codecov, so this commit also adds cobertura (XML) as a reporter
2021-10-20 11:56:20 +02:00
Renovate Bot
ebe62e27c1
Update dependency mocha to v9.1.3
2021-10-15 08:26:58 +00:00
Renovate Bot
dee321eebc
Update dependency c8 to v7.10.0
2021-10-06 23:39:01 +00:00
Daniel Lockyer
fd94548b1e
Published new versions
...
- @tryghost/adapter-manager@0.2.17
- @tryghost/bootstrap-socket@0.2.12
- @tryghost/constants@0.1.11
- @tryghost/errors@0.2.16
- @tryghost/image-transform@1.0.16
- @tryghost/job-manager@0.8.10
- @tryghost/limit-service@0.6.4
- @tryghost/moleculer-service-from-class@0.2.20
- @tryghost/mw-session-from-token@0.1.25
- @tryghost/package-json@1.0.5
- @tryghost/pretty-cli@1.2.21
- @tryghost/promise@0.1.12
- @tryghost/release-utils@0.7.0
- @tryghost/security@0.2.12
- @tryghost/session-service@0.1.27
- @tryghost/vhost-middleware@1.0.18
- @tryghost/zip@1.1.17
2021-10-01 16:57:18 +01:00
Daniel Lockyer
d1c58466b5
Updated repository links
...
no issue
- this repo changes from `master` to `main` a while back, but the
repository links needed updating too
2021-10-01 14:34:06 +01:00
Naz
8f4c4f66b5
Published new versions
...
- @tryghost/adapter-manager@0.2.16
- @tryghost/bootstrap-socket@0.2.11
- @tryghost/config-url-helpers@0.1.2
- @tryghost/constants@0.1.10
- @tryghost/errors@0.2.15
- @tryghost/image-transform@1.0.15
- @tryghost/job-manager@0.8.9
- @tryghost/limit-service@0.6.3
- @tryghost/moleculer-service-from-class@0.2.19
- @tryghost/mw-session-from-token@0.1.24
- @tryghost/package-json@1.0.4
- @tryghost/pretty-cli@1.2.20
- @tryghost/promise@0.1.11
- @tryghost/release-utils@0.6.17
- @tryghost/security@0.2.11
- @tryghost/session-service@0.1.26
- @tryghost/settings-path-manager@0.1.0
- @tryghost/tpl@0.1.5
- @tryghost/vhost-middleware@1.0.17
- @tryghost/zip@1.1.16
2021-09-30 19:23:46 +02:00
Renovate Bot
81bb6465fb
Update dependency mocha to v9.1.2
2021-09-27 01:04:25 +00:00
Renovate Bot
4a1da452e9
Update Test & linting packages
2021-09-22 14:29:23 +00:00
Naz
b428648665
Published new versions
...
- @tryghost/adapter-manager@0.2.15
- @tryghost/bootstrap-socket@0.2.10
- @tryghost/config-url-helpers@0.1.1
- @tryghost/constants@0.1.9
- @tryghost/errors@0.2.14
- @tryghost/image-transform@1.0.14
- @tryghost/job-manager@0.8.8
- @tryghost/limit-service@0.6.2
- @tryghost/moleculer-service-from-class@0.2.18
- @tryghost/mw-session-from-token@0.1.23
- @tryghost/package-json@1.0.3
- @tryghost/pretty-cli@1.2.19
- @tryghost/promise@0.1.10
- @tryghost/release-utils@0.6.16
- @tryghost/security@0.2.10
- @tryghost/session-service@0.1.25
- @tryghost/tpl@0.1.4
- @tryghost/vhost-middleware@1.0.16
- @tryghost/zip@1.1.15
2021-09-22 11:59:35 +02:00
Renovate Bot
ff5ee78825
Update dependency c8 to v7.9.0
2021-09-10 04:03:35 +00:00
Renovate Bot
65760e061e
Update dependency sharp to ^0.29.0
2021-08-23 09:13:58 +02:00
Renovate Bot
2b7e2676eb
Update dependency c8 to v7.8.0
2021-07-28 17:56:14 +00:00
Daniel Lockyer
f918398779
Added c8 test coverage to all packages
...
refs https://github.com/TryGhost/Team/issues/870
- using `c8` allows us to see test coverage for all packages in the repo
- this commit adds `c8` as a dev dependency and prepends the `mocha`
command with `c8` so it runs on all tests
2021-07-14 11:26:06 +01:00
Sam Lord
320e689ad4
Published new versions
...
- @tryghost/adapter-manager@0.2.14
- @tryghost/config-url-helpers@0.0.1
- @tryghost/errors@0.2.13
- @tryghost/image-transform@1.0.13
- @tryghost/moleculer-service-from-class@0.2.17
- @tryghost/mw-session-from-token@0.1.22
- @tryghost/package-json@1.0.2
- @tryghost/session-service@0.1.24
- @tryghost/tpl@0.1.3
2021-06-17 10:50:39 +01:00
Hannah Wolfe
b06e2a4577
Published new versions
...
- @tryghost/adapter-manager@0.2.13
- @tryghost/bootstrap-socket@0.2.9
- @tryghost/constants@0.1.8
- @tryghost/errors@0.2.12
- @tryghost/image-transform@1.0.12
- @tryghost/job-manager@0.8.7
- @tryghost/limit-service@0.6.1
- @tryghost/moleculer-service-from-class@0.2.16
- @tryghost/mw-session-from-token@0.1.21
- @tryghost/package-json@0.1.2
- @tryghost/pretty-cli@1.2.18
- @tryghost/promise@0.1.9
- @tryghost/release-utils@0.6.15
- @tryghost/security@0.2.9
- @tryghost/session-service@0.1.23
- @tryghost/tpl@0.1.0
- @tryghost/vhost-middleware@1.0.15
- @tryghost/zip@1.1.14
2021-06-09 12:10:10 +01:00
Renovate Bot
c72d090c97
Update dependency mocha to v9
2021-06-09 09:58:44 +00:00
Renovate Bot
80b56b8976
Update dependency sinon to v11
2021-05-24 22:37:15 +00:00
Daniel Lockyer
098801de2c
Published new versions
...
- @tryghost/adapter-manager@0.2.12
- @tryghost/errors@0.2.11
- @tryghost/image-transform@1.0.11
- @tryghost/job-manager@0.8.4
- @tryghost/limit-service@0.4.2
- @tryghost/moleculer-service-from-class@0.2.15
- @tryghost/mw-session-from-token@0.1.19
- @tryghost/pretty-cli@1.2.17
- @tryghost/promise@0.1.8
- @tryghost/release-utils@0.6.14
- @tryghost/security@0.2.8
- @tryghost/session-service@0.1.20
- @tryghost/zip@1.1.12
2021-04-19 10:25:57 +01:00
Renovate Bot
3184ca584d
Pin dependencies
2021-04-16 12:28:10 +00:00
Daniel Lockyer
713cbd3cc4
Unpinned all dependencies
...
no issue
- this Utils repo contains libraries, whose dependencies should not be
pinned in order to reduce multiple versions of the same package
appearing for consumers
2021-04-16 13:06:54 +01:00
Renovate Bot
2d0ee67e9c
Update dependency sharp to v0.28.1
2021-04-15 14:14:46 +01:00