Ghost/ghost/minifier
Simon Backx 82a3133ace
Added replies/likes count and limited replies to comments (#15206)
refs https://github.com/TryGhost/Team/issues/1723

- Added count.replies to comments
- Added replies endpoint
- Limited returned replies to 3.
- Replaced likes_count with count.likes in comments
- Instead of fetching all the likes of a comment to determine the total count, we'll now use count.likes
- Instead of fetching all the likes of a comment to determine whether a member liked a comment, we'll now use count.liked (which returns the amount of likes of the current member, being 0 or 1). This is mapped to `liked` to make it more natural to work with.

The `members.test.snap` file changed because we no longer include `liked: false` if we didn't fetch the liked relation. And in the comments events of the activity feed the liked property is therefore removed.

These changes requires an update to the `bookshelf-include-count` plugin:
- Updated to also work for nested relations
- This moves the count queries from the `bookshelf-include-count` plugin to the `countRelations` method of each model.
- Updated to keep the counts after saving a model (crud.edit didn't return the counts before)
2022-08-10 16:12:35 +02:00
..
lib Implemented admin auth origin check (#15135) 2022-08-03 15:59:08 +02:00
test Implemented admin auth origin check (#15135) 2022-08-03 15:59:08 +02:00
.eslintrc.js Minifier initial version 2021-11-03 14:16:49 +00:00
index.js Minifier initial version 2021-11-03 14:16:49 +00:00
package.json Added replies/likes count and limited replies to comments (#15206) 2022-08-10 16:12:35 +02:00
README.md Tidied up package README and LICENSE files 2022-07-26 15:22:10 +02:00

Minifier

Usage

const Minifier = require('@tryghost/minifier');
const minifier = new Minifier({
    src: 'my/src/path',
    dest: 'my/dest/path'
});

minifier.minify({
    'some.css': '*.css',
    'then.js': '!(other).js'
});
  • Minfier constructor requires a src and a dest
  • minify() function takes an object with destination file as the key and source glob as the value
    • globs can be anything tiny-glob supports
    • destination files must end with .css or .js
    • src files will be minified according to their destination file extension