Commit Graph

767 Commits

Author SHA1 Message Date
Sam Lord
b6074c08f6 Empty change for version bump
no issue
2021-11-17 10:38:50 +00:00
Sam Lord
d931c9cf38 Published new versions
- @tryghost/mw-update-user-last-seen@0.1.0
2021-11-16 15:54:46 +00:00
Sam Lord
a92c61ab49 Add @tryghost/mw-update-user-last-seen
no issue
2021-11-16 15:48:52 +00:00
Naz
a5f304d9a7 Published new versions
- @tryghost/constants@1.0.0
2021-11-05 18:15:59 +04:00
Naz
1b15cd0f45 Added files url prefix
refs https://github.com/TryGhost/Toolbox/issues/114

- This new URL prefix is needed for generic files stored in Ghost
2021-11-05 18:14:36 +04: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
Renovate Bot
5872147193 Update dependency @sinonjs/fake-timers to v8.1.0 2021-11-03 14:32:11 +00:00
Hannah Wolfe
e7f02da203 Published new versions
- @tryghost/minifier@0.1.0
2021-11-03 14:30:54 +00:00
Hannah Wolfe
5132b89aee Updated yarn test c8 command
- Since I started this package, our default command has changed to include cobertura reports for codecov
2021-11-03 14:27:39 +00:00
Hannah Wolfe
2a5d7f225c Reworked minifier to have 100% coverage
- As a library, minifier should be subject to 100% coverage
- minor change to the code combining globbing and file reading into a single function for error handling any case where the files can't be found or read
   - we could do more fine grained errors here, but that seems unnecessary given that the usecase is internal, not for user files at the moment
- added error case tests to capture all the uncovered lines
2021-11-03 14:25:02 +00:00
Hannah Wolfe
19383f27f7 Switched uglify for terser + bugfixes
- Uglify was really slow and clunky, so replaced with terser which is fast and simple
- Ensured test cleanup works properly so we can be sure about the state of files during tests
- Changed the output from being the absolute path to just the "dest" value, as that is much more useful as absolute paths include local machine path names
- Fixed async/await issue that got the whole thing working 100%
2021-11-03 14:19:17 +00:00
Hannah Wolfe
03b1e9c3bd Minifier initial version
- wired up a basic minification package
- accepts config for css or js files and can concat and minify them into a single file for each type
- this will be used for generating merged css and js files for various cards, controlled by theme config
2021-11-03 14:16:49 +00:00
Daniel Lockyer
836a3f433b Published new versions
- @tryghost/update-check-service@0.2.5
2021-10-28 14:59:07 +01:00
Renovate Bot
6c6133c35b Update dependency @tryghost/logging to v1 2021-10-28 14:58:35 +01:00
Naz
27cc7a06cb Published new versions
- @tryghost/limit-service@1.0.0
2021-10-26 15:52:50 +04:00
Naz
0b8d0feb87 Updated JSDocs for limit-service module
no issue
2021-10-26 15:51:15 +04:00
Naz
a61bf71a16 Added missing "should" imports
no issue
2021-10-26 15:50:43 +04:00
Naz
f6fbfe712a Added custom formatter to uploads limit
refs https://linear.app/tryghost/issue/CORE-121/create-a-video-storage-adapter

 - Provides readable bytes -> megabytes conversion for filesize limit
2021-10-26 15:49:59 +04:00
Naz
4172f993d4 Added custom formatter functionality to MaxLimit
refs https://linear.app/tryghost/issue/CORE-121/create-a-video-storage-adapter

 - Some variables (like file size) would be hard to comprehend with the default formatting. Instead allowed MaxLimit to be configured with a custom formatter
2021-10-26 15:49:26 +04:00
Naz
945e7ab520 Added "uploads" limit type
refs https://linear.app/tryghost/issue/CORE-121/create-a-video-storage-adapter

 - The limit is here to accomodate file size checks
 - An example configuration is in the README
2021-10-26 15:46:36 +04:00
Naz
91a2e54484 Added ability to pass in "currentCount" for limited resource
refs https://linear.app/tryghost/issue/CORE-121/create-a-video-storage-adapter

- When checking limits for a nondb-resource type (like file size) there is no way to "currentCountQuery", so the value has to be passed in directly into the limit to evaluate against configured "max" limit
2021-10-26 15:42:10 +04:00
Naz
9c695a363c Improved JSDocs in limit package
no issue

- There were a few errors and little inconsistencies that needed a cleanup
2021-10-26 11:23:42 +04:00
Naz
aef6c19933 Fixed uses ov currentCountQuery
no issue

- The currentCountQuery method takes in  no parameters!
2021-10-26 11:15:15 +04:00
Naz
d6d88d4f70 Improved JSDocs in limit package
no issue

- There were a few errors and little inconsistencies that needed a cleanup
2021-10-26 11:11:59 +04:00
Naz
3c6bb95234 Fixed typos 2021-10-26 10:52:09 +04:00
Naz
10e9c30b15 Added JSDoc with types to the Limit base constructor
no issue

- Improved type checking a little
2021-10-26 10:51:25 +04:00
Naz
bd4204dbc5 Fixed returned value type
no issue

- The return type was incorrectly declared thworing error during type checking
2021-10-26 10:48:27 +04:00
Naz
c8d840c211 Improved test coverage for limit-service module
no issue

- The aim is to achieve 100% unit test coverage for servies and small modules. This change covers few more bases brining limit-service's module coverage from 80% to 94%.
2021-10-25 18:18:04 +04: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
Naz
a986da8aa8 Added images and media prefixes
refs https://linear.app/tryghost/issue/CORE-121/create-a-video-storage-adapter

- These paths are a bit painful to discover in URL utils and don't really have to live there. They should be used instead of the onse in @tryghost/url-utils
- the STATIC_IMAGES_URL_PREFIX comes form ef9ab5bd9e/packages/url-utils/lib/index.js (L37)
- the STATIC_MEDIA_URL_PREFIX is a new concept introduced for experimental "video" file support
2021-10-22 15:59:10 +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
Daniel Lockyer
1ba35ed0e6 Published new versions
- @tryghost/maintenance@0.1.6
 - @tryghost/update-check-service@0.2.4
2021-10-18 09:50:32 +02:00
Renovate Bot
f71eec2a60 Update dependency mocha to v9.1.3 2021-10-18 09:47:21 +02:00
Renovate Bot
c6f4e725ff Update dependency @tryghost/logging to ^0.2.0 2021-10-18 09:47:09 +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
Naz
455f2c060f Published new versions
- @tryghost/maintenance@0.1.5
 - @tryghost/update-check-service@0.2.3
2021-10-06 22:32:15 +02:00
Naz
20fc1649f4 Fixed alert notifications being sent out to non-active users
refs https://linear.app/tryghost/issue/CORE-63/restrict-update-service-notifications-to-active-admins

- It only makes sense to notify active users about a notification of 'alert' or any other type really.
2021-10-06 22:31:06 +02:00
Renovate Bot
5ac4596a30 Update dependency date-fns to v2.25.0 2021-10-05 09:01:07 +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
e1887f2df4 Exposed getFinalChangelog helper
no issue

- this is needed so I can generate the release changelog for the Slack
  notifications in action-ghost-release
2021-10-01 16:53:40 +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
Daniel Lockyer
669ef01d1b Moved @tryghost/tpl to Framework repo
refs 3cc8da4a7c

- the package has been moved into the framework repo in the referenced
  commit, so the files can be deleted here
2021-10-01 14:28:07 +01:00
Naz
20aad599fd Published new versions
- @tryghost/settings-path-manager@0.1.1
2021-09-30 20:15:02 +02:00
Naz
98f4f90b19 Added getBackupFilePath to settings-path-manager module
refs https://linear.app/tryghost/issue/CORE-35/refactor-route-and-redirect-settings

- getBackupFilePath is yet another utility function tha's used often with Ghost config files like so:
- ca149f2c0e/core/server/services/redirects/settings.js (L147-L151)
- ca149f2c0e/core/server/services/route-settings/route-settings.js (L42-L45)
2021-09-30 20:14:21 +02: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
Naz
a2a2a7c7be Added settings-path-manager module
refs https://linear.app/tryghost/issue/CORE-35/refactor-route-and-redirect-settings

- The module is a tiny path resolver for settings used in Ghost. A first obvious place it's used is for routes.yaml settings files. With a little bit of tweaking it should also be adopted by redirects services
2021-09-30 19:22:09 +02:00
Hannah Wolfe
c886738bbc Added README.md and one extra test
- Try to make sure it's clear how to make interpolation work when working with handlebars helpers
2021-09-30 16:17:56 +01:00
Renovate Bot
b29f519857 Update dependency mocha to v9.1.2 2021-09-28 08:22:13 +00:00
Renovate Bot
c9b4504bab Update dependency @sinonjs/fake-timers to v8.0.1 2021-09-27 14:36:36 +00:00
Renovate Bot
81bb6465fb Update dependency mocha to v9.1.2 2021-09-27 01:04:25 +00:00
Sam Lord
3b0a94cadb Published new versions
- @tryghost/maintenance@0.1.4
 - @tryghost/update-check-service@0.2.2
2021-09-22 15:38:26 +01:00
Sam Lord
ea88c86ccb Switched Ignition for @tryghost/debug & unpinned deps
no issue

Unpinning dependencies to ensure deps stay up to date when used in Ghost. Removed Ignition because deprecated in favour of using @tryghost/debug
2021-09-22 15:38:09 +01:00
Renovate Bot
4a1da452e9 Update Test & linting packages 2021-09-22 14:29:23 +00:00
Sam Lord
cce1c0fe67 Published new versions
- @tryghost/maintenance@0.1.3
 - @tryghost/update-check-service@0.2.1
2021-09-22 14:40:41 +01:00
Sam Lord
70f7dd500c Update @tryghost/logging in update-check-service
no issue

Prevents update check service from creating a separate logger. TODO: Ensure this is kept in sync with Ghost's version
2021-09-22 14:40:00 +01: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
Naz
ceb2b7e5ea Moved error messages to "messages" hash
refs https://linear.app/tryghost/issue/CORE-49/fix-errors-in-utils-repo-limit-service

- As I've touched these files did a little refactor and changed where the error messages are stored to keep it up with our lates coding standard - having "messages" hash defined in the module storing all messages that have pottential for i18y in the future.
2021-09-22 11:57:49 +02:00
Naz
ee43133dd9 Fixed error initialization syntax
refs https://linear.app/tryghost/issue/CORE-9/remove-eslint-warnings

- Used an incorrect string parameter constructor for ghost errors previously. The errors should be initialized with an object containing a "message" property
2021-09-22 11:51:37 +02:00
Naz
4b70c7e0c0 Removed use of native JS Error objects
closes https://linear.app/tryghost/issue/CORE-55/fix-errors-in-utils-repo-job-manager

- The latest ESLint rules forbid use of native JS errors, updated the codebase before bumping the ESLint version
2021-09-22 11:50:21 +02:00
Naz
be6c8ea390 Removed use of native JS Error objects
closes https://linear.app/tryghost/issue/CORE-54/fix-errors-in-utils-repo-release-utils

- The latest ESLint rules forbid use of native JS errors, updated the codebase before bumping the ESLint version
2021-09-22 11:49:02 +02:00
Naz
2b82d2afce Removed use of native JS Error objects
refs https://linear.app/tryghost/issue/CORE-49/fix-errors-in-utils-repo-limit-service

- The latest ESLint rules forbid use of native JS errors, updated the codebase before bumping the ESLint version
2021-09-22 11:32:02 +02:00
Renovate Bot
a28a2a23a5 Update dependency date-fns to v2.24.0 2021-09-17 07:39:17 +00:00
Renovate Bot
ced3a5251c Update dependency @sinonjs/fake-timers to v8 2021-09-15 11:49:45 +00:00
Renovate Bot
ff5ee78825 Update dependency c8 to v7.9.0 2021-09-10 04:03:35 +00:00
Renovate Bot
9725d5b3c0 Update dependency mocha to v9.1.1 2021-08-31 07:48:45 +00:00
Renovate Bot
65760e061e Update dependency sharp to ^0.29.0 2021-08-23 09:13:58 +02:00
Renovate Bot
d08cf7a8d4 Update dependency mocha to v9.1.0 2021-08-23 03:00:02 +00:00
Renovate Bot
daab0d1f5d Update dependency supertest to v6.1.6 2021-08-17 22:28:32 +00:00
Renovate Bot
92a531cb9c Update dependency supertest to v6.1.5 2021-08-11 17:38:29 +00:00
Renovate Bot
2b7e2676eb Update dependency c8 to v7.8.0 2021-07-28 17:56:14 +00:00
Renovate Bot
c14ae3052e Update dependency sinon to v11.1.2 2021-07-28 14:22:50 +00:00
Renovate Bot
4b976d3e0c Update dependency mocha to v9.0.3 2021-07-27 04:02:33 +00:00
Renovate Bot
798f7d1421 Update dependency date-fns to v2.23.0 2021-07-23 07:26:46 +00:00
Renovate Bot
0ad9fcf8dd Update dependency supertest to v6.1.4 2021-07-21 05:00:25 +00:00
Daniel Lockyer
1d6b8c1875 Stopped type declaration files from being generated
refs https://github.com/TryGhost/Team/issues/870

- currently, a handful of packages in this repo generate type
  declarations when building
- we're aiming to go more in the direction of better inline jsdoc, and
  we want to clean up all generated files and use of external types
- this commit removes the `typescript` dependency, removes the pretest
  commands that run the builds, and cleans up anywhere where we
  configure types
2021-07-14 11:51:14 +01: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
Renovate Bot
9979768591 Update dependency @types/mocha to v8.2.3 2021-07-07 01:36:51 +00:00
Renovate Bot
950689fb35 Update dependency @types/express to v4.17.13 2021-07-06 21:26:50 +00:00
Renovate Bot
13a8b5386c Update Test & linting packages 2021-07-06 04:14:03 +00:00
Naz
c06fe94469 Published new versions
- @tryghost/maintenance@0.1.2
 - @tryghost/update-check-service@0.2.0
2021-07-02 18:56:12 +04:00
Naz
664b933bc8 Removed logging dependency from update check constructor
refs https://github.com/TryGhost/Team/issues/727

- The latest code standards require using @tryghost/logging module instead of injecting it as a parameter in the construcotr
- Left it as an optional constructor parameter to make testing easier
2021-07-02 18:54:50 +04:00
Naz
98a64ed0f8 Removed i18n dependency from update check constructor
refs https://github.com/TryGhost/Team/issues/727

- The latest code standards require using tpl module in combination with local messages object instead of i18n  injected in the constructor
2021-07-02 18:48:12 +04:00
Renovate Bot
b56dc030ea Update dependency typescript to v4.3.5 2021-07-01 01:11:31 +00:00
Naz
7ea81dc50d Fixed uk -> us English wording 2021-06-24 17:44:09 +04:00
Renovate Bot
e77e20e6eb Update dependency mocha to v9 2021-06-23 17:01:28 +00:00
Naz
bc3ea7e12e Skipped notificaiton processing when no valid data
refs https://github.com/TryGhost/Team/issues/754

- When there are no message objects coming from the external update check service in the response there is no need to continue to process the data and fire off unneeded queries
2021-06-23 19:14:47 +04:00
Naz
65d863d74b Added debug calls
refs https://github.com/TryGhost/Team/issues/754

- These debug messages are useful to see what kind of data came in and was processed by the update check
2021-06-23 19:13:11 +04:00
Naz
b0af1f9ddb Switched configurations to use main instead of master
no issue

- The repo was migrated to main branch as "main" and needed update in configs
2021-06-23 19:04:16 +04:00
Naz
9e5fe475c8 Improved code safety in update check's check method
refs https://github.com/TryGhost/Team/issues/754

- The api call can also generate an error which would bubble up to a client. This is not a good design if the client has to know to handle internal errors of the module
- By having try block wrap around whole block it makes the error handling behave the same way throughout the check process
2021-06-23 18:57:45 +04:00
Renovate Bot
895c93ad46 Update dependency typescript to v4.3.4 2021-06-17 18:53:56 +00:00
Renovate Bot
ec7805b7f0 Pin dependency c8 to 7.7.3 2021-06-17 13:57:17 +00:00
Hannah Wolfe
d259fcc4c6 Published new versions
- @tryghost/config-url-helpers@0.1.0
2021-06-17 14:55:21 +01:00
Hannah Wolfe
5b43d82742 Improved types in config-url-helpers 2021-06-17 13:53:09 +01:00
Hannah Wolfe
eb829a050b Prepared config-url-helpers for their intended use
- added getSubdir, getSiteUrl and getAdminUrl methods from url-utils
- refactored them so they are designed to be bound by nconf
- exposed a bindAll method
- moved over the tests and refactor from a class instance to nconf bindings
2021-06-17 11:41:50 +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
Sam Lord
095d64b449 Switch to ES6 classes for errors, use @tryghost/ignition errors
no issue

Replaces the usage of ghost-ignition with @tryghost/ignition-errors,
and switched to using the more modern ES6 class syntax over the
`.call(this, ...)` syntax used previously in both Ignition and here.
2021-06-17 10:26:19 +01:00
Renovate Bot
e8f7a4c158 Update dependency typescript to v4.3.3 2021-06-16 23:47:07 +00:00
Hannah Wolfe
3927c9002c Fixed merge error for deduplicate subdirectory
- tried to move history and fucked up git filter-repo :(
2021-06-16 20:22:06 +01:00
Hannah Wolfe
f98bcf150c Merged deduplicate subdirectory util from SDK/url-utils 2021-06-16 17:55:14 +01:00
Hannah Wolfe
0d965276a1 Added new config-url-helpers package
- This will contain a small number of helpers for getting correctly formatted urls from config
2021-06-16 17:54:30 +01:00
Renovate Bot
ede081837b Update dependency c8 to v7.7.3 2021-06-15 13:11:52 +00:00
Daniel Lockyer
939d4d9591 Published new versions
- @tryghost/package-json@1.0.1
 - @tryghost/tpl@0.1.2
2021-06-15 14:10:54 +01:00
Renovate Bot
8bed51c7aa Pin dependency c8 to v7.7.2 2021-06-15 10:05:23 +00:00
Daniel Lockyer
e14beeb7d2 Moved c8 to devDependencies
no issue

- `c8` is only used to check coverage in testing and we don't directly
  use it from within `tpl`, so this can be moved to `devDependencies`
2021-06-15 11:04:14 +01:00
Renovate Bot
f248f0d347 Update dependency c8 to v7.7.3 2021-06-14 00:31:49 +00:00
Hannah Wolfe
9eed5d69ef Published new versions
- @tryghost/package-json@1.0.0
 - @tryghost/tpl@0.1.1
2021-06-09 15:50:58 +01:00
Hannah Wolfe
1daa6eda61 Improved typing in package-json
- fixed type warnings
- introduced explicit use of bluebird to help with type warnings and also make it clear when we're actually using Bluebird features
2021-06-09 15:44:04 +01:00
Hannah Wolfe
93e4577caf Removed class pattern
- removed the class pattern in the simplest possible way
- have package-json expose only the public methods
- move parse to an independent, not public file so that we can test it independently still
2021-06-09 14:39:41 +01:00
Hannah Wolfe
dd129e0920 Removed use of i18n in package-json
- We are going to get rid of the internal i18n tool because it doesn't solve a real use case
- Instead, we have a new tpl utility that does basic string interpolation
- This makes this module less complex as it no longer requires dependency injection to work
2021-06-09 14:10:04 +01:00
Hannah Wolfe
224c6996f1 Added new tests & missing return type to tpl
- Ensuring that various strings from en.json will work
- Added missing return type
2021-06-09 12:25:45 +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
Hannah Wolfe
1a0436b540 Added ts-ignore for lodash interpolate
- ts complains the value may be undefined but in reality it never is
- plus we don't care about this error in this context as the test is checking that the value is set to its default
2021-06-09 12:00:07 +01:00
Hannah Wolfe
f2b1d37cd4 Renamed package-json tests to use .test.js pattern
- all our modules use .test.js instead of the _spec.js pattern we use in Ghost
- updated for consistency
2021-06-09 11:57:52 +01:00
Hannah Wolfe
202e0a0bb6 Added coverage reporting for tpl package
- this is 100% already
2021-06-09 11:57:52 +01:00
Renovate Bot
c72d090c97 Update dependency mocha to v9 2021-06-09 09:58:44 +00:00
Hannah Wolfe
6d3a629690 Added minimal tpl() template helper
- This mini helper wraps lodash template and supports `{...}` as the delimiters
- It's designed to use and support the exact same patterns we already have in our en.json strings
E.g. The {flagName} flag must be enabled in labs if you wish to use the \\{\\{{helperName}\\}\\} helper.
- This allows us to get rid of our old, broken i18n helper and still keep some of the smart messaging we have setup
- It also keeps the refactor surface area minimal
2021-06-09 10:04:49 +01:00
naz
d45ef018fe Added UpateCheckService usage example 2021-06-03 21:41:38 +12:00
Naz
74a949e38c Published new versions
- @tryghost/maintenance@0.1.1
 - @tryghost/update-check-service@0.1.0
2021-06-03 13:11:58 +04:00
Naz
aced29681f Updated package entry points
refs https://github.com/TryGhost/Team/issues/728

- The package does not have an index.js file!
2021-06-03 13:05:54 +04:00
Naz
2cd6cd9140 Documented notifications api parameter
refs https://github.com/TryGhost/Team/issues/728

- This was missing from the JSDoc
2021-06-03 13:04:47 +04:00
Naz
ba3c351aad Added missing module dependencies for update-check-service
refs TryGhost/Team#728

- These are dependancies that have to come with the update check service
- Used exact same versions of Bluebird/moment/lodash as in current
TryGhost/Ghost main
2021-06-02 18:25:15 +04:00
Naz
fd4e0a44c4 Fixed tests
refs TryGhost/Team#728

- After history migration the tests were referencing modules using
previous folder structure
2021-06-02 18:22:54 +04:00
Naz
cb2c40d2cb Merged update-check-service files and histry from TryGhost/Ghost 2021-06-02 18:19:30 +04:00
Naz
494880778d Added update check service initial commit
refs https://github.com/TryGhost/Team/issues/728
2021-06-02 18:17:56 +04:00
Naz
7121efb010 Removed GhostMailer parameter from UpdateCheckService
refs https://github.com/TryGhost/Team/issues/728

- This is continuation of the previous commit. TLDR: Passing only the necessary parameter data makes it easier to reason about what dependencies the UpdateCheckService has to deal with
- Instead of passing in a whole GhostMailer instance passing only an email sending function, which again - makes things way more manageable to reason about
- The end of refactor, next will be a move of the UpdateCheckService into a separate module in tryghost/core
2021-06-02 15:18:32 +04:00
Naz
a4e5436df7 Removed ghostVersion parameter from UpdateCheckService
refs https://github.com/TryGhost/Team/issues/728

- This is continuation of the previous commit. TLDR: Passing only the necessary parameter data makes it easier to reason about what dependencies the UpdateCheckService has to deal with
- Burned ghostVersion module passing in vafor of just one additional config parameter. Now the module along with unit tests can be easily extracted out of the codebase!
2021-06-02 15:08:26 +04:00
Naz
796e2caaff Removed urlFor parameter from UpdateCheckService
refs https://github.com/TryGhost/Team/issues/728

- This is continuation of the previous commit. TLDR: Passing only the necessary API endpoint function makes it easier to reason about what dependencies the UpdateCheckService has to deal with
- Substituted a parameter with already existing 'siteUrl' config value. No need to duplicate work!
2021-06-02 14:37:29 +04:00
Naz
7ce5ab27c3 Limited the API surface of the UpdateCheckService
refs https://github.com/TryGhost/Team/issues/728

- This is continuation of the previous commit. TLDR: Passing only the necessary API endpoint function makes it easier to reason about what dependencies the UpdateCheckService has to deal with
- Limited urlUtils to only one function as that's all the UpdateCheck uses. Next step will be removing the function completely as and passing a 'blogURL' as a config value (way better readability this way)
2021-06-02 14:31:07 +04:00
Naz
94700863a4 Limited the API surface of the UpdateCheckService
refs https://github.com/TryGhost/Team/issues/728

- This is continuation of the previous commit. TLDR: Passing only the necessary API endpoint function makes it easier to reason about what dependencies the UpdateCheckService has to deal with
- There are 8 different configs that NotificationService depends upon it will need some further investigation around which ones are even needed anymore and the naming is not the best. To keep the time cap at bay leaving it at what it is.
2021-06-02 14:08:29 +04:00
Naz
361166dde0 Limited the API surface of the UpdateCheckService
refs https://github.com/TryGhost/Team/issues/728

- Passing only the necessary API endpoint function makes it easier to reason about what dependencies the UpdateCheckService has to deal with
- The instance initialization had to be moved insided the module's exports to resolve "models" module initialization failure
2021-06-02 14:08:29 +04:00
Renovate Bot
899e3fb0d8 Update dependency @types/sinon to v10.0.2 2021-06-02 08:02:37 +00:00
Naz
1fd689ba45 Renamed update check test suite
refs https://github.com/TryGhost/Team/issues/728

- Previous name was after the do-all-the-things mega module that have now become an "initializer" for the UpdateCheckService class. The unit tests are testing the latter, so the rename is a cleanup from the previous ways
2021-06-01 17:53:46 +04:00
Naz
df048ab2c2 Added update check notificaitons test coverage
refs https://github.com/TryGhost/Team/issues/728

- This is a continuation of the test coverage for the UpdateCheckService.
- Covers scpecial cases of notification processing within Update Check
- The refactor inside the update check service was a convenience to get rid or the Bluebird dependency completely. Also, some minor preventative code added to avoid errors from referencing undefined objects
2021-06-01 17:35:10 +04:00
Naz
60473d608d Updated UpdateCheckService methods to async/await
refs https://github.com/TryGhost/Team/issues/728

- In additions to easier tracking of "this" context in the unit tests it gets rid of unnecessary Bluebird's "reflect" method which was making unit test dependent on Bluebird's specific Promise implementation
2021-06-01 17:35:10 +04:00
Naz
fd58343d65 Extraced update check code into a separate service
refs https://github.com/TryGhost/Team/issues/728

- This is a first step before moving update check code into an outside codebase.
- The aim is to have a self-contained module which could be unit tested and have a very clear API
2021-06-01 17:35:10 +04:00
Renovate Bot
4fbd1ac31f Update dependency @sinonjs/fake-timers to v7.1.2 2021-05-28 15:50:34 +00:00
Renovate Bot
b47312607d Update dependency date-fns to v2.22.1 2021-05-28 12:23:22 +00:00
Renovate Bot
f35a07f4cb Update dependency date-fns to v2.22.0 2021-05-28 08:51:25 +00:00
Renovate Bot
2f926c740d Update dependency @sinonjs/fake-timers to v7.1.1 2021-05-27 11:58:34 +00:00
Renovate Bot
773991c1e6 Update dependency typescript to v4.3.2 2021-05-26 19:12:39 +00:00
Renovate Bot
24161773f3 Update dependency @types/sinon to v10.0.1 2021-05-25 20:31:28 +00:00
Renovate Bot
95e93b82b6 Update dependency @types/express to v4.17.12 2021-05-25 17:31:48 +00:00
Renovate Bot
80b56b8976 Update dependency sinon to v11 2021-05-24 22:37:15 +00:00
Renovate Bot
b71fe10342 Update dependency @sinonjs/fake-timers to v7.1.0 2021-05-21 13:51:02 +00:00
Naz
f2c1ee2263 Published new versions
- @tryghost/limit-service@0.6.0
2021-05-21 14:16:04 +04:00
Naz
ad0d1ab557 Fixed indescribable error in allowlist limit
https://github.com/TryGhost/Team/issues/663

-  When there is no parameter passed at all it was a generic 'Cannot read property 'value' of undefined' message which wasn't helpful in recognizing what the actual problem was
- Have added additional guarding logic to throw a descriptive error
2021-05-21 14:09:27 +04:00
Naz
f0a5fc975c Fixed error "swallowing"
no issue

- I've discovered the "IncorrectUsageError" error was silently swallowed and the method returned a false positibe when an allowlist limit type was called with incorrect parameters
- In cases like this it's best to surface the real error early otherwise the logic might produce unsafe results!
2021-05-21 14:02:35 +04:00
Naz
9632e98dd2 Added a convenience method checking if any limits are acceded
refs https://github.com/TryGhost/Team/issues/662

- There is a need to check if any of the current limits are over limit in Daisy. This method is the simplest possible implementation to check if any of them are over limit
- Possible future iterations might include a list of names of the limits that have been acceded and their error messages
- The `checkIfAnyOverLimit` method should be treated as a starter to work up the complexity as needed
2021-05-21 13:24:55 +04:00